You are not logged in.
Pages: 1
Hi There,
A year ago i could rusticl get working with darktable.
A few weeks ago rusticl had been integrated into opencl-mesa. (if i am not wrong)
A few days ago, again, opencl stopped workig with darktable.
Can somebody help me with what the problem is ?
cheers !
Offline
A few weeks ago rusticl had been integrated into opencl-mesa. (if i am not wrong)
long ago mesa had one opencl implementation , clover .
When rusticl was started the name openl-mesa was taken by clover, so rusticl got another pkgname .
Recently clover was completely removed from mesa code and the opencl-mesa pkgname was free and now used for rusticl.
Darktable was updated to 2:5.2.1-2 on 2025-08-28 , is that the version you are using ?
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
I am using the version you mentioned.
I have to downgrade opencl-mesa to get it working again.
Offline
Please file a bug at https://gitlab.archlinux.org/archlinux/ … e/-/issues .
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
The world goes crazy.
Gitlab login wants me to install an app on my phone for proving my identitiy.
So i am technically not able to file that bug, im sorry.
Last edited by junakreiter (2025-09-01 06:19:40)
Offline
Gitlab login wants me to install an app on my phone for proving my identitiy
If you're in the UK use TOR browser to avoid the recent legislation in respect of "adult" websites. Reddit also requires verification in the UK now.
Jin, Jîyan, Azadî
Offline
No need for an app on a smartphone, the text is misleading.
Once you get login details from accountsupport@archlinux.org by email , all you need is something that supports OATH TOTP.
Several passwordmanagers do support that, there's a pam module for it etc.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
Thanks Lone_Wolf
Offline
My Son found a workaround for a darktable problem:
Open darktable like this:
OPENCL_VENDOR_PATH=/etc/OpenCL/vendors/rusticl.icd darktable
Stacktrace:
#0 0x0000000000000000 in ?? ()
[Current thread is 1 (Thread 0x7f81a5ffb6c0 (LWP 8027))]
(gdb) bt --full
No symbol "full" in current context.
(gdb) bt -full
#0 0x0000000000000000 in ??? ()
#1 0x00007f81c039f1df in _dt_sigsegv_handler (param=11) at /usr/src/debug/darktable/darktable-5.2.1/src/common/system_signal_handling.c:125
pid = <optimized out>
name_used = 0x7f81859d5730 "U\372\205}\206\177"
fout = <optimized out>
delete_file = <optimized out>
datadir = "/usr/share/darktable", '\000' <repeats 4075 times>
pid_arg = 0x7f81859e0f10 ""
comm_arg = 0x7f81859da380 ":\037\205}\206\177"
logenable = 0x7f81859dea50 "\316V\206}\206\177"
setlogfile = 0x7f81859dd9d0 "\r\r\205}\206\177"
#2 0x00007f81bfe3e540 in <signal handler called> () at /usr/lib/libc.so.6
#3 0x0000000000000000 in ??? ()
#4 0x00007f81a41dd471 in clGetPlatformInfo
(platform=<optimized out>, param_name=<optimized out>, param_value_size=1024, param_value=0x7f81859dea70, param_value_size_ret=0x0)
at /usr/src/debug/ocl-icd/ocl-icd-2.3.3/ocl_icd_loader_gen.c:2963
ret = <optimized out>
#5 0x00007f81c03844c7 in dt_opencl_init (cl=0x55627121bac0, exclude_opencl=<optimized out>, print_statistics=<optimized out>)
at /usr/src/debug/darktable/darktable-5.2.1/src/common/opencl.c:1225
platform = <optimized out>
n = 0
platforms = 0x7f81859dea70 ""
logerror = 0x0
opencl_requested = 0
all_platforms = 0x7f8184001f80
all_num_devices = 0x7f8184001920
platform_name = 0x7f8184000cd0 ""
platform_vendor = 0x7f81840010e0 ""
platform_key = 0x7f81840014f0 ""
library = <optimized out>
num_platforms = 2
err = 0
num_devices = <optimized out>
devices = <optimized out>
devs = <optimized out>
dev = <optimized out>
#6 0x00007f81c02ce6c9 in _detect_opencl_job_run (job=<optimized out>) at /usr/src/debug/darktable/darktable-5.2.1/src/common/darktable.c:693
#7 0x00007f81c03b4f56 in _control_job_execute (job=job@entry=0x55627121d3b0)
at /usr/src/debug/darktable/darktable-5.2.1/src/control/jobs.c:321
#8 0x00007f81c03b5658 in _control_run_job (control=0x5562710a8f80) at /usr/src/debug/darktable/darktable-5.2.1/src/control/jobs.c:336
job = 0x55627121d3b0
#9 _control_work (ptr=<optimized out>) at /usr/src/debug/darktable/darktable-5.2.1/src/control/jobs.c:566
params = <optimized out>
control = 0x5562710a8f80
name = "worker 2\000\000\000\000\000\000\000"
#10 0x00007f81bfe969cb in start_thread (arg=<optimized out>) at pthread_create.c:448
ret = <optimized out>
pd = <optimized out>
out = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140194812507840, -7776044639106066778, 140194812507840, 140735797256864, 11, 140735797257127, -7776044639097678170, -7776092894936918362}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#11 0x00007f81bff1aa0c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
(gdb) <Quit
Offline
That environment value is documented on https://man.archlinux.org/man/libOpenCL.7 .
Maybe it could be added to the gpgpu wiki page.
Please use code tags for log output to make things a lot more readable .(Edit your post to add the tags) .
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
I had the same problem. I switched to using ROCm from RustiCL in darktable (in preferences->processing->OpenCL drivers). This allowed OpenCL GPU acceleration to be activated.
Last edited by glenjo (2025-10-11 05:38:49)
Offline
Hi!
I investigated the crash on my dads pc and this is how I solved it.
local/ocl-icd 2.3.3-1
OpenCL ICD Bindings
local/opencl-mesa 1:25.2.4-1
Open-source OpenCL drivers
local/darktable 2:5.2.1-3
Utility to organize and develop raw images
--> CRASH
#0 0x00007fffe0827a14 in _count_devices (p=0x7fff819be720) at /usr/src/debug/ocl-icd/ocl-icd-2.3.3/ocl_icd_loader.c:360
error = <optimized out>
#1 _sort_platforms (picds=0x7fff819be720, npicds=2) at /usr/src/debug/ocl-icd/ocl-icd-2.3.3/ocl_icd_loader.c:411
i = <optimized out>
ocl_sort = <optimized out>
#2 0x00007fffe0828b49 in _find_and_check_platforms (num_icds=2) at /usr/src/debug/ocl-icd/ocl-icd-2.3.3/ocl_icd_loader.c:636
i = 2
#3 __initClIcd () at /usr/src/debug/ocl-icd/ocl-icd-2.3.3/ocl_icd_loader.c:917
num_icds = <optimized out>
is_dir = <optimized out>
dir = <optimized out>
dir_path = <optimized out>
vendor_path = <optimized out>
#4 _initClIcd_real () at /usr/src/debug/ocl-icd/ocl-icd-2.3.3/ocl_icd_loader.c:968
#5 0x00007fffe082ba3d in _initClIcd () at /usr/src/debug/ocl-icd/ocl-icd-2.3.3/ocl_icd_loader.c:997
#6 clGetPlatformIDs (num_entries=0, platforms=<optimized out>, num_platforms=<optimized out>) at /usr/src/debug/ocl-icd/ocl-icd-2.3.3/ocl_icd_loader.c:1162
i = <optimized out>
ret = <optimized out>
#7 0x00007ffff7984413 in dt_opencl_init (cl=0x555555d8b1e0, exclude_opencl=<optimized out>, print_statistics=<optimized out>) at /usr/src/debug/darktable/darktable-5.2.1/src/common/opencl.c:1190
logerror = 0x7fffe51c66d0 "Plattformerkennung fehlgeschlagen. Einige mögliche Gründe:\n - OpenCL ICD (ocl-icd) fehlt,\n - frühere OpenCL-Fehler, die zu blockierten Geräten führen,\n - Probleme mit der Energieverwaltung,\n "...
opencl_requested = 0
all_platforms = 0x7fff80004240
all_num_devices = 0x7fff800011a0
platform_name = 0x7fff80000d00 ""
platform_vendor = 0x7fff80003530 ""
platform_key = 0x7fff80003940 ""
library = 0x555555627dd0 ""
num_platforms = 0
err = <optimized out>
num_devices = <optimized out>
devices = <optimized out>
devs = <optimized out>
dev = <optimized out>
#8 0x00007ffff78ce6c9 in _detect_opencl_job_run (job=<optimized out>) at /usr/src/debug/darktable/darktable-5.2.1/src/common/darktable.c:693
#9 0x00007ffff79b4f56 in _control_job_execute (job=job@entry=0x555555d65b40) at /usr/src/debug/darktable/darktable-5.2.1/src/control/jobs.c:321
#10 0x00007ffff79b5658 in _control_run_job (control=0x555555d426b0) at /usr/src/debug/darktable/darktable-5.2.1/src/control/jobs.c:336
job = 0x555555d65b40
#11 _control_work (ptr=<optimized out>) at /usr/src/debug/darktable/darktable-5.2.1/src/control/jobs.c:566
params = <optimized out>
control = 0x555555d426b0
name = "worker 6\000\000\000\000\000\000\000"
#12 0x00007ffff74969cb in start_thread (arg=<optimized out>) at pthread_create.c:448
ret = <optimized out>
pd = <optimized out>
out = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140734585886400, -4078083536686932186, 140734585886400, 140737488328384, 11, 140737488328647, -4078083536695320794, -4078299947543290074}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#13 0x00007ffff751aa0c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
Updated PKGBUILD for ocl-icd to use the 2.3.4 tag which fixes some memory corruption in the _sort_platforms.
#0 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<true>
(this=this@entry=0x7fff89fdd840, __str=0x7fff89 <error: Cannot access memory at address 0x7fff89>, __n=0)
at /usr/include/c++/15.2.1/bits/basic_string.tcc:298
#1 0x00007fffe1783a48 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
(this=0x7fff89fdd840, __str="", this=<optimized out>, __str=<optimized out>) at /usr/include/c++/15.2.1/bits/basic_string.h:238
#2 spvtools::LinkerOptions::GetFnVarArchitecturesCsv[abi:cxx11]() const (this=0x7fff89fddfb3, this=<optimized out>)
at /usr/src/debug/spirv-tools/SPIRV-Tools/include/spirv-tools/linker.hpp:76
#3 spvtools::Link
(context=..., binaries=binaries@entry=0x7fff59ae82c0, binary_sizes=binary_sizes@entry=0x7fff59e267f0, num_binaries=<optimized out>, linked_binary=linked_binary@entry=0x7fff89fddfe0, options=...) at /usr/src/debug/spirv-tools/SPIRV-Tools/source/link/linker.cpp:858
#4 0x00007fffe1787b0f in spvtools::Link (context=..., binaries=<optimized out>, linked_binary=0x7fff89fddfe0, options=...)
at /usr/src/debug/spirv-tools/SPIRV-Tools/source/link/linker.cpp:820
#5 0x00007fff3c2f3270 in clc_link_spirv_binaries () at ../mesa-25.2.4/src/compiler/clc/clc_helpers.cpp:1337
#6 0x00007fff3c2f0456 in clc_link_spirv () at ../mesa-25.2.4/src/compiler/clc/clc.c:146
#7 0x00007fff3b9c989e in mesa_rust::compiler::clc::spirv::SPIRVBin::link (spirvs=..., library=false)
at ../mesa-25.2.4/src/gallium/frontends/rusticl/mesa/compiler/clc/spirv.rs:198
#8 0x00007fff3b8b526b in rusticl::core::program::Program::build (self=0x7fff5800bd70, devs=..., options=...)
at ../mesa-25.2.4/src/gallium/frontends/rusticl/core/program.rs:580
#9 0x00007fff3b8bf96c in rusticl::api::program::build_program
(program=0x7fff5800bdc0, num_devices=1, device_list=0x7fff599e5298, options=0x7fff599d6220, pfn_notify=..., user_data=0x0)
at ../mesa-25.2.4/src/gallium/frontends/rusticl/api/program.rs:340
#10 0x00007fff3b8bf624 in rusticl::api::program::clBuildProgram
(program=0x7fff5800bdc0, num_devices=1, device_list=0x7fff599e5298, options=0x7fff599d6220, pfn_notify=..., user_data=0x0)
at ../mesa-25.2.4/src/gallium/frontends/rusticl/api/program.rs:316
#11 0x00007fffe0821ebf in clBuildProgram
(program=<optimized out>, num_devices=<optimized out>, device_list=0x7fff599e5298, options=0x7fff599d6220 "-w -DAMD=1 -I\"/usr/share/darktable/kernels\"", pfn_notify=0x0, user_data=0x0) at /usr/src/debug/ocl-icd/ocl-icd-2.3.4/ocl_icd_loader_gen.c:3361
#12 0x00007ffff79835a2 in _opencl_build_program
(dev=<optimized out>, prog=<optimized out>, binname=<optimized out>, cachedir=<optimized out>, md5sum=0x7fff89fde9c0 "a1a41ed12103e82126d1800e8ffc0457", loaded_cached=0) at /usr/src/debug/darktable/darktable-5.2.1/src/common/opencl.c:2375
#13 _opencl_device_init (cl=cl@entry=0x555555d69930, dev=dev@entry=0, devices=devices@entry=0x7fff599e29c0, k=k@entry=0)
at /usr/src/debug/darktable/darktable-5.2.1/src/common/opencl.c:1057
#14 0x00007ffff798513e in dt_opencl_init (cl=<optimized out>, exclude_opencl=<optimized out>, print_statistics=<optimized out>)
at /usr/src/debug/darktable/darktable-5.2.1/src/common/opencl.c:1384
#15 0x00007ffff78ce6c9 in _detect_opencl_job_run (job=<optimized out>) at /usr/src/debug/darktable/darktable-5.2.1/src/common/darktable.c:693
#16 0x00007ffff79b4f56 in _control_job_execute (job=job@entry=0x555555a44c60)
at /usr/src/debug/darktable/darktable-5.2.1/src/control/jobs.c:321
#17 0x00007ffff79b5658 in _control_run_job (control=0x555555d41a00) at /usr/src/debug/darktable/darktable-5.2.1/src/control/jobs.c:336
#18 _control_work (ptr=<optimized out>) at /usr/src/debug/darktable/darktable-5.2.1/src/control/jobs.c:566
#19 0x00007ffff74969cb in start_thread (arg=<optimized out>) at pthread_create.c:448
#20 0x00007ffff751aa0c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
Try out mesa-git -> FIXED
TLDR:
- ocl-icd 2.3.4 was already released and fixes the startup problem. It has not arrived in the arch repos yet though.
- mesa-git fixes the second crash so it should fix itself in the next release cylce probably.
CHEERS, Max.
Offline
Pages: 1