This is a companion discussion topic for the original entry at https://www.darktable.org/2016/04/running-on-non-x86-platforms/
I would love for this to happen. There are a few programs that I use regularly that are targeted to the Raspberry, but that can also run on some of the other ARM platforms. For instance, there’s a binary package for the Vivaldi browser that’s compiled for the Pi, and distributed in a package for it, but that also runs just fine on my Odroid XU4 (2x memory, 2x speed compared to Pi). It is much more fluid on the Odroid than on the Pi.
I know that the Rawtherapee program is buildable on the Odroid and is also quite usable there. So, is there much difference between Rawtherapee and Darktable? If not, it seems that Darktable could target the new and improving set of ARM devices. The latest offering in the Odroid line (N2) has double the memory at 4GB.
Is this horse dead, or is there still a plan for ARM and Darktable?
2.6.2 builds as you can see here Build Log for Package darktable (Project graphics:darktable) - openSUSE Build Service
Thanks for the link. It turns out that the Odroid N2 is ARM v8 64 bit (which is same as the build target on Opensuse.org). So, I may be able to give this idea a twirl and see if it spins.
if you run opensuse you could just use our package
Very old topic, I know. But if anybody still interested out there, here is the simple message:
dt on aarch64 (outside the Apple sandbox) lives and runs. Even with the OpenCL support!
I currently use dt 4.4.2 on the Radxa Rock Pi 5B SBC. It is not blazing fast, of course, but still decently useable.
tux@rock5b ~> darktable -d perf -d opencl -d tiling --conf resourcelevel="large"
[dt_detect_cpu_features] Not implemented for this architecture.
[dt_detect_cpu_features] Please contribute a patch.
0.0001 [dt_init] SSE2 is unavailable, some functions will be noticeably slower.
[dt_detect_cpu_features] Not implemented for this architecture.
[dt_detect_cpu_features] Please contribute a patch.
0,0635 [dt_get_sysresource_level] switched to 2 as `large'
0,0635 total mem: 15967MB
0,0635 mipmap cache: 1995MB
0,0635 available mem: 10915MB
0,0635 singlebuff: 249MB
0,0635 OpenCL tune mem: WANTED
0,0635 OpenCL pinned: OFF
[opencl_init] opencl related configuration options:
[opencl_init] opencl: ON
[opencl_init] opencl_scheduling_profile: 'default'
[opencl_init] opencl_library: 'default path'
[opencl_init] opencl_device_priority: '*/!0,*/*/*/!0,*'
[opencl_init] opencl_mandatory_timeout: 400
0.0663 [dt_dlopencl_init] could not find default opencl runtime library 'libOpenCL'
0.0663 [dt_dlopencl_init] could not find default opencl runtime library 'libOpenCL.so'
[opencl_init] opencl library 'libOpenCL.so.1' found on your system and loaded
arm_release_ver: g13p0-01eac0, rk_so_ver: 3
[opencl_init] found 1 platform
[opencl_init] found 1 device
[dt_opencl_device_init]
DEVICE: 0: 'Mali-G610 r0p0'
PLATFORM NAME & VENDOR: ARM Platform, ARM
CANONICAL NAME: armplatformmalig610r0p0
DRIVER VERSION: 3.0
DEVICE VERSION: OpenCL 3.0 v1.g13p0-01eac0.a8b6f0c7e1f83c654c60d1775112dbe4
DEVICE_TYPE: GPU
GLOBAL MEM SIZE: 15960 MB
MAX MEM ALLOC: 15960 MB
MAX IMAGE SIZE: 65536 x 65536
MAX WORK GROUP SIZE: 1024
MAX WORK ITEM DIMENSIONS: 3
MAX WORK ITEM SIZES: [ 1024 1024 1024 ]
ASYNC PIXELPIPE: YES
PINNED MEMORY TRANSFER: NO
MEMORY TUNING: WANTED
FORCED HEADROOM: 400
AVOID ATOMICS: NO
MICRO NAP: 250
ROUNDUP WIDTH: 16
ROUNDUP HEIGHT: 16
CHECK EVENT HANDLES: 1024
PERFORMANCE: 4.130
TILING ADVANTAGE: 0.000
DEFAULT DEVICE: NO
KERNEL BUILD DIRECTORY: /opt/darktable/share/darktable/kernels
KERNEL DIRECTORY: /home/tux/.cache/darktable/cached_v1_kernels_for_ARMPlatformMaliG610r0p0_30
CL COMPILER OPTION:
KERNEL LOADING TIME: 0.0064 sec
[opencl_init] OpenCL successfully initialized. Internal numbers and names of available devices:
[opencl_init] 0 'ARM Platform Mali-G610 r0p0'
[opencl_init] FINALLY: opencl is AVAILABLE and ENABLED.
FYI, there’s also a Windows on ARM64 build (tested on Surface Pro X I think) available though MSYS2 for a while now.
Thx, but I don’t plan to run Windows on my SBC. Maybe someone else will find it interesting.
But the important thing is that dt already runs fine on aarch64/ARM64. Thx to all who contributed!