How to make my AMD GPU work with the Flatpak version of darktable?

It seems that darktable-cltest could find the rusticl driver installed. However, Radeon is not enabled by default for rusticl. You can enable it by setting the environment variable RUSTICL_ENABLE=radeonsi, i.e. run RUSTICL_ENABLE=radeonsi flatpak run --command=darktable-cltest org.darktable.Darktable and see what it says.

That says, I have the exact same GPU. Unfortunately, for me the rusticl driver detects my card (with the environment variable set) but then panics and darktable fails to start. Don’t know if the MESA/rusticl version used by the flatpak is buggy - rusticl is quite new still and has only recently started working well for darktable (for me at least).

I’ve had much better luck in the past running darktable inside a distrobox (I’m running Aeon Desktop and using the Tumbleweed based distrobox image). rusticl seems to work there. I’m just using darktable from the repos, and maybe installed rusticl separately. Just checked and it still works fine after updating everything to latest versions.

The crash with the flatpak seems to be during kernel compilation:

[dt_opencl_device_init]
OpenCL Mesa platform `Mesa/X.org' --> `AMD Radeon RX 6700 XT'
   DEVICE:                   0: 'AMD Radeon RX 6700 XT (radeonsi, navi22, LLVM 19.1.7, DRM 3.59, 6.13.0-1-default)'
   CONF KEY:                 cldevice_v5_rusticlamdradeonrx6700xt
   PLATFORM, VENDOR & ID:    rusticl, Mesa:Mesa/X.org, ID=4098
   CANONICAL NAME:           rusticlamdradeonrx6700xt
   DRIVER VERSION:           24.3.4 (git-769e51468b)
   DEVICE VERSION:           OpenCL 3.0 
   DEVICE_TYPE:              GPU, dedicated mem
   GLOBAL MEM SIZE:          12288 MB
   MAX MEM ALLOC:            2048 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:   /app/share/darktable/kernels
   KERNEL DIRECTORY:         /home/sakari/.var/app/org.darktable.Darktable/cache/darktable/cached_v5_kernels_for_rusticlAMDRadeonRX6700XT_2434git769e51468b
   CL COMPILER OPTION:       
   CL COMPILER COMMAND:      -w   -DAMD=1 -I"/app/share/darktable/kernels"
thread '<unnamed>' panicked at core/src/panicking.rs:221:5:
panic in a function that cannot unwind
stack backtrace:
   0:     0x7f0ad9c0a827 - <unknown>
   1:     0x7f0ad9c3418b - <unknown>
   2:     0x7f0ad9c164af - <unknown>
   3:     0x7f0ad9c0a673 - <unknown>
   4:     0x7f0ad9c19905 - <unknown>
   5:     0x7f0ad9c195f6 - <unknown>
   6:     0x7f0ad9c19e2e - <unknown>
   7:     0x7f0ad9c0ac85 - <unknown>
   8:     0x7f0ad9c0aa49 - <unknown>
   9:     0x7f0ad9c19ad4 - <unknown>
  10:     0x7f0ad9ac34b5 - <unknown>
  11:     0x7f0ad9ac3542 - <unknown>
  12:     0x7f0ad9ac3686 - <unknown>
  13:     0x7f0ad9bbfbce - <unknown>
  14:     0x7f0aea6c94b4 - clBuildProgram
  15:     0x7f0af27baa5e - <unknown>
  16:     0x7f0af27be2a3 - dt_opencl_init
  17:     0x7f0af2725dfa - dt_init
  18:     0x55b72eec71b5 - <unknown>
  19:     0x7f0af242b188 - <unknown>
  20:     0x7f0af242b24b - __libc_start_main
  21:     0x55b72eec7205 - <unknown>
  22:                0x0 - <unknown>
thread caused non-unwinding panic. aborting.

(run with darktable-cltest RUST_BACKTRACE=full). Might be worth reporting to upstream.