Mac Porting, Does Anyone Know?

Hey. I’ve looked everywhere for a simple step-by-step explanation for how to get MyPaint on Mac.

Its clearly advertised that the program can be ported to a Mac platform and I really want to use this program with my Bamboo Tablet for my frame-by-frame animation projects. I totally support this fantastic program. (I’ve used it on PC for a while now.)

There are no real directions on how I can get the App on my Apple computers. So far I’ve gathered that you need to use developer runtimes like XCode or Wine somewhere in the process… but I’m not a developer, I’m just an artist, I don’t know anything about this stuff.

Has anyone successfully ported the program, and could they please explain how one would make it usable on Mac, as advertised?

Couple of other things I’m working with:

  • Operating System - OSX Version 10.9.5
  • MyPaint Version - 1.2.0
  • Description of the Problem - Just Need clear Instructions
  • Steps to reproduce it. N/A

Any info would be greatly appreciated.

Thanks, Danny Harrington.
AKA Scarecrowman
harrowedcreations.net

Take a look at this video. It may be a over a year old, but the instructions about the same with the exception of downloading the version for 10.9.5 which is El Capitan correct? Plus he goes over the basics on how to use it.

The packages for Mypaint on MacPorts is MyPaint-devel for unstable and MyPaint for stable version.

On a Side note we really need to update the install instructions for our Mac OSX to make it easier for people to install.

It’s Mavericks that I’m using, actually.

Thanks for the video tutorial.
Macports is a real hassle. Its too bad you guys don’t have any dedicated compiled versions yet. XCode isn’t as easy as it used to be to get a copy of. 4gb download and the app store gives a non-compatible build with my version of Mac, apparently. Didn’t realize I was that out of date.

Does no one have a successfully compiled version they’d be willing to share?

Really we could do with a Mac owner willing to make self-contained builds joining the team. The install instructions are only a half solution, but a necessary step. Patches that fix up our docs and make it easier for new porters are always very welcome.

Hi,

I’m New to the forum but was a member of the old forum and long time user of MyPaint.
I used to build MyPaint on windows for myself using tumagonx’s build environment and even shared a few builds :slightly_smiling:

I’m now spending a lot of time on OS X.
I’d love to try and help out with building but I think I would need some guidance to start out, I do have a bit of programming/compiling knowledge but very very basic.

I’m even struggling a bit with the macports version. On El Capitan, I couldn’t install mypaint because py27-protobuf failed until I manually installed curl. Then I couldn’t run MyPaint until I installed py27-pyobjc-cocoa.
Then I discovered that I couldn’t run MyPaint without first installing XQuartz. (makes sense but not mentioned anywhere).

Wanted to run without XQuartz, uninstalled everything and tried installing using +quartz -x11, but that didn’t work, seems like cairo needs both +quartz and +x11 for MyPaint to start. Reinstalled cairo.

Finally MyPaint running with no X11, pretty smooth and stable but:

  • no pressure sensitivity with my Intuos Pro Medium. Both Krita and Gimp don’t have this issue on the same Mac.

  • unable to undock panels, getting the following error:

    (mypaint:49212): Gtk-WARNING **: gtk_drag_set_icon_widget is not supported on Mac OS X

    (mypaint:49212): Gtk-WARNING **: Cannot load drag icon from icon name text-x-generic

    (mypaint:49212): Gtk-CRITICAL **: _cairo_surface_extents: assertion ‘surface != NULL’ failed

I don’t know if this is macports related, something I did wrong, or just current OS X MyPaint limitations. I really don’t want to use MyPaint using X11, sorry if it sounds picky, but it’s horrible :wink:
I know in the past there was an issue with pressure sensitivity on Mac but thought that the move to gtk3 was supposed to solve that.

To be honest, if I really want to do some serious work on the Mac, at the moment I’m resorting to using MyPaint on a Linux Mint VM. I can get MyPaint to run correctly on a Windows 10 VM as well. Getting full features on both including pressure sensitivity, and easy on linux to compile from source. But VM is not a great solution as well, obviously.

Would love to have MyPaint running natively and fully on the Mac

Thanks for your comment iondev. We really need to find someone who can help us figure this out. I’ve been struggling with roadblocks similar to yours. I’m not at all a MacPorts magician. I can’t even get a good copy of XCode. I emplore any knowledgable, experienced MacPorters for mypaint to help myself and iondev get the mac port of MyPaint rolling.

Is there a forum out there strictly for MacPort developers?

Scarecrow, you should be able to log in with an Apple ID to

and download older versions of XCode (as well as newer, beta releases) if you are having issues with the App store version.
Macports has a bug tracker, and MyPaint port is maintained by ryandesign, I don’t know how frequently he checks up on this forum as well?
Problem the way I see it is that MyPaint devs don’t use OS X themselves, and Macport devs only deal with packaging for OS X, so there is a bit of a no-man’s land in between?

I’d really like to know if tablet pressure is actually working now on OS X, for me it isn’t

I’d like to try and help out as much as much as my free time allows it, I just don’t have a lot of knowledge or experience with code, compiling, packaging etc.

Is this something that’s better to try discussing on github or IRC than the forum?

On the Macport’s contact page there is is a section up top with how to get a hold of some of the contributors.

Hello, I make unofficial OSX builds for Krita. (trust me; it’s an even bigger pain in the ass. 3 hours just installing Qt 5.6 alpha from source…building takes hours as well)
I managed to build MyPaint without MacPorts. My guide is up here.

It is mostly geared for Homebrew, but the package names are not package manager specific, so it’s easier to find what you need to build.

I don’t know if this requires XCode. Maybe some of the build or command line tools require it though like clang or the fact I even have Homebrew on my computer.

I think the pressure sensitivity doesn’t work because it’s GTK3 and not 2. I noticed that pressure sensitivity in Gimp works fine on OSX, and according to the build instructions, it depends on gtk as well. However, the minimum version required is 2.x something or other, and a quick peek at the dependencies that come with the Gimp OSX app bundle come with a dylib for GTK2. So it probably would work if MyPaint relied on GTK2, but not 3. I didn’t have much time to dig into the source code though, and I’m not familiar with GTK3. Is it so new that the tablet support in it is just not complete?

Would be nice to have a standalone bundle of this app though. I was thinking of maybe using py2app or something, but that would be something to do on my free time. Still have to figure out how this stuff all works and fits together.

That is awesome! Question, would you be willing to post it on this site as a separate post. That way if people have suggestions on how we can improve it you can update the post accordingly. Plus the post can be turn into a wiki that way other users can make edits and improve it as well. Once we have solid instructions on how to build MyPaint on OSX we can publish the instructions to MyPaint’s Github Repository as well.

BTW to answer you question, MyPaint depends on GTK/GDK 3 now.

Sure, I made the post already: https://community.mypaint.org/t/how-to-build-mypaint-on-mac-osx-without-macports/344

I’m aware MyPaint uses gtk3 now. I was just speculating if that’s the reason the pressure sensitivity doesn’t work. I’d like to know if any other mac users have it working.

We don’t use any OS-specific code to gather pressure events. That’s entirely the responsibility of the GDK backend for your OS and its display technology. GDK (and its backend) is a subcomponent of GTK. You can have a look through the backend’s code in the GTK+ git repository, but its mirror on GitHub is easier to search :smile:

I’m assuming you’re using the Quartz backend. Users have tried the X11 backend on OSX before without much success, if I recall rightly, but that might be GTK2-era knowledge.

If pressure is missing and you are using the Quartz backend, you need to get in touch with the GTK developers. The #gtk+ IRC channel tends to be pretty productive.

When it comes to testing, I tend to point people to my axischart tool in gist, but I these days you can use gtk3-demo to see if pressure and tilt is really supported outside my shoddy code!

Well, I did see some Github issue on MyPaint about the missing pressure sensitivity, and did suspect for awhile it had something to do with GTK3, seeing as I ran the input debugger in MyPaint, and my tablet is being recognized as a CorePointer, and not a Quartz pen. So I also just ran the GTK3 demo, and it confirms my suspicions–my tablet is being recognized as a core pointer, and not a quartz pen. It has no pressure sensitivity.
I’m unsure what role XQuartz or X11 plays in all this because I can run MyPaint without the XQuartz or X11 app running (which it does for Wine apps for example, but also not for Gimp). I did try running it from an XQuartz terminal, but it appears to make no difference. I suppose I should go to the GTK+ IRC channel then.
Sadly, I’m not that well versed with Objective C, and about the only thing I made was a Quicklook plugin for .ora files for Krita (which by the way, you’re free to use if anyone else manages to bundle MyPaint for Macs).
EDIT: A quick look at the bug tracker indicates that the support is not complete: Bug 695701 – Support tablet pressure on MacOSX, GTK3 redux
It looks a bit outdated though. Not sure what the current status on that is. Maybe I will just ask them anyways.