AFAIK the RustiCL OpenCL driver does not enable hardware devices by default. For Intel, you need to set the RUSTICL_ENABLE variable this way: RUSTICL_ENABLE=iris
This command should then show activated OpenCL support:
RUSTICL_ENABLE=iris darktable-cltest
Or start darktable with enabled RustiCL:
RUSTICL_ENABLE=iris darktable -d opencl
However, I don’t know if the RustiCL driver supports your GPU. Intel also provides an intel-compute-runtime with OpenCL support. The package to install would be intel-opencl-icd.
You might have to tweak the darktable settings for supported OpenCL drivers to use this Intel driver. See the “OpenCL drivers” section of the manual. darktable user manual - processing
I don’t know what exactly goes wrong in the above log file.
As already mentioned, you might install the package intel-opencl-icd in your Ubuntu to get the OpenCL driver from the GPU vendor (Intel). In darktable, make sure to enable support for the “Intel GPU” OpenCL driver in the OpenCL settings (and disable RustiCL to avoid conflicts).
$ dpkg -l '*icd*'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-========================-=======================-============-=============================================================
un beignet-opencl-icd <none> <none> (no description available)
ii intel-opencl-icd 24.52.32224.13-0ubuntu3 amd64 Intel graphics compute runtime for OpenCL
ii intel-opencl-icd-legacy 24.35.30872.32-0ubuntu1 amd64 Intel graphics compute runtime for OpenCL -- legacy platforms
un mesa-opencl-icd <none> <none> (no description available)
un nvidia-vulkan-icd <none> <none> (no description available)
ii ocl-icd-libopencl1:amd64 2.3.2-1build1 amd64 Generic OpenCL ICD Loader
ii ocl-icd-libopencl1:i386 2.3.2-1build1 i386 Generic OpenCL ICD Loader
ii ocl-icd-opencl-dev:amd64 2.3.2-1build1 amd64 OpenCL development files
un opencl-icd <none> <none> (no description available)
un vulkan-icd <none> <none> (no description available)
It seems that darktable is unable to compile its kernels. Just in case it helps, these are the opencl packages I have installed in Arch:
$ pacman -Qs opencl
local/clinfo 3.0.23.01.25-1
Simple OpenCL application that enumerates all available platform and device properties
local/intel-compute-runtime 25.27.34303.5-1
Intel(R) Graphics Compute Runtime for oneAPI Level Zero and OpenCL(TM) Driver
local/intel-graphics-compiler 1:2.14.1-1
Intel Graphics Compiler for OpenCL
local/libclc 20.1.6-1
Library requirements of the OpenCL C programming language
local/ocl-icd 2.3.3-1
OpenCL ICD Bindings
local/opencl-mesa 1:25.1.7-1
Open-source OpenCL drivers
In particular, the compiler and libraries must be present in order to compile CL programs. This is the relevant output from $ RUSTICL_ENABLE=iris darktable-cltest:
[dt_opencl_device_init]
OpenCL Mesa platform `Mesa/X.org' --> `Mesa Intel'
DEVICE: 0: 'Mesa Intel(R) UHD Graphics 630 (CFL GT2)', NEW
CONF KEY: cldevice_v5_rusticlmesaintel
PLATFORM, VENDOR & ID: rusticl, Mesa:Mesa/X.org, ID=32902
CANONICAL NAME: rusticlmesaintel
DRIVER VERSION: 25.1.7-arch1.1
DEVICE VERSION: OpenCL 3.0
DEVICE_TYPE: GPU, unified mem
GLOBAL MEM SIZE: 31886 MB
MAX MEM ALLOC: 1024 MB
MAX IMAGE SIZE: 16384 x 16384
MAX WORK GROUP SIZE: 1024
MAX WORK ITEM DIMENSIONS: 3
MAX WORK ITEM SIZES: [ 1024 1024 1024 ]
ASYNC PIXELPIPE: NO
PINNED MEMORY TRANSFER: NO
AVOID ATOMICS: NO
MICRO NAP: 250
ROUNDUP WIDTH & HEIGHT 16x16
CHECK EVENT HANDLES: 128
TILING ADVANTAGE: 0.000
DEFAULT DEVICE: NO
KERNEL BUILD DIRECTORY: /usr/share/darktable/kernels
KERNEL DIRECTORY: /home/miguel/.cache/darktable/cached_v5_kernels_for_rusticlMesaIntel_2517arch11
CL COMPILER OPTION:
CL COMPILER COMMAND: -w -DINTEL=1 -I"/usr/share/darktable/kernels"
KERNEL LOADING TIME: 40.2047 sec
[opencl_init] OpenCL successfully initialized. internal numbers and names of available devices:
[opencl_init] 0 'rusticl Mesa Intel'