AMD GPU and OpenCL issues on Ubuntu 20.04 – Davinci Resolve fails to launch
AMD GPU and OpenCL issues on Ubuntu 20.04 – Davinci Resolve fails to launch
Yesterday I attempted to install Davinci Resolve 16 on a fresh Ubuntu 20.04 system. I used MakeResolveDeb to create the Debian package and installed it with dpkg. I followed a guide for setting up ROCm packages, which included installing ROCm via several commands alongside open-source amdgpu drivers. Resolve functioned properly after installation. However, during setup, the software displayed a yellow triangle next to my GPU on the welcome screen but failed to launch. Hashcat also performed poorly. Later, I tried updating the graphics driver from an external PPA repository, but Resolve still wouldn’t start. I found that Resolve requires proprietary OpenCL packages from amdgpu-pro and that FOSS ones (ROCm) must be removed. After installing amdgpu-pro—though it only supports 18.04, it worked on 20.04—I followed a specific procedure: cleared all ROCm packages, updated via PPA, reinstalled with apt, rebooted, changed the /etc/os-release file to target 18.04, reinstalled again. After rebooting, Hashcat benchmarks passed and Resolve displayed a green checkmark on the welcome screen. I verified dependencies using ldd on the Resolve executable and confirmed everything was installed correctly. SYSTEM INFO: OS: Ubuntu 20.04 KERNEL: 5.4.0-33-generic GPU: Radeon RX580 AMDGPU VERSION: 20.10-1048554 CLINFO OUTPUT: https://pastebin.com/6rYKF8iR LSHW OUTPUT: https://pastebin.com/EHLnWPW5 This time Resolve started successfully. I’m still unsure why it doesn’t work now, but the green tick on the GPU screen is encouraging. Please let me know if you need further help.
The only issue appears to be a log4cxx warning, though I'm unsure if it impacts program startup since after that it begins loading audio devices and then terminates. In the debug logs, the main error is related to the file /var/tmp/davinci_socket, but I don't know if this is important because the program continues to load and previously crashed.
s) #PROGRAM_NAME DaVinci Resolve v16.2.2.012 (Linux/Clang) /opt/resolve/bin/resolve() [0x54bef69] /opt/resolve/bin/resolve() [0x54be75a] /lib/x86_64-linux-gnu/libpthread.so.0(+0x153c0) [0x7f4be27183c0] /opt/amdgpu-pro/lib/x86_64-linux-gnu/libOpenCL.so.1(clGetDeviceInfo+0x8) [0x7f4be87bc038] /opt/resolve/bin/resolve() [0x607ea4f] /opt/resolve/bin/resolve() [0x6083811] /opt/resolve/bin/resolve() [0x5fe7383] /opt/resolve/bin/resolve() [0x5fe7447] /opt/resolve/bin/resolve() [0x21ea89d] /opt/resolve/bin/resolve() [0x21eeddd] /lib/x86_64-linux-gnu/libc.so.6(clone+0x43) [0x7f4be270c609] /lib/x86_64-linux-gnu/libpthread.so.0(+0x9609) [0x7f4be270c609]
Attempted that now. You believed the log issue wasn't important. I went through the instructions carefully. As expected, hashcat functions properly but the resolution keeps producing identical errors (the last two seem caused by resolve attempting to save my UI settings since there are no UI preferences because the program didn't start). vittorio@wrk-ubuntu:~$ cat .local/share/DaVinciResolve/logs/ResolveDebug.txt | grep ERR [0x7f4bb1f1a700] | SyManager | ERROR | 2020-06-10 17:21:12,540 | Failed to connect to panel socket [0x7f4bb1f1a700] | SyManager | ERROR | 2020-06-10 17:21:12,540 | DRIVER: open /var/tmp/davinci_socket failed [0x7f4b033d7700] | CrashReport | ERROR | 2020-06-10 17:21:24,982 | Compress() : Failed to add file:/home/vittorio/.local/share/DaVinciResolve/configs/UI.preset to archive. [0x7f4b033d7700] | CrashReport | ERROR | 2020-06-10 17:21:24,982 | Compress() : Failed to add file:/home/vittorio/.local/share/DaVinciResolve/Fusion/Profiles/Default/Fusion.prefs to archive. This is the crash dump: ==========[CRASH DUMP]========== Please send this to support: #TIME Wed Jun 10 17:21:16 2020 - Uptime 00:00:08 (hh:mm
s) #PROGRAM_NAME DaVinci Resolve v16.2.2.012 (Linux/Clang) /opt/resolve/bin/resolve() [0x54bef69] /opt/resolve/bin/resolve() [0x54be75a] /lib/x86_64-linux-gnu/libpthread.so.0(+0x153c0) [0x7f4be27183c0] /opt/amdgpu-pro/lib/x86_64-linux-gnu/libOpenCL.so.1(clGetDeviceInfo+0x8) [0x7f4be87bc038] /opt/resolve/bin/resolve() [0x607ea4f] /opt/resolve/bin/resolve() [0x6083811] /opt/resolve/bin/resolve() [0x5fe7383] /opt/resolve/bin/resolve() [0x5fe7447] /opt/resolve/bin/resolve() [0x21ea89d] /opt/resolve/bin/resolve() [0x21eeddd] /lib/x86_64-linux-gnu/libc.so.6(clone+0x43) [0x7f4be270c609] /lib/x86_64-linux-gnu/libpthread.so.0(+0x9609) [0x7f4be270c609]
Tomorrow I plan to test CentOS 8 since it receives official support from Resolve and AMD. I’m hoping there aren’t just a few choices, because CentOS 8 isn’t ideal for a desktop daily driver environment. What’s interesting is the video I referenced earlier—he uses CentOS 8 with RX570 and runs Resolve without any proprietary drivers.
I believe that i have the fix (More like workaround), well i tried it on pop_OS! 20.04 probably it have the same base as ubuntu 20.04 Yes, the openCl works however there is another requirement for davinci to run and that is the openGL driver. The default openGL amdgpu driver is kind of finnicky under a specialized loadand sometimes caused gpu reset at random occourence using blender ( even though its rare ). This problem or quirks shall i say, is also documented in Archlinux Wiki https://wiki.archlinux.org/index.php/DaVinci_Resolve so what i'm going to do is launching Davinci Resolve by using virtual opengl rather than amdgpu opengl by launching it using xephyr here is my script to launch the Davinci Resolve #!/bin/bash Xephyr -screen 1920x900 :6942 & export xephyrPID=$! env DISPLAY=:6942 /opt/resolve/bin/resolve kill -9 $xephyrPID it worked for me but, there is a huge performance penalty in 3D rendering since now the UI is rendered using the CPU rather than the GPU but the effects mostly still uses openCl. Hope this helps