[RESPONDED] DaVinci Resolve 18: No video, Timeline won’t play, Audio works in Fairlight (AMD GPU ROCm Linux)

I’m using DaVinci Resolve 18.4.1 with an AMD Radeon RX 6700 XT GPU with ROCm drivers on Fedora 37.

DaVinci Resolve is a free video editing application which supports RHEL and is detecting my GPU and claiming to be using OpenCL with it, but thumbnails for media don’t generate, media can’t be previewed, the timeline won’t progress when pressing ‘play’, and video in the timeline isn’t rendered/displayed.
GPU detected.cleaned

In the screenshot below I am using DNxHD footage which I have successfully used in Resolve on a RHEL system with an Nvidia GPU. However, on my Fedora system with an AMD GPU, Resolve is not rendering and the timeline won’t play/progress at all, even when empty.

Importing JPEG images behaves the same way DNxHD does; no thumbnails generated, video cannot be previewed in any way.

The timeline does progress on the Fairlight page and audio can be played, but only on the Fairlight page.

Environment

inxi -bz
    System:
      Kernel: 6.1.18-200.fc37.x86_64 arch: x86_64 bits: 64 Desktop: GNOME v: 43.3
        Distro: Fedora release 37 (Thirty Seven)
    Machine:
      Type: Laptop System: Framework product: Laptop (12th Gen Intel Core) v: A6
        serial: <superuser required>
      Mobo: Framework model: FRANMACP06 v: A6 serial: <superuser required>
        UEFI: INSYDE v: 03.05 date: 08/23/2022
    Battery:
      ID-1: BAT1 charge: 31.1 Wh (60.2%) condition: 51.7/55.0 Wh (94.0%)
      ID-2: hidpp_battery_0 charge: 89% condition: N/A
    CPU:
      Info: 12-core (4-mt/8-st) 12th Gen Intel Core i7-1260P [MST AMCP]
        speed (MHz): avg: 2120 min/max: 400/4700:3400
    Graphics:
      Device-1: Intel Alder Lake-P Integrated Graphics driver: i915 v: kernel
      Device-2: AMD Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT]
        driver: amdgpu v: kernel
      Display: wayland server: X.Org v: 22.1.8 with: Xwayland v: 22.1.8
        compositor: gnome-shell driver: X: loaded: amdgpu,modesetting
        unloaded: fbdev,radeon,vesa dri: iris gpu: i915 resolution: 2256x1504~60Hz
      API: OpenGL v: 4.6 Mesa 22.3.7 renderer: Mesa Intel Graphics (ADL GT2)
    Network:
      Device-1: Intel Wi-Fi 6 AX210/AX211/AX411 160MHz driver: iwlwifi
    Drives:
      Local Storage: total: 1.82 TiB used: 1004.69 GiB (53.9%)
    Info:
      Processes: 491 Uptime: 51m Memory: 31.05 GiB used: 8.61 GiB (27.7%)
      Shell: Zsh inxi: 3.3.25
clinfo
    Number of platforms                               1
      Platform Name                                   AMD Accelerated Parallel Processing
      Platform Vendor                                 Advanced Micro Devices, Inc.
      Platform Version                                OpenCL 2.1 AMD-APP (3513.0)
      Platform Profile                                FULL_PROFILE
      Platform Extensions                             cl_khr_icd cl_amd_event_callback
      Platform Extensions function suffix             AMD
      Platform Host timer resolution                  1ns

      Platform Name                                   AMD Accelerated Parallel Processing
    Number of devices                                 1
      Device Name                                     gfx1031
      Device Vendor                                   Advanced Micro Devices, Inc.
      Device Vendor ID                                0x1002
      Device Version                                  OpenCL 2.0
      Driver Version                                  3513.0 (HSA1.1,LC)
      Device OpenCL C Version                         OpenCL C 2.0
      Device Type                                     GPU
      Device Board Name (AMD)                         AMD Radeon RX 6700 XT
      Device PCI-e ID (AMD)                           0x73df
      Device Topology (AMD)                           PCI-E, 0000:81:00.0
      Device Profile                                  FULL_PROFILE
      Device Available                                Yes
      Compiler Available                              Yes
      Linker Available                                Yes
      Max compute units                               20
      SIMD per compute unit (AMD)                     4
      SIMD width (AMD)                                32
      SIMD instruction width (AMD)                    1
      Max clock frequency                             2725MHz
      Graphics IP (AMD)                               10.3
      Device Partition                                (core)
        Max number of sub-devices                     20
        Supported partition types                     None
        Supported affinity domains                    (n/a)
      Max work item dimensions                        3
      Max work item sizes                             1024x1024x1024
      Max work group size                             256
      Preferred work group size (AMD)                 256
      Max work group size (AMD)                       1024
      Preferred work group size multiple (kernel)     32
      Wavefront width (AMD)                           32
      Preferred / native vector sizes                 
        char                                                 4 / 4       
        short                                                2 / 2       
        int                                                  1 / 1       
        long                                                 1 / 1       
        half                                                 1 / 1        (cl_khr_fp16)
        float                                                1 / 1       
        double                                               1 / 1        (cl_khr_fp64)
      Half-precision Floating-point support           (cl_khr_fp16)
        Denormals                                     No
        Infinity and NANs                             No
        Round to nearest                              No
        Round to zero                                 No
        Round to infinity                             No
        IEEE754-2008 fused multiply-add               No
        Support is emulated in software               No
      Single-precision Floating-point support         (core)
        Denormals                                     Yes
        Infinity and NANs                             Yes
        Round to nearest                              Yes
        Round to zero                                 Yes
        Round to infinity                             Yes
        IEEE754-2008 fused multiply-add               Yes
        Support is emulated in software               No
        Correctly-rounded divide and sqrt operations  Yes
      Double-precision Floating-point support         (cl_khr_fp64)
        Denormals                                     Yes
        Infinity and NANs                             Yes
        Round to nearest                              Yes
        Round to zero                                 Yes
        Round to infinity                             Yes
        IEEE754-2008 fused multiply-add               Yes
        Support is emulated in software               No
      Address bits                                    64, Little-Endian
      Global memory size                              12868124672 (11.98GiB)
      Global free memory (AMD)                        12566528 (11.98GiB) 12566528 (11.98GiB)
      Global memory channels (AMD)                    6
      Global memory banks per channel (AMD)           4
      Global memory bank width (AMD)                  256 bytes
      Error Correction support                        No
      Max memory allocation                           10937905968 (10.19GiB)
      Unified memory for Host and Device              No
      Shared Virtual Memory (SVM) capabilities        (core)
        Coarse-grained buffer sharing                 Yes
        Fine-grained buffer sharing                   Yes
        Fine-grained system sharing                   No
        Atomics                                       No
      Minimum alignment for any data type             128 bytes
      Alignment of base address                       1024 bits (128 bytes)
      Preferred alignment for atomics                 
        SVM                                           0 bytes
        Global                                        0 bytes
        Local                                         0 bytes
      Max size for global variable                    10937905968 (10.19GiB)
      Preferred total size of global vars             12868124672 (11.98GiB)
      Global Memory cache type                        Read/Write
      Global Memory cache size                        16384 (16KiB)
      Global Memory cache line size                   64 bytes
      Image support                                   Yes
        Max number of samplers per kernel             29663
        Max size for 1D images from buffer            134217728 pixels
        Max 1D or 2D image array size                 8192 images
        Base address alignment for 2D image buffers   256 bytes
        Pitch alignment for 2D image buffers          256 pixels
        Max 2D image size                             16384x16384 pixels
        Max 3D image size                             16384x16384x8192 pixels
        Max number of read image args                 128
        Max number of write image args                8
        Max number of read/write image args           64
      Max number of pipe args                         16
      Max active pipe reservations                    16
      Max pipe packet size                            2347971376 (2.187GiB)
      Local memory type                               Local
      Local memory size                               65536 (64KiB)
      Local memory size per CU (AMD)                  65536 (64KiB)
      Local memory banks (AMD)                        32
      Max number of constant args                     8
      Max constant buffer size                        10937905968 (10.19GiB)
      Preferred constant buffer size (AMD)            16384 (16KiB)
      Max size of kernel argument                     1024
      Queue properties (on host)                     
        Out-of-order execution                        No
        Profiling                                     Yes
      Queue properties (on device)                   
        Out-of-order execution                        Yes
        Profiling                                     Yes
        Preferred size                                262144 (256KiB)
        Max size                                      8388608 (8MiB)
      Max queues on device                            1
      Max events on device                            1024
      Prefer user sync for interop                    Yes
      Number of P2P devices (AMD)                     0
      Profiling timer resolution                      1ns
      Profiling timer offset since Epoch (AMD)        0ns (Thu Jan  1 01:00:00 1970)
      Execution capabilities                         
        Run OpenCL kernels                            Yes
        Run native kernels                            No
        Thread trace supported (AMD)                  No
        Number of async queues (AMD)                  8
        Max real-time compute queues (AMD)            8
        Max real-time compute units (AMD)             20
      printf() buffer size                            4194304 (4MiB)
      Built-in kernels                                (n/a)
      Device Extensions                               cl_khr_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_fp16 cl_khr_gl_sharing cl_amd_device_attribute_query cl_amd_media_ops cl_amd_media_ops2 cl_khr_image2d_from_buffer cl_khr_subgroups cl_khr_depth_images cl_amd_copy_buffer_p2p cl_amd_assembly_program

    NULL platform behavior
      clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  No platform
      clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)   No platform
      clCreateContext(NULL, ...) [default]            No platform
      clCreateContext(NULL, ...) [other]              Success [AMD]
      clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)  Success (1)
        Platform Name                                 AMD Accelerated Parallel Processing
        Device Name                                   gfx1031
      clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
      clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  Success (1)
        Platform Name                                 AMD Accelerated Parallel Processing
        Device Name                                   gfx1031
      clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)  No devices found in platform
      clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)  No devices found in platform
      clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)  Success (1)
        Platform Name                                 AMD Accelerated Parallel Processing
        Device Name                                   gfx1031

I suspect I am missing certain AMD GPU (driver) packages required to make DaVinci Resolve render video using OpenCL. Here is my package list:
$ sudo dnf list installed '*amd-gpu*' '*amdgpu*' '*rocm*' '*roct*' '*hsa*' 'kernel'

    Installed Packages
    amd-gpu-firmware.noarch             20230310-148.fc37                 @updates 
    hsa-rocr.x86_64                     1.7.0.50403-121.el9               @rocm-copy
    hsa-rocr-devel.x86_64               1.7.0.50403-121.el9               @rocm-copy
    hsakmt.x86_64                       1.0.6-27.rocm5.4.1.fc37           @updates 
    hsakmt-roct-devel.x86_64            20221020.0.2.50403-121.el9        @rocm-copy
    kernel.x86_64                       6.1.14-200.fc37                   @updates 
    kernel.x86_64                       6.1.15-200.fc37                   @updates 
    kernel.x86_64                       6.1.18-200.fc37                   @updates 
    rocm-cmake.x86_64                   0.8.0.50403-121.el9               @rocm-copy
    rocm-comgr.x86_64                   5.4.1-2.fc37                      @updates 
    rocm-core.x86_64                    5.4.3.50403-121.el9               @rocm-copy
    rocm-core5.4.3.x86_64               5.4.3.50403-121.el9               @rocm-copy
    rocm-dbgapi.x86_64                  0.68.0.50403-121.el9              @rocm-copy
    rocm-device-libs.x86_64             1.0.0.50403-121.el9               @rocm-copy
    rocm-gdb5.4.3.x86_64                12.1.50403-121.el9                @rocm-copy
    rocm-hip-libraries.x86_64           5.4.3.50403-121.el9               @rocm-copy
    rocm-hip-runtime.x86_64             5.4.3.50403-121.el9               @rocm-copy
    rocm-hip-runtime-devel.x86_64       5.4.3.50403-121.el9               @rocm-copy
    rocm-hip-sdk.x86_64                 5.4.3.50403-121.el9               @rocm-copy
    rocm-language-runtime.x86_64        5.4.3.50403-121.el9               @rocm-copy
    rocm-llvm.x86_64                    15.0.0.23045.50403-121.el9        @rocm-copy
    rocm-llvm5.4.3.x86_64               15.0.0.23045.50403-121.el9        @rocm-copy
    rocm-ocl-icd.x86_64                 2.0.0.50403-121.el9               @rocm-copy
    rocm-opencl.x86_64                  2.0.0.50403-121.el9               @rocm-copy
    rocm-opencl-runtime.x86_64          5.4.3.50403-121.el9               @rocm-copy
    rocm-runtime.x86_64                 5.4.1-1.fc37                      @updates 
    rocm-smi.noarch                     4.0.0-6.fc37                      @fedora   
    rocm-smi-lib.x86_64                 5.0.0.50403-121.el9               @rocm-copy
    rocminfo.x86_64                     1.0.0.50403-121.el9               @rocm-copy
    rocthrust-devel.x86_64              2.10.9.50403-121.el9              @rocm-copy
    xorg-x11-drv-amdgpu.x86_64          23.0.0-1.fc37                     @updates

Is anyone else with an AMD GPU able to get a photo/video to display within DaVinci Resolve in any capacity on Linux?

Happy to help, this is an eGPU (AMD) attached to a Framework 12th gen laptop, correct?

If so, then this thread may be of help:

Thank you, but that is my thread haha.

Native and wine games are able to use the eGPU/GPU without issue, but DaVinci Resolve (DR) isn’t showing previews for clips.

I did extensive research and troubleshooting today and it seems like DR with an AMD GPU is very difficult to pull off on most mainstream Linux distros, let alone Fedora, unfortunately.

I am still open to ideas or workarounds like wine.

Looks they’re also hitting a wall Here atm, just wondering is Fedora 36 more stable with DaVinci or same?

1 Like

I’ve tried the guide you linked but it resulted in DaVinci Resolve repeating the same behaviour when launched via /opt/resolve/bin/resolve and if I recall correctly, producing an unsupported processing GPU error on launch when started with ProGL drivers via pro_gl /opt/resolve/bin/resolve.

I’ve previously only used DaVinci Resolve with Nvidia CUDA on Rocky 8/9.

I wonder they will offer of Nvida GPU Module?

Welcome to the community. No, not at this time.

Hi,

Just my 2 cent. I have also installed Fedora 39 on my new FW laptop and Davinci Resolve 18.6 with the same problem.

TLDR: I did a few patches mentioned by multiple forum, but the one that really allows me to run Davinci Resolve was to use the command: DRI_PRIME=1 /opt/resolve/bin/resolve

For Gnome users, you can right-click and run with external GPU.

This allows resolve to use the dGPU.

Make sure to also select the right GPU in the Preferences → Memory & GPU

Here are all the things that I did. You may not need all of them. It’s best to first use the DRI_PRIME=1 resolve, then follow the steps below one by one to see which one works for you.

I did a few steps from multiple guides:

cd /opt/resolve/libs
mkdir /opt/resolve/libs/disabled
mv libgio* /opt/resolve/libs/disabled
mv libglib* /opt/resolve/libs/disabled    
mv libgmodule* /opt/resolve/libs/disabled
mv libgobject* /opt/resolve/libs/disabled

Install the following packages:

sudo dnf install libxcrypt-compat libcurl libcurl-devel mesa-libGLU  mesa-va-drivers-freeworld  rocm-opencl mesa-libOpenCL libavcodec-freeworld

For starter, install only rocm-opencl with some other libs required by resolve ibxcrypt-compat libcurl libcurl-devel mesa-libGLU to see if it works. I have another system running fedora 38 with those extra mesa libs, but I doubt you will need it.

Here are the list installed just for reference

➜  libs sudo dnf list installed '*amd-gpu*' '*amdgpu*' '*rocm*' '*roct*' '*hsa*'  'kernel' '*mesa*'
Place your right thumb on the fingerprint reader
Installed Packages
amd-gpu-firmware.noarch                        20240410-1.fc39                         @updates               
hsakmt.x86_64                                  1.0.6-34.rocm5.7.0.fc39                 @updates               
kernel.x86_64                                  6.5.6-300.fc39                          @anaconda              
kernel.x86_64                                  6.8.6-200.fc39                          @updates               
mesa-dri-drivers.x86_64                        23.3.6-1.fc39                           @updates               
mesa-filesystem.i686                           23.3.6-1.fc39                           @updates               
mesa-filesystem.x86_64                         23.3.6-1.fc39                           @updates               
mesa-libEGL.x86_64                             23.3.6-1.fc39                           @updates               
mesa-libGL.x86_64                              23.3.6-1.fc39                           @updates               
mesa-libGLU.x86_64                             9.0.3-1.fc39                            @fedora                
mesa-libOpenCL.x86_64                          23.3.6-1.fc39                           @updates               
mesa-libgbm.x86_64                             23.3.6-1.fc39                           @updates               
mesa-libglapi.x86_64                           23.3.6-1.fc39                           @updates               
mesa-libxatracker.x86_64                       23.3.6-1.fc39                           @updates               
mesa-va-drivers.x86_64                         23.3.6-1.fc39                           @updates               
mesa-va-drivers-freeworld.i686                 23.3.6-1.fc39                           @rpmfusion-free-updates
mesa-vulkan-drivers.x86_64                     23.3.6-1.fc39                           @updates               
rocm-comgr.x86_64                              17.0-3.fc39                             @updates               
rocm-opencl.x86_64                             5.7.1-1.fc39                            @updates               
rocm-runtime.x86_64                            5.7.1-1.fc39                            @updates               
rocminfo.x86_64                                5.7.0-1.fc39                            @updates               
xorg-x11-drv-amdgpu.x86_64                     23.0.0-2.fc39                           @anaconda 

Then I continue with another patch (you may not need it)
Download the pixbuf for fc38 here: https://dl.fedoraproject.org/pub/fedora/linux/releases/38/Everything/x86_64/os/Packages/g/gdk-pixbuf2-2.42.10-2.fc38.x86_64.rpm

run rpm2cpio ./gdk-pixbuf2-2.42.10-2.fc38.x86_64.rpm | cpio -idmv to extract the rpm

then

cd ./usr/lib64
sudo cp -r * /opt/resolve/libs  

Let me know if it works for you.

Nailing 25fps on a 1080p timeline with heavy grading. With a bit of Noise reduction get me 20-23fps. My footage are h264 so there are additional processing required. But pretty decent

Prores footage adds about 2 additional frames per sec.