Building and optimizing for ARM

This is more of a curiosity than anything and I know that ARM builds of various apps are out there. Apple recently announced their foray into ARM based systems. MS has a handicapped Windows that can run on ARM. Perhaps, others are jumping on the bandwagon. Can we build apps that run as well as they do on current x86-64 systems? How much work would it take to get there for FLOSS? Discuss!

At least on the Linux side of things, it isn’t a general problem, as Linux has supported ARM for a long time. Application may have specific issues, but that is a per-application thing.

Flathub, for instance, already builds GIMP against ARM. Already supported there. For the darktable flatpak, ARM is disabled… not sure what the issue is there.

2 Likes

Speaking for RawTherapee: The main problem is vectorization. In RT there are algorithms which use auto-vectorization by the compiler (which should work on ARM as well), but also algorithms which use SSE2 code with a fallback to scalar code on non-SSE2 machines. The latter will most likely perform worse on ARM machines.

1 Like

Glad I found this topic. I ended up hijacking an Apple M1 thread to ask about this.

The latest info on the darktable website is here.

It is from 2016.

I have a pinebook pro (the $200 open source hardware netbook) that runs ARM 64 bit… it would be great as a travel laptop, except there isn’t a package to install darktable (and the color gamut sucks on the machine, but I would use it for basic stuff on the road.

Also, some people might see Rasberry Pi4’s as a 64 as another interesting solution.

Also, of all of those “small computer things” that work well for travel, like chromebooks running linux, or windows surface running linux, few of those run x86, and the “top” windows surface runs ARM64 now.

Once I get the pinebook stable (trying to get Arch stable). I’ll start playing with compiling a version for ARM64 (if anyone has any tips, please let me know)

I keep thinking there is a perhaps a old portion of the darktable github that has ARM (non M1) work… I can’t seem to find it. Can anyone point me in the right direction?

I think having this available might help adoption of the software. Other photo editing suites are going “more mobile” and have ARM support.

I believe darktable compiles fine on arm, I used it on rasbian a while back. It just the experience isn’t good because all the linux arm hardware is slow.

1 Like

Thanks for the reply.
I assume that, if your experience was not recent, it was on 32 bit rasbian. I might try doing it on the new 64 bit Rasbian (or ubuntu, as there seems to be more experience using that on the Rasberry pi 4)

Was there a guide you used, or was it just based on building it based on dependencies?

I didn’t build, it was already built on Debian. I’d imagine Ubuntu has the package as well, though probably not a recent version.

Work, all of sudden, got busy again, but, in some hotel room somewhere in the coming weeks, I’ll give this a shot and report back. Going to try to build on my pinebook pro that I got for short haul trips and playing with Arch linux–> would be nice to have basic darktable functionality on that (it is ARM64 based).

Not a huge update other than I was unable to compile darktable for the Pinebook (ARM)… I can post my errors (if I can find them), but I was surprised, after remembering this thread again, that there was zero activity…

I guess we are all in a x86 place for darktable for the near future. I did have a hope to keep my basic editing while traveling in darktable, and it would be great to be able to do that on a ARM based linux tablet.

I have since loaded linux on a intel based windows tablet. Small and does the job (slowly, of course… but for quick edits and culling it works.

Please post your error log. I think we build the flatpak for arm, perhaps you could try that

I’ll look for it, or just try the process again :slight_smile: It has been some time.

Do you have a link to info on the flatpak…? I know all flatpaks do not “just work” with ARM, and there are comments to list avilable flatpaks for ARM systems, but everything in my office right now is x86

The flatpak is here: Flathub—An app store and build service for Linux