Fixing DaVinci Resolve Not Detecting GPU using RustICL

Content:

DaVinci Resolve is a popular free video editor with native Linux support. It requires a GPU with OpenGL support – without OpenCL, you’ll be greeted by the following message.

Unsupported GPU dialogue
The message DaVinci Resolve greeted us with

Having recently looked to switch our video editing to DaVinci Resolve, we attempted to run it on one of our machines. Having fixed another error as outlined in our previous article, we managed to get DaVinci to start running.

At least, it ran until we encountered this message, despite OpenCL support being present on the system.

This system is using mesa, with the RustICL package installed to provide OpenCL support.

Using the clinfo tool, it’s possible to verify that RustICL is enabled, and OpenCL support is detected.

$ clinfo -l
Platform #0: rusticl

RustICL is detected as a platform, so OpenCL is available on the system.

Setting the Environment Variable

By default, RustICL does not advertise OpenCL support for any GPU driver. This is due to the platform still being immature, and the dev team working to iron out remaining bugs before enabling support by default.

This means that to use RustICL, you’ll need to ensure the following environment variable is set. This is the reason Da Vinci Resolve is unable to detect OpenCL support, despite it being present on the system.

RUSTICL_ENABLE=radeonsi

For non-AMD systems, this step is still required, but with the correct driver name in place of radeonsi. Currently supported driver options are irisllvmpipenouveaupanfrostradeonsi.

To test this out, try launching DaVinci Resolve using a terminal. You’ll need the path to the executable – in my case, the path is /opt/resolve/bin/resolve.

Append the environment variable in front of the executable command.

RUSTICL_ENABLE=radeonsi /opt/resolve/bin/resolve

DaVinci Resolve should now open.

Da Vinci GPU configuration window
The DaVinci Resolve GPU configuration window, with our W5700 listed correctly

If you open a new project, you’ll be able to open the preferences window to see information about the detected GPU.

Making the Change Permanent

If this worked, you can make the change permanent by altering the launcher. To do this, you’ll need to make a copy of the original launcher file. You’ll find this in /usr/share/applications, with the name com.blackmagicdesign.resolve.desktop.

Open your copy, and edit the Exec line to match the one below.

Exec=env RUSTICL_ENABLE=radeonsi /opt/resolve/bin/resolve %u

Save the file, and move it into the ~/.local/share/applications folder. This folder contains custom .desktop files, and will not be overwritten by application updates.

Try launching DaVinci Resolve using the icon in your app launcher. It should now start correctly.