Darktable + OpenCl +Linux Mint (Notes+Success)

I have been a windows user at home for years, but use linux for work.
I decided this last week to buy a mini PC, and put linux on it for my new daily driver.
(For the curious, it was about 360$, BOSGAME P3 Mini Gaming PC AMD Ryzen 7 7840HS | 32GB DDR5 RAM | 1TB PCIe 4.0 NVMe SSD | Dual Gigabit Ethernet)
It uses an integrated amd 780m GPU.

– I immediately installed Linux Mint (22.2 Cinnamon)
– No special settings, basic install. (Next, next, next…and so on.) Modern linux is so different…

Started up Darktable, and went to settings → processing.
OpenCL is grayed out, and not possible to enable.

After much googling:

  1. I downloaded the darktable .deb from here and installed via the gui package manager. (I think this will enable automatic updates in the future)

Via Software Manger:
2) Rocm-device-libs-17
3) Mesa-opencl-icd
4) Clinfo (testing purposes. not needed to actually run)

Maybe reboot after these? I did.

It still did not work.
Turns out, you have to hold its hand throughout the launch also.
So…
5) Edit /usr/share/darktable/darktablerc
(Here is the weird part – I am 99% sure I edited this, but now it is not set?)
clplatform_rusticl=false → Change this to true. When I look back, its false again. But nothing worked until I switched this. Very confused.
Also I edited:
opencl=true

And lastly, you must set an environment variable to start the application:
From inside the terminal,
export RUSTICL_ENABLE=radeonsi && darktable

This should allow you to go into Darktable Settings → Processing → Enable OpenCL and select the “RustiCL” OpenCL option.

If this works (hah), then add the “export” to your bash profile so that it kicks in automatically:
nano ~/.bashrc
Scroll to the very bottom, and enter:
export RUSTICL_ENABLE=radeonsi
(Ctrl-O saves your work)
Next, apply to your session:
source ~/.bashrc

(I also logged out/in)

Now, I can launch darktable from the commandline by just typing “darktable”, and the OpenCL settings are available and in use.

I am not sure how to get the Application Launcher (start menu?) Darktable shortcut to also use the environmental variable - starting darktable via the application launcher will not be OpenCL enabled.

1 Like

If you “grab the binary package” and installed it, I think you will not get updates. You need to “Add repository and install manually”

Follow that link and install the repository. You don’t have to redo the install darktable.

I use Mint MATE; I don’t know Cinnamon. I would guess that you can edit a menu entry in much the same way. The entry probably says

darktable

I think

RUSTICL_ENABLE=radeonsi darktable

should do it.

@Jake
Last year I installed Darktable after some trouble

You get updates from install | darktable
I’ve done some tests and the AppImage of DT works, but the option to use the whole GPU ram is grayed out.

The flatpak instead, grayes out all OpenCL optimizations, that’s clearly a no-go.
Only the deb package allows me to take advantage of OpenCL and to use the whole GPU ram.

I suggest you to use the AppImage version, because that version works out of the box, the only thing missing is you can’t use your GPU’s ram.

if you have a AMD card installed and you prefer the deb package instead, install following packages from your new Software manager (called MintInstall):

  • Radeontop
  • Amdgpu-dkms
  • Amdgpu-install
  • Hip-runtime-amd
  • Rocm-opencl-runtime
  • Mesa-opencl-icd

In DT, don’t use Rustic (experimental) but instead AMD Rocm

1 Like

I am using Debian 13. Darktable version 5.0.1. I too use an integrated AMD Radeon 780M GPU. Not sure if Debian is similar to Linux Mint. I went by a different route. I installed these packages:

  • rocm-opencl-icd
  • ocl-icd-libopencl1
  • libclang-common-17-dev

Then, in the “processing” tab of darktable settings, I enabled the “AMD ROCm” OpenCL driver. I did not have to set any environment variables. Hope that this could be useful to you or other people.

1 Like

You were absolutely right - it did not update automatically.
I went back to the download page (ubuntu, 24.04) and added the repository.

Software manager shows current darktable, “apt update” shows update, update manger shows update.

So, a bit out of sync and definitely on my end. But adding the repo worked. (duh)

1 Like