For many years darktable would only run on x86 CPUs that also support at least SSE2. While that is nowadays almost everything looking like a PC it’s still limiting. Consequently Roman sat down and started work on dropping that hard requirement. While his work isn’t complete yet it’s definitely becoming useful. So with a little tweaking you can for example use the development versions on an ARM, like the Raspberry Pi. Together with a touchscreen that has the potential to make a fun little package.
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?
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.
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.