How to enable RusticCL with darktable 4.6? (opencl fails to init)

Using AMD 6650XT card on Arch KDE.

  • Uninstalled AMD-Opencl proprietary driver
  • Installed opencl-rusticl-mesa
  • Confirmed it’s working in About/OpenCL
  • Cleared the entire .config dir for DT
  • Enabled Rustic in DT and restarted
  • Upon starting DT it says “OpenCL initilization problem: no OpenCL devices found”

Update, upon running clinfo, I got this

NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, …) rusticl
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, …) No devices found in platform [rusticl?]
clCreateContext(NULL, …) [default] No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) No devices found in platform

So, indeed it didn’t find any devices. I find that strange and not sure what to do.

1 Like

Oh it works now!

Can you please explain me what that command does and why it didn’t work without it?

Also, is it permanent now?

I have just tested it again. After enabling Rusticl in the darktable settings I still get a black screen.

Is not in Mesa 23.2. We have to wait for a release where the above MR is included.

On my end DT is working fine, but I only get OpenCL support now if I start DT from console.

Not via KDE menu.

Perhaps read up on environment variables and how to add them permantently to your start-up scripts (it’s a general Linux topic, not dt specific)?

If you open a console, and then do export RUSTICL_ENABLE=radeonsi before starting dt, it will work.
Once you close that console, the export... is “lost” as it was only valid for the console in which you gave the command, and its children.

Or you can write a simple startup script, which you call from the KDE start menu. Something like:

export RUSTICL_ENABLE=radeonsi 
darktable

Depending on how you use darktable, you may want to make it a bit fancier using parameters.

1 Like
$ cat .config/environment.d/rusticl.conf 
RUSTICL_ENABLE=radeonsi
1 Like

I guess you have Mesa 23.3 already?

Creating environment.d/rusticl.conf file worked.

I wanted to make it globally available for all apps that might use OpenCL, not just DT.

I guess you have Mesa 23.3 already?

Yes Mesa 23.3.2

Please note that the rusticl driver is extremely alpha and I haven’t seen anyone have great results with it yet.

Do you mean it’s sluggish or causes crashes/instabilities?

I would continue to use amd-opencl one, but that alone caused many weird issues under KDE Wayland and DT (yes I know Wayland is not supported for DT).

For example, sometimes starting a DT froze the entire system. If I had YT in Firefox, I could hear the sound loop, over and over. The only way to deal with it was to hard-reset the PC.

So far so good for Rusticl.

Crashes/instability.

And black processed images.

Ugh, got that already.

Otherwise, not a single crash. But a black screen when Filmic is on is no game.

Well, so much for the rusticl, for now.

With Mesa 23.3 rusticl should work. I’ve talked to Karol and pointed her to all the issues I found with darktable. I will test once I have 23.3 on my system.

Hi, I have brand new RX6600 on Fedora 39 (latest stable Mesa, kernel 6.6.8) and DT works like a charm with rocm-opencl driver, even without amd-gpu drivers (https://www.amd.com/en/support/linux-drivers).

It does work, except that Filmic module produces 100% black screen on many files.

Which Mesa version do you have?

You asked me that yesterday. :smiley:

Then we need a raw and the corresponding xmp file which reproduces this.