I’m curious (and a little concerned) about the future of Darktable on Apple Silicon. Any thoughts from the developers if it can practically be ported or is it a dead end?
Other than the potential performance impacts of losing the SSE optimizations (especially if Apple’s OpenCL driver is not up to snuff), the ARM migration is basically a recompile.
I’d expect darktable (and most other open source applications) to be some of the first things to go fully native. Endian cleanliness and 64-bit cleanliness were solved more than a decade ago by any competent software development organization, with opensource ones leading the charge if anything with respect to cross-platform software and portability.
The biggest possible issue would be if one of the people who maintains MacOS builds doesn’t get new hardware to test on and thus can’t test native-ARM MacOS builds themselves until someone else steps forward to help.
darktable already compiles on arm, you can run it on the raspberry pi and pinebook right now, though those chips are not powerful enough to provide a good experience.
The bigger question is how bad apple is going to nerf non-native stuff.
Maybe @HIRAM or @MStraeten have some insights.
There is one guy (Parafin) who single-handledly maintains Mac OS builds. It feels like he is getting more and more annoyed by Apple periodical backstabbing (no more OpenCL, use Metal. No more x86, use ARM. Etc.).
There is no plan to actively drive a migration. People are just tired of Mac OS discrepancies. If a Clang compilation can handle the cross-plateform oddities, well ok. If not, don’t expect miracles : motivation runs low.
Plus, darktable heavily relies on the Gtk stack, and its interactions with MacOS are already conflictual (font sizes, display color profiles, and that kind of thing).
These are the kinds of issues I am concerned about. I hope we are not orphaned…
As long as you don’t have a new Mac with the T1 chip, it is likely you can run Linux on, or even windows.
Even windows is a better platform for FOSS than macOS now, as they don’t seek to actively handicap what software you can run.
I cannot believe what Parafin puts up with! I did some development on Mac back in the early PPC → Intel transition days and it was bad enough back then. One really needed to specialize on being specific to their platform even then. You (almost) couldn’t pay me enough to go back to working on a Mac these days. I used to be quite the fan of the hardware and the older versions of OS X were very nice compared to what was out at the time. Things have changed a lot in fifteen years however.
Building Darktable on a Mac is quite an involved process compared to Linux from my experience. Open hostility towards open source and libre software development or distribution on their platform isn’t helping motivation I’m sure. I empathize with Parafin’s plight in that regard!
It seems that, in general, the bigger issue with the M1 is not ARM - it’s “Yet another MacOS version that breaks existing applications.”
I did not take take that into account in my comment regarding x86->ARM - M1 is tied to Big Sur, and on a routine basis, MacOS updates have had serious backwards-compatibility-breaking issues that have been a nightmare for FOSS development teams.
So ARM - no big deal
Big Sur - knowing history, potentially enough to make some existing volunteers NOPE out.
Am reading of unbelievable reviews for M1. A friend recently got the new MBA, and he can’t stop raving about it. This combination of performance, size, weight, screen, battery life is just revolutionary.
Don’t forget that darktable is not a stand-alone app. There is no “just porting dt to Big Sur”, there is a whole ecosystem of FLOSS libs (Gtk, Lensfun, LittleCMS2, Exiv2, Gphoto2, OpenMP, etc. etc. etc.) that also need to run on MacOS before we can even consider fixing darktable if needed.
Counterpoints to getting the M1 right now (which may help you wait a bit longer, if you do indeed go for it):
-
It’s first gen Apple hardware. First gen products from Apple are nearly always replaced with limited support later on compared to following generations of the product. (That said, they seem to have done a good job this time around.) I’ve been burned by this before in the past, by first big revisions of MBPs and also the iPad 1.
-
Battery life doesn’t really matter for the next year or so. With rare exceptions, nobody should be traveling (even short distances to coffee shops) in this pandemic. And the pandemic will most likely last for much of 2021 (if not a bit longer). Hopefully people buy hardware with the expectation to use it for several years, certainly, but the fact that we’re all at home next to plugs nearly 24/7 means that it’s currently easier to wait to buy things with better battery life than what we currently have.
-
Linux isn’t directly installable on an M1 in a meaningful way yet. As of Apple’s latest release, they now allow for booting alternative kernels and people have first-pass Linux ports already. However, these ports are far from useful and this will be the case for some time (unless you want command line only, with limited hardware support). If you want good graphics, battery life, wifi, etc. — you’ll have to wait. Of course, Linux (aarch64) works fine in a VM, but it’s not the same as running natively on the hardware. (Native hardweare support is a important point for some, but not for everyone. However, buying a Mac for 2× the price of a similar non-Mac just to run Linux is a bit weird. Dual booting makes sense, when it works… and it won’t really work well for some time.)
-
Other software (generally pro apps, including the proprietary ones from Adobe) also have problems. Sometimes they don’t even work in the x86 translation mode (Rosetta 2).
-
Intel Macs have been known for being slow and have lagged behind with speed improvements over the past several years. I’m fairly certain part of the speed bump of the ARM-based Macs is almost certainly due to them being compared to their older Intel counterparts. (I’m sure the M1s are certainly still fast and great, regardless.)
-
If you have a computer that runs darktable (and everything else) fine enough now, why not keep using it?
In other words: It’s neat hardware, but most people will probably want to hold off from the M1 for a while, unless they’re 100% in the Apple world.
I’m not telling anyone what to do or what not to do, but it’s worth considering the above and holding off (at least for a bit longer) if anything on the list resonates with you.
This is definitely a wait and see kind of thing unlike the Intel transition. The SiP RAM maxes out at 16GB, which isn’t good for those who want more. Unless you buy a Mac every year or your old computer just croaked, it isn’t the right time to get a new one.
Definitely all true. I’m not looking for a new Mac today as my iMac is just fine, but eventually it is something that will happen and I was just wanting to get some confidence that Darktable would not abandon the platform or become unusable. It seems since the reception of the new M1 has been so strong, I probably do not need to worry.
So true …
Sorry I am resurrecting this, but I was in a thread on Non M1 ARM compilations, and couln’t get it to compile… have you succesfully compiled/run darktable on ARM? If so, could you point me to a guide: I would love to run it on my pinebook pro!