DaVinci Resolve on Tumbleweed with AMD

I am loving Tumbleweed so far but having issues with DaVinci Resolve. I am only able to get Resolve working if I install AMD drivers with:

amdgpu-install --usecase=workstation --vulkan=pro --opencl=rocr

Workstation usecase unfortunately installs amdgpu-dkms files which breaks the desktop environment upon reboot. When installing OpenSUSE tries to build a kernel for the amdgpu-dkms but fails:

Loading new amdgpu-6.3.6-1697589 DKMS files…
Building for 6.6.9-1-default
Building initial module for 6.6.9-1-default
Error! Bad return status for module build on kernel: 6.6.9-1-default (x86_64)
Consult /var/lib/dkms/amdgpu/6.3.6-1697589/build/make.log for more information.
warning: %post(amdgpu-dkms-1:6.3.6.60000-1697589.noarch) scriptlet failed, exit status 10

The make.log is huge but I can paste it if anyone needs.

Also DaVinci Resolve opens fine with default Clover (Rusticl?) driver but no media is decoding which is why I need to install the AMD drivers. If I install the AMD drivers with:

amdgpu-install --vulkan=pro --opencl-rocr --opengl=mesa --no-dkms

Resolve will crash instantly on launch.

My question here, is there anyway to fix the amdgpu-dkms build to work with the latest 6.6.9-1 kernel or to install amdgpu-pro without dkms files?

Thanks!

Welcome to the forum @tjb :wave:
Maybe you have to set a HSA override like so:

export HSA_OVERRIDE_GFX_VERSION=11.0.0

Just type it into your terminal every time you want to use DaVinci Resolve.
I seem to have lost my resource to find the required version for any given GPU, but I know it is 11.0.0 for RDNA3 and 10.3.0 for RDNA2.
It really becomes harder each day to find something on the interwebs.

Also in case you still want to use the open source drivers for normal use, have a look at my cookbook for ROCm :cook:

PS: I don’t use DaVinci resolve, so I can’t really help you any further if the problem still persists.
PPS: I deleted my previous post because of a wrong link.

Good luck!

Found a good list. Also a good resource in general.

https://en.opensuse.org/SDB:AMD_GPGPU#ROCm_-_Running_on_unsupported_hardware

Anyway, I also wanted to add that you could start Resolve through the terminal and post the output here. It would make troubleshooting way easier and if it only gives you a segmentation fault error, it is very likely that your GPU isn’t officially supported by ROCm and that you have to lie to the software by setting the override, as I mentioned earlier.

Thanks for the help @Bird!

I should have mentioned I tried HSA override variants, I think this one is specific to my Radeon VII gfx906:

export HSA_OVERRIDE_GFX_VERSION=9.0.6

HSA override would crash instantly on launch, same with ROC_ENABLE_PRE_VEGA=1 and LD_PRELOAD=amdocl_fix.so

If I run:

export OCL_ICD_VENDORS= export OCL_ICD_FILENAMES=/usr/lib64/libRusticlOpenCL.so export RUSTICL_ENABLE=radeonsi (via Having trouble setting up ROCm / HIP / OpenCL on openSuSE? This might help. : openSUSE)

Resolve would start but no media would decode or play on the timeline.

ROCm is installed fine but Resolve seems to depend on amdgpu-pro being installed (workstation proprietary) which is mentioned at the link you provided (SDB:AMD GPGPU - openSUSE Wiki) but that won’t jive with the kernel.

I had Resolve working in a Rocky Linux distrobox container on Fedora but it kept asking me to reauthenticate anytime I rebooted or reconnected. I also didn’t have to install usecase=workstation in Rocky Linux possibly because Resolve is built on CentOS? OpenSUSE hasn’t been asking me to reauthenticate but I can only get it working if I install the “usecase=workstation” thus breaking the DE upon restart. There are no errors starting Resolve through terminal it simply closes upon launching.

Resolve is an exceptional all-in-one NLE but it is insufferable to get working! Resolve techs blame AMD and AMD tells me to install their linux drivers :upside_down_face:

I decided to give an Arch Linux distrobox a go because of all their driver/DaVinci Resolve AUR’s and was finally able to get it working. Core dumps with the amdgpu-pro-oglp opengl progl prefix’s but works flawlessly with the latest mesa-rusticl-git and opencl-amd. All contained from openSUSE so win-win.

Thanks again!

Good to hear :+1:
Distrobox is really a gift from the heavens :smiley:

1 Like

I have same headache months ago. Using openSUSE Tumbleweed + AMD RX 7700 (RDNA3). To use latest openCL drivers (for Darktable and/or DaVinci) we need AMD-PRO drivers (ROCm) propietary drivers. However, AMD only publish them for LEAP, so I can’t use GPU in DaVinci.

I can launch DaVinci, media added to timeline is no visible and projects are loaded correctly.

Do you get with DistroBox to have ROCm installed and DaVinci working fine? How do you get it?

Thank you

Post

inxi -aFz

DR possibly will work with Mesa 3D 24.0:

DaVinci Resolve requires unconventional OpenCL extensions cl_khr_gl_sharing and cl_khr_image2d_from_buffer, which may not be available in some drivers.

Newer Rusticl is available:
https://bugzilla.opensuse.org/show_bug.cgi?id=1218389

You can use DR with Leap + AMD Pro drivers + PAL OpenCL drivers.

For GCN 5.0 use ROCm 4.5.2. ROCm 5.0+ might not work. You need only OpenCL drivers from ROCm.

1 Like

@rafaellinuxuser You should be able to get it working with Arch Linux AUR’s, as @svyatko mentions this is because of the mesa-rusticl-git-devel being version 24. Is there a v24 for openSUSE?

I think this was my process to get Resolve running within an Arch Linux distrobox, though I tried all sorts of avenues so I might be missing something.

First install distrobox and podman in openSUSE, then:

distrobox-create --name ArchResolve --image archlinux:latest

Enter the distrobox

distrobox-enter ArchResolve

Update and install git and base-devel

pacman -Syu
pacman -S git
pacman -S base-devel

Clone the gits:

git clone https://aur.archlinux.org/davinci-resolve.git

for the free version or

git clone https://aur.archlinux.org/davinci-resolve-studio.git

for the studio version

then git clone the drivers

git clone https://aur.archlinux.org/mesa-rusticl-git.git
git clone https://aur.archlinux.org/opencl-amd.git

and build the git packages within each of the cloned git folders you just downloaded with the cmd:

makepkg -si

Here are links if you need more info about AUR and makepkg

I also tried building the proprietary opengl amdgpu-pro drivers which was a lot more involved but they ultimately wouldn’t work so I think you can skip all of that.

To open Resolve run the environment variable

export OCL_ICD_VENDORS= export OCL_ICD_FILENAMES=/usr/lib64/libRusticlOpenCL.so export RUSTICL_ENABLE=radeonsi

and

/opt/resolve/bin/resolve

You can also add this line in your ~/.bashrc file to save the environment settings:

> if [[ -n $/usr/bin/distrobox-enter ]]; then
> # Set your locale variables and export them
> export OCL_ICD_VENDORS=
> export OCL_ICD_FILENAMES=/usr/lib64/libRusticlOpenCL.so
> export RUSTICL_ENABLE=radeonsi
> fi

I’ll try this again next week and see if there are any steps missing.

I don’t know why, but same issue. Can “enter” to the distrobox created:

Error: unable to start container "6ff300a27bac4886a3b70d966f873eeb76720a41a90e29346305e841c2c35385": crun: make `/home/myuser/.local/share/containers/storage/overlay/6f1ae14260d85a30e372655d15fa43029c85f3face62307f5998493d22acfe7c/merged` private: Permission denied: OCI permission denied

Did you try the suggestions here?

For what do you need Arch Linux?
AMD supports openSUSE Leap - why not use it?
Mesa 3D 24.0 is not released yet.
It is possible to use AMD drivers without dkms.
Rusticl is not ready yet - even with Mesa 3D 24.0.

1 Like

ROCm is open-sourced, not propietary.
For RDNA3 you can use AMD OpenGL-Pro + ROCm. Works with Leap, possibly will work with TW.

Lately I haven’t been able to get Resolve functioning with any distro, installing AMD drivers without dkms won’t work because the amdgpu-pro proprietary/legacy/opengl drivers depend on dkms AFAIK, Arch distrobox is the first reliable and repeatable instance where I’ve gotten it to work and it is because of the mesa-rusticl driver I linked. Someone was saying devel drivers aren’t secure though?

I’ve only tried Tumbleweed with openSUSE so I’ll try Leap next time.

Install packages using YaST (zypper), not script.

1 Like

That thread didn’t fix my issue. In fact, I exectued distrobox enter ArchResolve --verbose to get more info. In the ouput, I saw a line
[conmon:d]: failed to write to /proc/self/oom_score_adj
Searching about that issue, I tried “podman ps -a” and “podman info --debug”. In both case, the FIRST output line was:

ERRO[0000] OCI Runtime runc is in use by a container, but is not available (not in configuration file or not installed) 

And the only thing about that I found was from 2020, in https://bugzilla.redhat.com/show_bug.cgi?id=1860176 but nothing to do after reading that thread.

Good to know, I’ll experiment with that in another distrobox. Thanks!

Never encountered this before, do you have other containers running other than podman and distrobox?

Maybe these can help:

https://groups.google.com/g/linux.debian.bugs.dist/c/pnQcz8V6dQ8?pli=1

I never used podman/distrobox before. I only tried the steps to install Ubuntu to have ROCm (from this forums too) but I removed it after instructions were changed to ArchLinux, and removed the previous Ubuntu distrobox (podman rm rocm). I found that post you attached before my previous post to check that I had (effectively) crun installed.

This is complete output (including “ERRO” line) of podman ps -a

podman ps -a
ERRO[0000] OCI Runtime runc is in use by a container, but is not available (not in configuration file or not installed) 
CONTAINER ID  IMAGE                                    COMMAND               CREATED       STATUS      PORTS       NAMES
e60ec6c31137  localhost/podman-pause:4.6.1-1692144000                        4 months ago  Created                 af292d255fe3-infra
6ff300a27bac  docker.io/library/archlinux:latest       --verbose --name ...  29 hours ago  Created                 ArchResolve

@rafaellinuxuser I meant are you using another container like docker? Maybe the podman container “af292d255fe3-infra” is the problem? IDK what that is and it doesn’t look like it has ever been running but you could try stopping it with distrobox-stop --all then try running ArchResolve again.

You could also try these to see if there is some other container running:

If those don’t help I would search on podman and/or distrobox githubs and submit a new issue with them if the searches don’t result in anything.

@localhost:~> distrobox-stop --all
ArchResolve

then

@localhost:~> podman ps -a
CONTAINER ID  IMAGE                                    COMMAND               CREATED       STATUS      PORTS       NAMES
e60ec6c31137  localhost/podman-pause:4.6.1-1692144000                        4 months ago  Created                 af292d255fe3-infra
6ff300a27bac  docker.io/library/archlinux:latest       --verbose --name ...  33 hours ago  Created                 ArchResolve

and again

@localhost:~> distrobox enter ArchResolve
Error: unable to start container "6ff300a27bac4886a3b70d966f873eeb76720a41a90e29346305e841c2c35385": crun: make `/home/myuser/.local/share/containers/storage/overlay/6f1ae14260d85a30e372655d15fa43029c85f3face62307f5998493d22acfe7c/merged` private: Permission denied: OCI permission denied