AMD GPU not being used (Radeon RX 6700 XT - External / eGPU - Wayland)

My AMD Radeon RX 6700 XT is not being used by Wayland or any applications.

My main goal is to run Davinci Resolve (OpenCL) using an eGPU on my thunderbolt laptop, and I’m currently using Minecraft as a “test application” alongside command line tools such as lspci and glxinfo to determine if my GPU is working at all.

After weeks of trying other guides, the furthest I got was with AMDGPU drivers, the kernel args “radeon.cik_support=0 amdgpu.cik_support=1”, and importing secure boot keys for DKMS by running mokutil --import /root/mok.der. I was able to open Resolve and it saw my GPU, but pictures and videos wouldn’t render. Minecraft used the GPU seemingly without issue. Minecraft no longer used and Resolve no longer detected my GPU after a reboot, and I had many DKMS problems.

My setup

OS: Fedora 37
Kernel: 6.0.12-300.fc37.x86_64
Kernel args: ro rootflags=subvol=root rd.luks.uuid=luks-x-x-x-x-x rhgb quiet module_blacklist=hid_sensor_hub nvme.noacpi=1
Window manager: Wayland

Device: Framework Laptop 12th gen (thunderbolt 4)
Secure boot: Enabled

eGPU: Akitio Node Titan (thunderbolt 3)
GPU: Gigabyte (AMD) Radeon RX 6700 XT

I’ve tried every guide I could find over the past few weeks, but to no avail. Any ideas or suggestions would be really appreciated. Please find below some of my troubleshooting:

Configuration: A

AMD Main repo: Index of /amdgpu/5.4.1/rhel/9.1/main/x86_64/
AMD Proprietary repo: Index of /amdgpu/5.4.1/rhel/9.1/proprietary/x86_64/
ROCM repo: Index of /rocm/rhel9/rpm/

All relevant packages (as far as I’m aware)

(sudo dnf list installed '*amd-gpu*' '*amdgpu*' '*rocm*' '*roct*' '*hsa*' '*mesa*' '*vulkan*' | grep -v 'procmail|setproctitle':

Installed Packages
amd-gpu-firmware.noarch             20221109-144.fc37                 @updates  
hsa-rocr.x86_64                     1.7.0.50400-72.el9                @rocm-copy
hsa-rocr-devel.x86_64               1.7.0.50400-72.el9                @rocm-copy
hsakmt.x86_64                       1.0.6-26.rocm5.3.0.fc37           @updates  
hsakmt-roct-devel.x86_64            20221020.0.2.50400-72.el9         @rocm-copy
mesa-dri-drivers.i686               22.2.3-1.fc37                     @updates  
mesa-dri-drivers.x86_64             22.2.3-1.fc37                     @updates  
mesa-filesystem.i686                22.2.3-1.fc37                     @updates  
mesa-filesystem.x86_64              22.2.3-1.fc37                     @updates  
mesa-libEGL.i686                    22.2.3-1.fc37                     @updates  
mesa-libEGL.x86_64                  22.2.3-1.fc37                     @updates  
mesa-libGL.i686                     22.2.3-1.fc37                     @updates  
mesa-libGL.x86_64                   22.2.3-1.fc37                     @updates  
mesa-libGLU.x86_64                  9.0.1-7.fc37                      @fedora   
mesa-libOSMesa.i686                 22.2.3-1.fc37                     @updates  
mesa-libOSMesa.x86_64               22.2.3-1.fc37                     @updates  
mesa-libgbm.i686                    22.2.3-1.fc37                     @updates  
mesa-libgbm.x86_64                  22.2.3-1.fc37                     @updates  
mesa-libglapi.i686                  22.2.3-1.fc37                     @updates  
mesa-libglapi.x86_64                22.2.3-1.fc37                     @updates  
mesa-libxatracker.x86_64            22.2.3-1.fc37                     @updates  
mesa-va-drivers.i686                22.2.3-1.fc37                     @updates  
mesa-vulkan-drivers.i686            22.2.3-1.fc37                     @updates  
mesa-vulkan-drivers.x86_64          22.2.3-1.fc37                     @updates  
rocm-comgr.x86_64                   5.3.0-1.fc37                      @updates  
rocm-core.x86_64                    5.4.0.50400-72.el9                @rocm-copy
rocm-device-libs.x86_64             1.0.0.50400-72.el9                @rocm-copy
rocm-language-runtime.x86_64        5.4.0.50400-72.el9                @rocm-copy
rocm-ocl-icd.x86_64                 2.0.0.50400-72.el9                @rocm-copy
rocm-opencl.x86_64                  2.0.0.50400-72.el9                @rocm-copy
rocm-opencl-runtime.x86_64          5.4.0.50400-72.el9                @rocm-copy
rocm-runtime.x86_64                 5.3.0-2.fc37                      @updates  
rocm-smi.noarch                     4.0.0-6.fc37                      @fedora   
rocminfo.x86_64                     1.0.0.50400-72.el9                @rocm-copy
vulkan-loader.i686                  1.3.216.0-3.fc37                  @fedora   
vulkan-loader.x86_64                1.3.216.0-3.fc37                  @fedora

Test A1

TLDR: No applications are using my AMD GPU. lspci can see my AMD GPU. clinfo cannot see my AMD GPU. glxinfo says my Intel CPU integrated graphics are being used instead.

Test procedure 1
  1. Shut down laptop
  2. Connect to eGPU
  3. Boot up laptop
  4. Login at Gnome lockscreen
  5. Open terminal and type in the respective command / test respective application

A1a. Resolve: “Unsupported GPU Processing Mode. Please review the GPU drivers and GPU configuration under preferences.”

A1b. Minecraft: F3 menu GPU name “Mesa Intel(R) Graphics (ADL GT2) - 4.6 (Core Profile) Mesa 22.2.4 (git-80df10f902)”

A1c. lspci - AMD GPU is detected (sudo lspci -vnn | grep VGA -A 12). GPU is no longer detected when unplugging the thunderbolt cable. GPU is re-detected when plugging the thunderbolt cable back in.

A1c console output
00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P Integrated Graphics Controller [8086:4626] (rev 0c) (prog-if 00 [VGA controller])
	Subsystem: Device [f111:0002]
	Flags: bus master, fast devsel, latency 0, IRQ 149, IOMMU group 1
	Memory at 605c000000 (64-bit, non-prefetchable) [size=16M]
	Memory at 4000000000 (64-bit, prefetchable) [size=256M]
	I/O ports at 3000 [size=64]
	Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
	Capabilities: [40] Vendor Specific Information: Len=0c <?>
	Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
	Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable+ 64bit-
	Capabilities: [d0] Power Management version 2
	Capabilities: [100] Process Address Space ID (PASID)
	Capabilities: [200] Address Translation Service (ATS)
--
06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M] [1002:73df] (rev c5) (prog-if 00 [VGA controller])
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:2331]
	Flags: fast devsel, IRQ 207, IOMMU group 24
	Memory at 6000000000 (64-bit, prefetchable) [disabled] [size=256M]
	Memory at 6010000000 (64-bit, prefetchable) [disabled] [size=2M]
	I/O ports at 4000 [disabled] [size=256]
	Memory at 7c000000 (32-bit, non-prefetchable) [virtual] [size=1M]
	Expansion ROM at 7c100000 [virtual] [disabled] [size=128K]
	Capabilities: [48] Vendor Specific Information: Len=08 <?>
	Capabilities: [50] Power Management version 3
	Capabilities: [64] Express Legacy Endpoint, MSI 00
	Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>

A1d. clinfo - 1 platform detected, 0 devices detected

A1d console output
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                                 0

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]              
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  No devices found in platform
  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)  No devices found in platform

A1e. glxinfo - Intel CPU internal graphics are being used rather than the AMD GPU (glxinfo | grep "OpenGL renderer")

OpenGL renderer string: Mesa Intel(R) Graphics (ADL GT2)

Test A2

TLDR: No applications are using my AMD GPU. lspci can see my AMD GPU. clinfo can see my AMD GPU. glxinfo says my Intel CPU integrated graphics are being used instead.

Test procedure 2 (Please note that this differs from "Test procedure 1")
  1. Shut down laptop
  2. Disconnect eGPU
  3. Boot up laptop
  4. Connect eGPU at Gnome lockscreen
  5. Login at Gnome lockscreen
  6. Open terminal and type in the respective command

A2a. Resolve: “Unsupported GPU Processing Mode. Please review the GPU drivers and GPU configuration under preferences.”

A2b. Minecraft: F3 menu GPU name “Mesa Intel(R) Graphics (ADL GT2) - 4.6 (Core Profile) Mesa 22.2.4 (git-80df10f902)”

A2c. lspci - AMD GPU is detected (sudo lspci -vnn | grep VGA -A 12)

A2c console output
00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P Integrated Graphics Controller [8086:4626] (rev 0c) (prog-if 00 [VGA controller])
	Subsystem: Device [f111:0002]
	Flags: bus master, fast devsel, latency 0, IRQ 149, IOMMU group 1
	Memory at 606c000000 (64-bit, non-prefetchable) [size=16M]
	Memory at 4000000000 (64-bit, prefetchable) [size=256M]
	I/O ports at 4000 [size=64]
	Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
	Capabilities: [40] Vendor Specific Information: Len=0c <?>
	Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
	Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable+ 64bit-
	Capabilities: [d0] Power Management version 2
	Capabilities: [100] Process Address Space ID (PASID)
	Capabilities: [200] Address Translation Service (ATS)
--
06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M] [1002:73df] (rev c5) (prog-if 00 [VGA controller])
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:2331]
	Flags: fast devsel, IRQ 207, IOMMU group 24
	Memory at 6000000000 (64-bit, prefetchable) [disabled] [size=256M]
	Memory at 6010000000 (64-bit, prefetchable) [disabled] [size=2M]
	I/O ports at 3000 [disabled] [size=256]
	Memory at 52000000 (32-bit, non-prefetchable) [virtual] [size=1M]
	Expansion ROM at 52100000 [virtual] [disabled] [size=128K]
	Capabilities: [48] Vendor Specific Information: Len=08 <?>
	Capabilities: [50] Power Management version 3
	Capabilities: [64] Express Legacy Endpoint, MSI 00
	Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>

A2d. :exclamation: clinfo - 1 platform, 1 device. AMD GPU now detected

A2d console output
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:06: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

1e. glxinfo - Intel GPU integrated graphics are being used instead of AMD GPU (glxinfo | grep "OpenGL renderer")

OpenGL renderer string: Mesa Intel(R) Graphics (ADL GT2)

Test A2 analysis

It is interesting that when using “Test procedure 2” where I connect my eGPU at the Gnome lockscreen instead of before booting, clinfo is able to detect 1 device (my AMD GPU), where as when using “Test procedure 1”, clinfo does not detect any devices.

Configuration: B

In this configuration I keep all of the packages from Configuration A and run a script which was recommended by the Framework forum.

Added/Changed repositories:
AMD GPU Proprietary: Index of /amdgpu/22.20.5/rhel/9.0/proprietary/x86_64/
AMD GPU Main: Index of /amdgpu/22.20.5/rhel/9.0/main/x86_64/
Copr AMD GPU Pro shims: https://download.copr.fedorainfracloud.org/results/rmnscnce/amdgpu-pro-shims/fedora-$releasever-$basearch/
Copr AMD GPU Core shims: https://download.copr.fedorainfracloud.org/results/sukhmeet/amdgpu-core-shim/fedora-$releasever-$basearch/

Ran script https://github.com/sukhmeetbawa/OpenCL-AMD-Fedora/opencl-amd.sh with options “1. Install-OpenCL-Latest” and “5. Patch-Davinci-Resolve”

The above options installed these packages
amdgpu-install.noarch
amdgpu-core-shim-0-1.fc37.x86_64  (repo: copr:copr.fedorainfracloud.org:sukhmeet:amdgpu-core-shim)
rocm-opencl-2.0.0.50400-72.el9.x86_64 is already installed.
rocm-runtime-5.3.0-2.fc37.x86_64 is already installed.
libdrm-pro

That script also installed these packages, however I removed them as Gnome would only display a blank screen and flashing cursor on boot. I added them back in a fresh configuration, but clinfo only saw a platform with no devices.

libegl-amdgpu-pro
libgl-amdgpu-pro
libgl-amdgpu-pro-dri
libgl-amdgpu-pro-ext
libglapi-amdgpu-pro
libgles-amdgpu-pro
amdgpu-pro-core
libgl-amdgpu-pro-appprofiles
As per another recommendation, I also installed rpmfusion freeworld mesa packages

sudo dnf swap mesa-va-drivers mesa-va-drivers-freeworld --allowerasing && sudo dnf swap mesa-vdpau-drivers mesa-vdpau-drivers-freeworld --allowerasing

All relevant packages (as far as I’m aware)

sudo dnf list installed '*amd-gpu*' '*amdgpu*' '*rocm*' '*roct*' '*hsa*' '*mesa*' '*vulkan*' | grep -v 'procmail|setproctitle'):

Installed Packages
amd-gpu-firmware.noarch             20221109-144.fc37         @updates                                                 
amdgpu-core-shim.x86_64             0-1.fc37                  @copr:copr.fedorainfracloud.org:sukhmeet:amdgpu-core-shim
amdgpu-install.noarch               5.4.50400-1510348.el9     @@commandline                                            
hsa-rocr.x86_64                     1.7.0.50400-72.el9        @rocm-copy                                               
hsa-rocr-devel.x86_64               1.7.0.50400-72.el9        @rocm-copy                                               
hsakmt.x86_64                       1.0.6-26.rocm5.3.0.fc37   @updates                                                 
hsakmt-roct-devel.x86_64            20221020.0.2.50400-72.el9 @rocm-copy                                               
mesa-dri-drivers.i686               22.2.3-1.fc37             @updates                                                 
mesa-dri-drivers.x86_64             22.2.3-1.fc37             @updates                                                 
mesa-filesystem.i686                22.2.3-1.fc37             @updates                                                 
mesa-filesystem.x86_64              22.2.3-1.fc37             @updates                                                 
mesa-libEGL.i686                    22.2.3-1.fc37             @updates                                                 
mesa-libEGL.x86_64                  22.2.3-1.fc37             @updates                                                 
mesa-libGL.i686                     22.2.3-1.fc37             @updates                                                 
mesa-libGL.x86_64                   22.2.3-1.fc37             @updates                                                 
mesa-libGLU.x86_64                  9.0.1-7.fc37              @fedora                                                  
mesa-libOSMesa.i686                 22.2.3-1.fc37             @updates                                                 
mesa-libOSMesa.x86_64               22.2.3-1.fc37             @updates                                                 
mesa-libgbm.i686                    22.2.3-1.fc37             @updates                                                 
mesa-libgbm.x86_64                  22.2.3-1.fc37             @updates                                                 
mesa-libglapi.i686                  22.2.3-1.fc37             @updates                                                 
mesa-libglapi.x86_64                22.2.3-1.fc37             @updates                                                 
mesa-libxatracker.x86_64            22.2.3-1.fc37             @updates                                                 
mesa-va-drivers-freeworld.x86_64    22.2.3-1.fc37             @rpmfusion-free-updates                                  
mesa-vdpau-drivers-freeworld.x86_64 22.2.3-1.fc37             @rpmfusion-free-updates                                  
mesa-vulkan-drivers.i686            22.2.3-1.fc37             @updates                                                 
mesa-vulkan-drivers.x86_64          22.2.3-1.fc37             @updates                                                 
rocm-comgr.x86_64                   5.3.0-1.fc37              @updates                                                 
rocm-core.x86_64                    5.4.0.50400-72.el9        @rocm-copy                                               
rocm-device-libs.x86_64             1.0.0.50400-72.el9        @rocm-copy                                               
rocm-language-runtime.x86_64        5.4.0.50400-72.el9        @rocm-copy                                               
rocm-ocl-icd.x86_64                 2.0.0.50400-72.el9        @rocm-copy                                               
rocm-opencl.x86_64                  2.0.0.50400-72.el9        @rocm-copy                                               
rocm-opencl-runtime.x86_64          5.4.0.50400-72.el9        @rocm-copy                                               
rocm-runtime.x86_64                 5.3.0-2.fc37              @updates                                                 
rocm-smi.noarch                     4.0.0-6.fc37              @fedora                                                  
rocminfo.x86_64                     1.0.0.50400-72.el9        @rocm-copy                                               
vulkan-loader.i686                  1.3.216.0-3.fc37          @fedora                                                  
vulkan-loader.x86_64                1.3.216.0-3.fc37          @fedora

Test B1

Used Test procedure 1

B1a. :exclamation: Resolve: “Unsupported GPU Processing Mode. Please review the GPU drivers and GPU configuration under preferences.” “CRITICAL_QUIT: GPU Initialization Failed. DaVinci Resolve could not initialize OpenGL. Please ensure that the latest graphics drivers are installed.” These are both individual popups that appear about a second apart.

B1b. Minecraft: Untested

B1c. lspci - AMD GPU is detected (sudo lspci -vnn | grep VGA -A 12)

B1c console output
00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P Integrated Graphics [ Redacted to save on character limit ]
--
06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M] [1002:73df] (rev c5) (prog-if 00 [VGA controller])
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:2331]
	Flags: fast devsel, IRQ 17, IOMMU group 23
	Memory at 6000000000 (64-bit, prefetchable) [size=256M]
	Memory at 6010000000 (64-bit, prefetchable) [size=2M]
	I/O ports at 3000 [size=256]
	Memory at 5e100000 (32-bit, non-prefetchable) [size=1M]
	Expansion ROM at 5e220000 [disabled] [size=128K]
	Capabilities: [48] Vendor Specific Information: Len=08 <?>
	Capabilities: [50] Power Management version 3
	Capabilities: [64] Express Legacy Endpoint, MSI 00
	Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>

B1d. clinfo - 1 platform, 0 devices (typical of Test procedure 1):

B1d console output
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                                 0

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]              
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  No devices found in platform
  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)  No devices found in platform

B1e. glxinfo - Intel CPU internal graphics in use rather than AMD GPU (glxinfo | grep "OpenGL renderer"):

OpenGL renderer string: Mesa Intel(R) Graphics (ADL GT2)

Test B2

Used Test procedure 2

B2a. Resolve: “Unsupported GPU Processing Mode. Please review the GPU drivers and GPU configuration under preferences.”

B2b. Minecraft Untested

B2c. lspci - AMD GPU is detected (sudo lspci -vnn | grep VGA -A 12)

B2c console output
00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P Integrated Graphics [ Redacted to save on character limit ]
--
06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M] [1002:73df] (rev c5) (prog-if 00 [VGA controller])
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:2331]
	Flags: bus master, fast devsel, latency 0, IRQ 134, IOMMU group 23
	Memory at 6000000000 (64-bit, prefetchable) [size=256M]
	Memory at 6010000000 (64-bit, prefetchable) [size=2M]
	I/O ports at 3000 [size=256]
	Memory at 52000000 (32-bit, non-prefetchable) [size=1M]
	Expansion ROM at 52100000 [virtual] [disabled] [size=128K]
	Capabilities: [48] Vendor Specific Information: Len=08 <?>
	Capabilities: [50] Power Management version 3
	Capabilities: [64] Express Legacy Endpoint, MSI 00
	Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>

B2d. clinfo - 1 platform, 1 device

B2d console output
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:06: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

B2e. glxinfo - Intel CPU internal graphics in use rather than AMD GPU (glxinfo | grep "OpenGL renderer"):

OpenGL renderer string: Mesa Intel(R) Graphics (ADL GT2)

Configuration: C

In this configuration I test the capabilities of my AMD GPU with only the kernel driver installed. To achieve this, I remove all packages installed during my previous attempts to get OpenCL.

I’m not sure whether I should have the amd-gpu-firmware package installed, or completely rely on the AMDGPU kernel driver.

All relevant packages (as far as I’m aware)

sudo dnf list installed '*amd-gpu*' '*amdgpu*' '*rocm*' '*roct*' '*hsa*' '*mesa*' '*vulkan*' | grep -v 'procmail|setproctitle'

Installed Packages
mesa-dri-drivers.i686                    22.2.3-1.fc37                  @updates
mesa-dri-drivers.x86_64                  22.2.3-1.fc37                  @updates
mesa-filesystem.i686                     22.2.3-1.fc37                  @updates
mesa-filesystem.x86_64                   22.2.3-1.fc37                  @updates
mesa-libEGL.i686                         22.2.3-1.fc37                  @updates
mesa-libEGL.x86_64                       22.2.3-1.fc37                  @updates
mesa-libGL.i686                          22.2.3-1.fc37                  @updates
mesa-libGL.x86_64                        22.2.3-1.fc37                  @updates
mesa-libGLU.x86_64                       9.0.1-7.fc37                   @fedora 
mesa-libOSMesa.i686                      22.2.3-1.fc37                  @updates
mesa-libOSMesa.x86_64                    22.2.3-1.fc37                  @updates
mesa-libgbm.i686                         22.2.3-1.fc37                  @updates
mesa-libgbm.x86_64                       22.2.3-1.fc37                  @updates
mesa-libglapi.i686                       22.2.3-1.fc37                  @updates
mesa-libglapi.x86_64                     22.2.3-1.fc37                  @updates
mesa-libxatracker.x86_64                 22.2.3-1.fc37                  @updates
mesa-va-drivers.i686                     22.2.3-1.fc37                  @updates
mesa-vulkan-drivers.i686                 22.2.3-1.fc37                  @updates
mesa-vulkan-drivers.x86_64               22.2.3-1.fc37                  @updates
vulkan-loader.i686                       1.3.216.0-3.fc37               @fedora 
vulkan-loader.x86_64                     1.3.216.0-3.fc37               @fedora

Test C1

Used test procedure 1

C1a. :exclamation: Resolve: “Unsupported GPU Processing Mode. Please review the GPU drivers and GPU configuration under preferences.” “CRITICAL_QUIT: GPU Initialization Failed. DaVinci Resolve could not initialize OpenGL. Please ensure that the latest graphics drivers are installed.” These are both individual popups that appear about a second apart.

I didn’t expect this as I uninstalled all packages, however the script I ran in configuration B claimed to “patch” Resolve. It seems like it is making it try to use OpenGL instead of OpenCL. The script does have the option to reverse its modifications, but I did not try this during Configuration C tests.

C1b. Minecraft: F3 menu GPU name “Mesa Intel(R) Graphics (ADL GT2) - 4.6 (Core Profile) Mesa 22.2.4 (git-80df10f902)”

C1c. lspci - AMD GPU is detected (sudo lspci -vnn | grep VGA -A 12)

C1c console output
00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P Integrated Graphics Controller [8086:4626] (rev 0c) (prog-if 00 [VGA controller])
	Subsystem: Device [f111:0002]
	Flags: bus master, fast devsel, latency 0, IRQ 154, IOMMU group 1
	Memory at 606c000000 (64-bit, non-prefetchable) [size=16M]
	Memory at 4000000000 (64-bit, prefetchable) [size=256M]
	I/O ports at 4000 [size=64]
	Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
	Capabilities: [40] Vendor Specific Information: Len=0c <?>
	Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
	Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable+ 64bit-
	Capabilities: [d0] Power Management version 2
	Capabilities: [100] Process Address Space ID (PASID)
	Capabilities: [200] Address Translation Service (ATS)
--
06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M] [1002:73df] (rev c5) (prog-if 00 [VGA controller])
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:2331]
	Flags: fast devsel, IRQ 17, IOMMU group 23
	Memory at 6000000000 (64-bit, prefetchable) [size=256M]
	Memory at 6010000000 (64-bit, prefetchable) [size=2M]
	I/O ports at 3000 [size=256]
	Memory at 5e100000 (32-bit, non-prefetchable) [size=1M]
	Expansion ROM at 5e220000 [disabled] [size=128K]
	Capabilities: [48] Vendor Specific Information: Len=08 <?>
	Capabilities: [50] Power Management version 3
	Capabilities: [64] Express Legacy Endpoint, MSI 00
	Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>

C1d. :exclamation: clinfo - 0 devices, 0 platforms. Test procedure 1 has never enabled clinfo to see any “devices”, but has always allowed clinfo to see a “platform”. This was likely caused by the removal of OpenCL packages in configuration C.

Number of platforms                               0

c1e. glxinfo - Intel CPU integrated graphics in use rather than AMD GPU (glxinfo | grep "OpenGL renderer"):

OpenGL renderer string: Mesa Intel(R) Graphics (ADL GT2)

Test C2

Used test procedure 2

C2a. Resolve: “Unsupported GPU Processing Mode. Please review the GPU drivers and GPU configuration under preferences.” “CRITICAL_QUIT: GPU Initialization Failed. DaVinci Resolve could not initialize OpenGL. Please ensure that the latest graphics drivers are installed.” These are both individual popups that appear about a second apart.

C2b. Minecraft: F3 menu GPU name “Mesa Intel(R) Graphics (ADL GT2) - 4.6 (Core Profile) Mesa 22.2.4 (git-80df10f902)”

C2c. lspci - AMD GPU is detected (sudo lspci -vnn | grep VGA -A 12)

C2c console output
00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P Integrated Graphics Controller [8086:4626] (rev 0c) (prog-if 00 [VGA controller])
	Subsystem: Device [f111:0002]
	Flags: bus master, fast devsel, latency 0, IRQ 149, IOMMU group 1
	Memory at 605c000000 (64-bit, non-prefetchable) [size=16M]
	Memory at 4000000000 (64-bit, prefetchable) [size=256M]
	I/O ports at 3000 [size=64]
	Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
	Capabilities: [40] Vendor Specific Information: Len=0c <?>
	Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
	Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable+ 64bit-
	Capabilities: [d0] Power Management version 2
	Capabilities: [100] Process Address Space ID (PASID)
	Capabilities: [200] Address Translation Service (ATS)
--
06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M] [1002:73df] (rev c5) (prog-if 00 [VGA controller])
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:2331]
	Flags: fast devsel, IRQ 17, IOMMU group 24
	Memory at 6000000000 (64-bit, prefetchable) [size=256M]
	Memory at 6010000000 (64-bit, prefetchable) [size=2M]
	I/O ports at 4000 [size=256]
	Memory at 7c000000 (32-bit, non-prefetchable) [size=1M]
	Expansion ROM at 7c100000 [disabled] [size=128K]
	Capabilities: [48] Vendor Specific Information: Len=08 <?>
	Capabilities: [50] Power Management version 3
	Capabilities: [64] Express Legacy Endpoint, MSI 00
	Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>

C2d. clinfo - no OpenCL devices or platforms detected

Number of platforms                               0

C2e. glxinfo - Intel CPU integrated graphics in use rather than AMD GPU (glxinfo | grep "OpenGL renderer"):

OpenGL renderer string: Mesa Intel(R) Graphics (ADL GT2)

Configuration: D

This is a very short test as I just realised that in all of my previous tests I have used sudo with lspci which has removed the information regarding the amdgpu kernel module which I feel is essential. The environment for this configuration should be very similar to Configuration C.

The amd-gpu-firmware package is not installed, just like Configuration C.

Test: D1

Used Test procedure 1

D1c. lspci - AMD GPU is detected ( lspci -vnn | grep VGA -A 12) Not using sudo this time

D1c console output
00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P Integrated Graphics Controller [8086:4626] (rev 0c) (prog-if 00 [VGA controller])
	Subsystem: Device [f111:0002]
	Flags: bus master, fast devsel, latency 0, IRQ 154, IOMMU group 1
	Memory at 606c000000 (64-bit, non-prefetchable) [size=16M]
	Memory at 4000000000 (64-bit, prefetchable) [size=256M]
	I/O ports at 4000 [size=64]
	Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
	Capabilities: <access denied>
	Kernel driver in use: i915
	Kernel modules: i915

00:04.0 Signal processing controller [1180]: Intel Corporation Alder Lake Innovation Platform Framework Processor Participant [8086:461d] (rev 02)
	Subsystem: Device [f111:0002]
--
06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M] [1002:73df] (rev c5) (prog-if 00 [VGA controller])
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:2331]
	Flags: fast devsel, IRQ 17, IOMMU group 23
	Memory at 6000000000 (64-bit, prefetchable) [size=256M]
	Memory at 6010000000 (64-bit, prefetchable) [size=2M]
	I/O ports at 3000 [size=256]
	Memory at 5e100000 (32-bit, non-prefetchable) [size=1M]
	Expansion ROM at 5e220000 [disabled] [size=128K]
	Capabilities: <access denied>
	Kernel modules: amdgpu

06:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller [1002:ab28]
	Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller [1002:ab28]

Conclusion

My AMD GPU was not once used by Wayland, Resolve, or Minecraft during all tests in configurations A, B and C despite lspci claiming that the amdgpu kernel module was in use.

My only theory is that Wayland and all applications are preferring to use my Intel CPU integrated graphics instead, perhaps because it is the “primary GPU”, rather than my AMD GPU.

Is there a way to make my AMD GPU the primary GPU, perhaps via a kernel argument? Will this cause problems when my eGPU is not connected to my laptop?

Any suggestions or ideas are highly appreciated.

I’m quite interested to see how this works out. Best wishes.

  • I’m still not convinced you have given F37 a fair try. I just upgraded from F36 and F37 and opencl was working immediately after. You want to push the AMD stuff as far away from the kernel as possible, relying on the distribution for that stuff as much as possible. Work your way inward/down.

  • You say you have all pkgs, but didn’t show. I think you should do that. I detailed the minimum set for OpenCL in my thread. Here’s what I have installed now.

Installed Packages
hsa-rocr.x86_64                                  1.5.0.50200-65.el8                             @rocm-prd
hsa-rocr-devel.x86_64                            1.5.0.50200-65.el8                             @rocm-prd
hsakmt.x86_64                                    1.0.6-26.rocm5.3.0.fc37                        @updates 
hsakmt-roct-devel.x86_64                         20220426.0.86.50200-65.el8                     @rocm-prd
rocm-comgr.x86_64                                5.3.0-1.fc37                                   @updates 
rocm-core.x86_64                                 5.2.0.50200-65.el8                             @rocm-prd
rocm-device-libs.x86_64                          5.3.0-1.fc37                                   @updates 
rocm-language-runtime.x86_64                     5.2.0.50200-65.el8                             @rocm-prd
rocm-ocl-icd.x86_64                              2.0.0.50200-65.el8                             @rocm-prd
rocm-opencl.x86_64                               5.3.2-1.fc37                                   @updates 
rocm-runtime.x86_64                              5.3.0-2.fc37                                   @updates 
rocm-smi.noarch                                  4.0.0-6.fc37                                   @fedora  
rocminfo.x86_64                                  5.3.0-1.fc37                                   @updates 

…and I don’t think you need any of the stuff from rocm-prd! But you need rocm because OpenCL only works on top of rocm (anymore).

  • Per the immediately previous comment, you should run rocminfo before you run clinfo. If your rocm isn’t working, there’s no hope for OpenCL. This was I learned in my thread.
$ rocminfo                                                     
ROCk module is loaded
...
*******                                                                                                  
Agent 2                                                                                                  
*******                                                                                                  
  Name:                    gfx1030                                                                       
  Uuid:                    GPU-df883f298804a3ff                                                          
  Marketing Name:          AMD Radeon RX 6800 XT                                                         
...
*** Done ***

(completes without error)

  • Through my own research, the only functionality that I believe is missing in the fedora repos (as of this writing) is the HIP stuff (rocm-hip-*). If you need anything from the AMD repos, I think it would be that. I don’t need them, but I think Darktable does. I haven’t been able to determine if you can combine these AMD repo pkgs with the fedora repo ones, but that would still be my first try. (I believe there is some conflict between AMD’s pkg and fedora rules. Maybe Centos9 pkg is fixed??)

This is my first time trying to use an AMD GPU on Linux, so I’m unfamiliar with best approaches and which tools to use for checking my configurations. I appreciate your patience and advise.

Configuration: E

In this configuration I will install the “minimum set of packages” you listed, and run rocminfo before clinfo in my tests.

New packages installed

sudo dnf install hsa-rocr hsa-rocr-devel hsakmt hsakmt-roct-devel rocm-comgr rocm-core rocm-device-libs rocm-language-runtime rocm-ocl-icd rocm-opencl rocm-runtime rocm-smi rocminfo

Note: The above command installed rocminfo-1.0.0.50400-72.el9.x86_64, which didn’t provide the command rocminfo. I manually ran sudo dnf install rocminfo-5.4.1-1.fc37.x86_64 which upgraded the rocminfo package and provided the command rocminfo. This package upgrade is not reflected in the output below, but can be seen in the “All relevant currently installed packages” output.

 Package                    Arch    Version                     Repository  Size
=================================================================================
Installing:
 hsa-rocr                   x86_64  1.7.0.50400-72.el9          rocm-copy  561 k
 hsa-rocr-devel             x86_64  1.7.0.50400-72.el9          rocm-copy   82 k
 hsakmt                     x86_64  1.0.6-27.rocm5.4.1.fc37     updates     68 k
 hsakmt-roct-devel          x86_64  20221020.0.2.50400-72.el9   rocm-copy   93 k
 rocm-comgr                 x86_64  5.4.1-1.fc37                updates    2.8 M
 rocm-core                  x86_64  5.4.0.50400-72.el9          rocm-copy   16 k
 rocm-device-libs           x86_64  1.0.0.50400-72.el9          rocm-copy  563 k
 rocm-language-runtime      x86_64  5.4.0.50400-72.el9          rocm-copy  7.2 k
 rocm-ocl-icd               x86_64  2.0.0.50400-72.el9          rocm-copy   24 k
 rocm-opencl                x86_64  2.0.0.50400-72.el9          rocm-copy  524 k
 rocm-runtime               x86_64  5.4.1-1.fc37                updates    463 k
 rocm-smi                   noarch  4.0.0-6.fc37                fedora      41 k
 rocminfo                   x86_64  1.0.0.50400-72.el9          rocm-copy   31 k
Installing dependencies:
 clang-libs                 x86_64  15.0.6-1.fc37               updates     21 M
 clang-resource-filesystem  x86_64  15.0.6-1.fc37               updates     12 k
 comgr                      x86_64  2.4.0.50400-72.el9          rocm-copy   36 M
 libdrm-devel               x86_64  2.4.114-1.fc37              updates    173 k
 libpciaccess-devel         x86_64  0.16-7.fc37                 fedora      12 k
 lld-libs                   x86_64  15.0.6-1.fc37               updates    1.3 M
 openmp-extras-runtime      x86_64  15.54.0.50400-72.el9        rocm-copy   20 M
 valgrind                   x86_64  1:3.20.0-1.fc37             updates    4.9 M
 valgrind-devel             x86_64  1:3.20.0-1.fc37             updates     49 k
Installing weak dependencies:
 compiler-rt                x86_64  15.0.6-1.fc37               updates    2.8 M
 libomp                     x86_64  15.0.6-1.fc37               updates    500 k
 libomp-devel               x86_64  15.0.6-1.fc37               updates    358 k
All relevant currently installed packages (as far as I'm aware)

sudo dnf list installed '*amd-gpu*' '*amdgpu*' '*rocm*' '*roct*' '*hsa*' '*mesa*' '*vulkan*' | grep -v 'procmail|setproctitle'

Installed Packages
hsa-rocr.x86_64                     1.7.0.50400-72.el9                @rocm-copy
hsa-rocr-devel.x86_64               1.7.0.50400-72.el9                @rocm-copy
hsakmt.x86_64                       1.0.6-27.rocm5.4.1.fc37           @updates  
hsakmt-roct-devel.x86_64            20221020.0.2.50400-72.el9         @rocm-copy
mesa-dri-drivers.i686               22.3.1-1.fc37                     @updates  
mesa-dri-drivers.x86_64             22.3.1-1.fc37                     @updates  
mesa-filesystem.i686                22.3.1-1.fc37                     @updates  
mesa-filesystem.x86_64              22.3.1-1.fc37                     @updates  
mesa-libEGL.i686                    22.3.1-1.fc37                     @updates  
mesa-libEGL.x86_64                  22.3.1-1.fc37                     @updates  
mesa-libGL.i686                     22.3.1-1.fc37                     @updates  
mesa-libGL.x86_64                   22.3.1-1.fc37                     @updates  
mesa-libGLU.x86_64                  9.0.1-7.fc37                      @fedora   
mesa-libOSMesa.i686                 22.3.1-1.fc37                     @updates  
mesa-libOSMesa.x86_64               22.3.1-1.fc37                     @updates  
mesa-libgbm.i686                    22.3.1-1.fc37                     @updates  
mesa-libgbm.x86_64                  22.3.1-1.fc37                     @updates  
mesa-libglapi.i686                  22.3.1-1.fc37                     @updates  
mesa-libglapi.x86_64                22.3.1-1.fc37                     @updates  
mesa-libxatracker.x86_64            22.3.1-1.fc37                     @updates  
mesa-va-drivers.i686                22.3.1-1.fc37                     @updates  
mesa-vulkan-drivers.i686            22.3.1-1.fc37                     @updates  
mesa-vulkan-drivers.x86_64          22.3.1-1.fc37                     @updates  
rocm-comgr.x86_64                   5.4.1-1.fc37                      @updates  
rocm-core.x86_64                    5.4.0.50400-72.el9                @rocm-copy
rocm-device-libs.x86_64             1.0.0.50400-72.el9                @rocm-copy
rocm-language-runtime.x86_64        5.4.0.50400-72.el9                @rocm-copy
rocm-ocl-icd.x86_64                 2.0.0.50400-72.el9                @rocm-copy
rocm-opencl.x86_64                  2.0.0.50400-72.el9                @rocm-copy
rocm-runtime.x86_64                 5.4.1-1.fc37                      @updates  
rocm-smi.noarch                     4.0.0-6.fc37                      @fedora   
rocminfo.x86_64                     5.4.1-1.fc37                      @updates  
vulkan-loader.i686                  1.3.216.0-3.fc37                  @fedora   
vulkan-loader.x86_64                1.3.216.0-3.fc37                  @fedora

rocm-copy repository baseurl (has not changed since Configuration A): https://repo.radeon.com/rocm/rhel9/rpm

Test E1

Used Test procedure 1: Connect eGPU before booting

E1a. Resolve: “Unsupported GPU Processing Mode. Please review the GPU drivers and GPU configuration under preferences.” “DaVinci Resolve quit unexpectedly”. The program crashed, I assume due to the script from a previous configuration not restoring the .desktop file correctly. I will run the program directly to avoid this.

E1a. Resolve (/opt/resolve/bin/resolve): “Unsupported GPU Processing Mode. Please review the GPU drivers and GPU configuration under preferences.”

E1b. Minecraft: F3 menu GPU name “Mesa Intel(R) Graphics (ADL GT2)” “4.6 (Core Profile) Mesa 22.2.4 (git-80df10f902)”

E1c lspci - AMD GPU is detected (lspci -vnn | grep VGA -A 12)

E1c console output
00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P Integrated Graphics Controller [8086:4626] (rev 0c) (prog-if 00 [VGA controller])
	Subsystem: Device [f111:0002]
	Flags: bus master, fast devsel, latency 0, IRQ 154, IOMMU group 1
	Memory at 606c000000 (64-bit, non-prefetchable) [size=16M]
	Memory at 4000000000 (64-bit, prefetchable) [size=256M]
	I/O ports at 4000 [size=64]
	Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
	Capabilities: <access denied>
	Kernel driver in use: i915
	Kernel modules: i915

00:04.0 Signal processing controller [1180]: Intel Corporation Alder Lake Innovation Platform Framework Processor Participant [8086:461d] (rev 02)
	Subsystem: Device [f111:0002]
--
06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M] [1002:73df] (rev c5) (prog-if 00 [VGA controller])
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:2331]
	Flags: fast devsel, IRQ 17, IOMMU group 23
	Memory at 6000000000 (64-bit, prefetchable) [size=256M]
	Memory at 6010000000 (64-bit, prefetchable) [size=2M]
	I/O ports at 3000 [size=256]
	Memory at 5e100000 (32-bit, non-prefetchable) [size=1M]
	Expansion ROM at 5e220000 [disabled] [size=128K]
	Capabilities: <access denied>
	Kernel modules: amdgpu

06:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller [1002:ab28]
	Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller [1002:ab28]

E1f. rocminfo - Intel CPU integrated graphics detected. AMD GPU not detected.

E1f console output
ROCk module is loaded
=====================    
HSA System Attributes    
=====================    
Runtime Version:         1.1
System Timestamp Freq.:  1000.000000MHz
Sig. Max Wait Duration:  18446744073709551615 (0xFFFFFFFFFFFFFFFF) (timestamp count)
Machine Model:           LARGE                              
System Endianness:       LITTLE                             

==========               
HSA Agents               
==========               
*******                  
Agent 1                  
*******                  
  Name:                    12th Gen Intel(R) Core(TM) i7-1260P
  Uuid:                    CPU-XX                             
  Marketing Name:          12th Gen Intel(R) Core(TM) i7-1260P
  Vendor Name:             CPU                                
  Feature:                 None specified                     
  Profile:                 FULL_PROFILE                       
  Float Round Mode:        NEAR                               
  Max Queue Number:        0(0x0)                             
  Queue Min Size:          0(0x0)                             
  Queue Max Size:          0(0x0)                             
  Queue Type:              MULTI                              
  Node:                    0                                  
  Device Type:             CPU                                
  Cache Info:              
    L1:                      49152(0xc000) KB                   
  Chip ID:                 0(0x0)                             
  ASIC Revision:           0(0x0)                             
  Cacheline Size:          64(0x40)                           
  Max Clock Freq. (MHz):   4700                               
  BDFID:                   0                                  
  Internal Node ID:        0                                  
  Compute Unit:            16                                 
  SIMDs per CU:            0                                  
  Shader Engines:          0                                  
  Shader Arrs. per Eng.:   0                                  
  WatchPts on Addr. Ranges:1                                  
  Features:                None
  Pool Info:               
    Pool 1                   
      Segment:                 GLOBAL; FLAGS: FINE GRAINED        
      Size:                    32570344(0x1f0fbe8) KB             
      Allocatable:             TRUE                               
      Alloc Granule:           4KB                                
      Alloc Alignment:         4KB                                
      Accessible by all:       TRUE                               
    Pool 2                   
      Segment:                 GLOBAL; FLAGS: KERNARG, FINE GRAINED
      Size:                    32570344(0x1f0fbe8) KB             
      Allocatable:             TRUE                               
      Alloc Granule:           4KB                                
      Alloc Alignment:         4KB                                
      Accessible by all:       TRUE                               
    Pool 3                   
      Segment:                 GLOBAL; FLAGS: COARSE GRAINED      
      Size:                    32570344(0x1f0fbe8) KB             
      Allocatable:             TRUE                               
      Alloc Granule:           4KB                                
      Alloc Alignment:         4KB                                
      Accessible by all:       TRUE                               
  ISA Info:                
*** Done ***

E1d. clinfo - 1 platform, 0 devices

E1d console output
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                                 0

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]              
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  No devices found in platform
  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)  No devices found in platform

E1e. glxinfo - Intel CPU integrated graphics in use rather than AMD GPU (glxinfo | grep "OpenGL renderer")

OpenGL renderer string: Mesa Intel(R) Graphics (ADL GT2)

Test E2

Used Test procedure 2: Connect eGPU at Gnome login screen, before logging in

E2a. Resolve (/opt/resolve/bin/resolve): “Unsupported GPU Processing Mode. Please review the GPU drivers and GPU configuration under preferences.”

E2b. Minecraft: F3 menu GPU name “Mesa Intel(R) Graphics (ADL GT2)” “4.6 (Core Profile) Mesa 22.2.4 (git-80df10f902)”

E2c lspci - AMD GPU is detected (lspci -vnn | grep VGA -A 12)

E2c console output
00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P Integrated Graphics Controller [8086:4626] (rev 0c) (prog-if 00 [VGA controller])
	Subsystem: Device [f111:0002]
	Flags: bus master, fast devsel, latency 0, IRQ 149, IOMMU group 1
	Memory at 605c000000 (64-bit, non-prefetchable) [size=16M]
	Memory at 4000000000 (64-bit, prefetchable) [size=256M]
	I/O ports at 3000 [size=64]
	Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
	Capabilities: <access denied>
	Kernel driver in use: i915
	Kernel modules: i915

00:04.0 Signal processing controller [1180]: Intel Corporation Alder Lake Innovation Platform Framework Processor Participant [8086:461d] (rev 02)
	Subsystem: Device [f111:0002]
--
06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M] [1002:73df] (rev c5) (prog-if 00 [VGA controller])
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:2331]
	Flags: fast devsel, IRQ 17, IOMMU group 24
	Memory at 6000000000 (64-bit, prefetchable) [size=256M]
	Memory at 6010000000 (64-bit, prefetchable) [size=2M]
	I/O ports at 4000 [size=256]
	Memory at 7c000000 (32-bit, non-prefetchable) [size=1M]
	Expansion ROM at 7c100000 [disabled] [size=128K]
	Capabilities: <access denied>
	Kernel modules: amdgpu

06:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller [1002:ab28]
	Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller [1002:ab28]

E2f. rocminfo - Intel CPU integrated graphics detected. AMD GPU not detected.

E2f console output
ROCk module is loaded
=====================    
HSA System Attributes    
=====================    
Runtime Version:         1.1
System Timestamp Freq.:  1000.000000MHz
Sig. Max Wait Duration:  18446744073709551615 (0xFFFFFFFFFFFFFFFF) (timestamp count)
Machine Model:           LARGE                              
System Endianness:       LITTLE                             

==========               
HSA Agents               
==========               
*******                  
Agent 1                  
*******                  
  Name:                    12th Gen Intel(R) Core(TM) i7-1260P
  Uuid:                    CPU-XX                             
  Marketing Name:          12th Gen Intel(R) Core(TM) i7-1260P
  Vendor Name:             CPU                                
  Feature:                 None specified                     
  Profile:                 FULL_PROFILE                       
  Float Round Mode:        NEAR                               
  Max Queue Number:        0(0x0)                             
  Queue Min Size:          0(0x0)                             
  Queue Max Size:          0(0x0)                             
  Queue Type:              MULTI                              
  Node:                    0                                  
  Device Type:             CPU                                
  Cache Info:              
    L1:                      49152(0xc000) KB                   
  Chip ID:                 0(0x0)                             
  ASIC Revision:           0(0x0)                             
  Cacheline Size:          64(0x40)                           
  Max Clock Freq. (MHz):   4700                               
  BDFID:                   0                                  
  Internal Node ID:        0                                  
  Compute Unit:            16                                 
  SIMDs per CU:            0                                  
  Shader Engines:          0                                  
  Shader Arrs. per Eng.:   0                                  
  WatchPts on Addr. Ranges:1                                  
  Features:                None
  Pool Info:               
    Pool 1                   
      Segment:                 GLOBAL; FLAGS: FINE GRAINED        
      Size:                    32570464(0x1f0fc60) KB             
      Allocatable:             TRUE                               
      Alloc Granule:           4KB                                
      Alloc Alignment:         4KB                                
      Accessible by all:       TRUE                               
    Pool 2                   
      Segment:                 GLOBAL; FLAGS: KERNARG, FINE GRAINED
      Size:                    32570464(0x1f0fc60) KB             
      Allocatable:             TRUE                               
      Alloc Granule:           4KB                                
      Alloc Alignment:         4KB                                
      Accessible by all:       TRUE                               
    Pool 3                   
      Segment:                 GLOBAL; FLAGS: COARSE GRAINED      
      Size:                    32570464(0x1f0fc60) KB             
      Allocatable:             TRUE                               
      Alloc Granule:           4KB                                
      Alloc Alignment:         4KB                                
      Accessible by all:       TRUE                               
  ISA Info:                
*** Done ***             

E2d. clinfo - 1 platform, 0 devices

E2d console output
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                                 0

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]              
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  No devices found in platform
  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)  No devices found in platform

E2e. glxinfo - Intel CPU integrated graphics in use rather than AMD GPU (glxinfo | grep "OpenGL renderer")

OpenGL renderer string: Mesa Intel(R) Graphics (ADL GT2)

Configuration E summary

  • The amdgpu kernel driver is in use according to lspci
  • rocminfo and clinfo do not see my AMD GPU, regardless of whether I connect my eGPU before booting, or at the Gnome lockscreen. Plugging in before booting has never been successful, but plugging in at the Gnome lockscreen has sometimes allowed clinfo to see my AMD GPU as a “device” depending on which packages were installed.
  • rocminfo and glxinfo can see my Intel integrated graphics, but neither see my AMD GPU.
  • Neither of my test applications (Minecraft and Resolve) used my AMD GPU

That’s only for GCN 2, while your gpu is RDNA2.

Does it work on X.Org (you’ll need xorg-x11-drv-amdgpu for that)?

Have you read that article? External GPU - ArchWiki

  • If you go Xorg, you’ll have to configure it, which is not fun. You may even need to run a separate Xorg for your other GPU, as the link @ozeszty posted suggests. Maybe that’ll be easier, though, since you don’t have to configure the system to do it automatically; you can just boot, login, and start the second Xorg server by hand. Good for testing, and you can worry about automating it later. But, Wayland seems like the way to go, I think.

  • Still didn’t post installed pkgs.

  • The fact that rocminfo isn’t working means something between kernel and ROCm is broken. OpenCL will not work until you fix that, and it doesn’t have anything to do with OpenGL. On the other hand, you don’t need to get OpenGL working or even have that adapter running a display to use it for OpenCL. The two are completely independent. Unfortunately, you seem to want to get both working. Also, I’m using the rocminfo from fedora pkg, not the one from the AMD repo.

  • I don’t think you are using glxinfo correctly. You need to specify the second display if you want to get information about it.

I read about glxinfo, but the documentation is superficial. I checked online a little bit and couldn’t find any evidence of it showing more than one adapter, even in posts about multiple GPUs. I’m pretty sure it does not give information about more than one display at a time.

If you don’t have a display on that adapter, that’s part of the problem. When you plug in the eGPU, Wayland should configure it or let you configure it.

Remember, glxinfo was written for X11. I agree, it appears to work under Wayland, but I don’t know why; none of the documentation says that it should.

  • Too bad these external GPUs are so expensive, or I’d try it.
  • I definitely want to stick to Wayland. It’s one of the reasons I bought an AMD GPU rather than an Nvidia GPU.
  • I have listed certain packages underneath the “All relevant currently installed packages (as far as I’m aware)” dropdown. I feel listing all 2,500 of my installed packages is excessive so I have been using the following command to filter in packages I thought were relevant: sudo dnf list installed '*amd-gpu*' '*amdgpu*' '*rocm*' '*roct*' '*hsa*' '*mesa*' '*vulkan*' | grep -v 'procmail|setproctitle'. Please amend this command to include the packages you want to see the installation status of, and I will provide the output.

  • My main target is to have Resolve use my AMD GPU. As far as I’m aware, Resolve uses OpenCL. However, ideally I want any applications which can benefit from a dedicated GPU to use my AMD GPU.

glxinfo on multiple X displays

Used Test procedure 2

  • I attempted to obtain my X display names with ps aux | grep Xwayland.
username    21296  2.0  0.2 1265464 76768 ?       Sl   00:28   0:05 /usr/bin/Xwayland :0 -rootless -noreset -accessx -core -auth /run/user/1000/.mutter-Xwaylandauth.8L5FX1 -listenfd 4 -listenfd 5 -displayfd 6 -initfd 7
  • glxinfo outputs for X displays 0, 1, 2:

    • $ glxinfo -display :0 | grep "OpenGL renderer"

      OpenGL renderer string: Mesa Intel(R) Graphics (ADL GT2)
      
    • $ glxinfo -display :1 | grep "OpenGL renderer"

      OpenGL renderer string: Mesa Intel(R) Graphics (ADL GT2)
      
    • $ glxinfo -display :2 | grep "OpenGL renderer"

      Error: unable to open display :2
      

I don’t receive any GUI popups or feedback when I connect my eGPU, other than it showing up in “Gnome settings: Privacy → Thunderbolt” as an “Authorized” device. It does not show up in Thunderbolt settings using “Test procedure 1” where the eGPU is plugged in before boot. My only theory is that the LUKS login screen may confuse it somehow. Gnome Thunderbolt settings only displays my eGPU as connected if I connect it either at the Gnome lockscreen or whilst inside a Gnome session.

  • Ah yes, sorry, you’re right, you did post pkgs. Yes, that’s plenty. Looks like you are doing much like me, mostly fedora pkgs. Good.

  • Now, the glxinfo is still concerning. On your computer, as on mine, :0 and :1 are the same device? That makes no sense. Are they different “desktops”? I guess I have two, but I can have many more.

  • So, you do or don’t have a monitor and working desktop on the eGPU? If not, this is your first priority. If you don’t want that, then you’ve cut yoru work in half, already, because you don’t have to get OpenGL working on that card. You’ll never get OpenGL acceleration support from that card; you cannot “farm” out OpenGL to an other card. It only helps accelerate what is actually displayed; it’s not like OpenCL.

  • You could try the Centos8 repo. I haven’t updated my repo configuration to point to EL9, yet, because I don’t think those are important packages. Maybe the are and maybe the EL9 ones are broken. It’s something to consider.

  • My only other idea is to consider Xorg. I mean, it works differently. You have two completely unrelated adapters in your computer. Xorg might actually be the right choice. Then again, it’s not going to help with OpenCL, and I’m guessing that is more important than OpenGL for you, but I don’t know.

  • The fact that rocminfo isn’t working means something else is wrong. I’m surprised, but out of ideas.

Something interesting I noticed with the lspci output is that my CPU integrated graphics have a “Kernel driver in use”, but my AMD GPU does not. Is this significant?

00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P Integrated Graphics Controller [8086:4626] (rev 0c) (prog-if 00 [VGA controller])
	...
	Kernel driver in use: i915
	Kernel modules: i915
--
06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M] [1002:73df] (rev c5) (prog-if 00 [VGA controller])
	...
	Kernel modules: amdgpu

I don’t have a monitor connected via displayport to my GPU. I do have a thunderbolt cable from my eGPU to my laptop, which is my intended setup.

According to ps aux | grep X, I only have one desktop, that being :0. I’m unsure why glxinfo -display :1 succeeds. It succeeds regardless of whether my eGPU is connected.

Extra testing with glxinfo and X desktops

My gnome session is by default always on the “tty2 page” from boot. If I open another Gnome lockscreen (ctrl + alt + f1), ps aux (see below) claims I have another X desktop at :1024.

ps aux output

ps aux | grep "Xwayland"

username     3085  0.1  0.2 1268320 77400 ?       Sl   11:39   0:02 /usr/bin/Xwayland :0 -rootless -noreset -accessx -core -auth /run/user/1000/.mutter-Xwaylandauth.2QRGX1 -listenfd 4 -listenfd 5 -displayfd 6 -initfd 7
gdm         8689  0.4  0.2 1220308 72704 tty1    Sl+  12:19   0:00 /usr/bin/Xwayland :1024 -rootless -noreset -accessx -core -auth /run/user/42/.mutter-Xwaylandauth.UBRKX1 -listenfd 4 -listenfd 5 -displayfd 6 -initfd 7

glxinfo does not agree: Error: unable to open display :1024.

As you have a working setup, I think it would be beneficial for me to try and replicate your packages and testing methods as closely as possible.

Configuration F

In this configuration I will only use command line tools for testing instead of testing GUI applications too. I plan to increase the number of testing methods once the essential ones start succeeding. I’m also introducing the tool boltctl which provides information about Thunderbolt 3 devices.

Removed repo: Index of /rocm/rhel9/rpm/
Added repo: Index of /rocm/centos8/rpm/

Newly installed packages (different versions - from centos8 rather than rhel9)

Removed all previously installed rhel9 rocm packages: sudo dnf remove hsa-rocr hsa-rocr-devel hsakmt hsakmt-roct-devel rocm-comgr rocm-core rocm-device-libs rocm-language-runtime rocm-ocl-icd rocm-opencl rocm-runtime rocm-smi rocminfo

Installed all previously installed rocm packages using the centos8 repo: sudo dnf install hsa-rocr hsa-rocr-devel hsakmt hsakmt-roct-devel rocm-comgr rocm-core rocm-device-libs rocm-language-runtime rocm-ocl-icd rocm-opencl rocm-runtime rocm-smi rocminfo

 Problem: cannot install the best candidate for the job
  - nothing provides /usr/libexec/platform-python needed by rocminfo-1.0.0.50200-65.el8.x86_64
=================================================================================
 Package                    Arch    Version                     Repository  Size
=================================================================================
Installing:
 hsa-rocr                   x86_64  1.5.0.50200-65.el8          rocm-copy  503 k
 hsa-rocr-devel             x86_64  1.5.0.50200-65.el8          rocm-copy   91 k
 hsakmt                     x86_64  1.0.6-27.rocm5.4.1.fc37     updates     68 k
 hsakmt-roct-devel          x86_64  20220426.0.86.50200-65.el8  rocm-copy   90 k
 rocm-comgr                 x86_64  5.4.1-1.fc37                updates    2.8 M
 rocm-core                  x86_64  5.2.0.50200-65.el8          rocm-copy   15 k
 rocm-device-libs           x86_64  1.0.0.50200-65.el8          rocm-copy  547 k
 rocm-language-runtime      x86_64  5.2.0.50200-65.el8          rocm-copy  7.1 k
 rocm-ocl-icd               x86_64  2.0.0.50200-65.el8          rocm-copy   22 k
 rocm-opencl                x86_64  2.0.0.50200-65.el8          rocm-copy  494 k
 rocm-runtime               x86_64  5.4.1-1.fc37                updates    463 k
 rocm-smi                   noarch  4.0.0-6.fc37                fedora      41 k
 rocminfo                   x86_64  5.4.1-1.fc37                updates     34 k
Installing dependencies:
 clang-libs                 x86_64  15.0.6-2.fc37               updates     21 M
 clang-resource-filesystem  x86_64  15.0.6-2.fc37               updates     12 k
 comgr                      x86_64  2.4.0.50200-65.el8          rocm-copy   36 M
 libdrm-devel               x86_64  2.4.114-1.fc37              updates    173 k
 libpciaccess-devel         x86_64  0.16-7.fc37                 fedora      12 k
 lld-libs                   x86_64  15.0.6-1.fc37               updates    1.3 M
 valgrind                   x86_64  1:3.20.0-1.fc37             updates    4.9 M
 valgrind-devel             x86_64  1:3.20.0-1.fc37             updates     49 k
Installing weak dependencies:
 compiler-rt                x86_64  15.0.6-1.fc37               updates    2.8 M
 libomp                     x86_64  15.0.6-1.fc37               updates    500 k
 libomp-devel               x86_64  15.0.6-1.fc37               updates    358 k
Skipping packages with broken dependencies:
 rocminfo                   x86_64  1.0.0.50200-65.el8          rocm-copy   30 k
All relevant currently installed packages (as far as I'm aware)

sudo dnf list installed '*amd-gpu*' '*amdgpu*' '*rocm*' '*roct*' '*hsa*' '*mesa*' '*vulkan*' | grep -v 'procmail|setproctitle'

Installed Packages
hsa-rocr.x86_64                     1.5.0.50200-65.el8                @rocm-copy
hsa-rocr-devel.x86_64               1.5.0.50200-65.el8                @rocm-copy
hsakmt.x86_64                       1.0.6-27.rocm5.4.1.fc37           @updates  
hsakmt-roct-devel.x86_64            20220426.0.86.50200-65.el8        @rocm-copy
mesa-dri-drivers.i686               22.3.1-1.fc37                     @updates  
mesa-dri-drivers.x86_64             22.3.1-1.fc37                     @updates  
mesa-filesystem.i686                22.3.1-1.fc37                     @updates  
mesa-filesystem.x86_64              22.3.1-1.fc37                     @updates  
mesa-libEGL.i686                    22.3.1-1.fc37                     @updates  
mesa-libEGL.x86_64                  22.3.1-1.fc37                     @updates  
mesa-libGL.i686                     22.3.1-1.fc37                     @updates  
mesa-libGL.x86_64                   22.3.1-1.fc37                     @updates  
mesa-libGLU.x86_64                  9.0.1-7.fc37                      @fedora   
mesa-libOSMesa.i686                 22.3.1-1.fc37                     @updates  
mesa-libOSMesa.x86_64               22.3.1-1.fc37                     @updates  
mesa-libgbm.i686                    22.3.1-1.fc37                     @updates  
mesa-libgbm.x86_64                  22.3.1-1.fc37                     @updates  
mesa-libglapi.i686                  22.3.1-1.fc37                     @updates  
mesa-libglapi.x86_64                22.3.1-1.fc37                     @updates  
mesa-libxatracker.x86_64            22.3.1-1.fc37                     @updates  
mesa-va-drivers.i686                22.3.1-1.fc37                     @updates  
mesa-vulkan-drivers.i686            22.3.1-1.fc37                     @updates  
mesa-vulkan-drivers.x86_64          22.3.1-1.fc37                     @updates  
rocm-comgr.x86_64                   5.4.1-1.fc37                      @updates  
rocm-core.x86_64                    5.2.0.50200-65.el8                @rocm-copy
rocm-device-libs.x86_64             1.0.0.50200-65.el8                @rocm-copy
rocm-language-runtime.x86_64        5.2.0.50200-65.el8                @rocm-copy
rocm-ocl-icd.x86_64                 2.0.0.50200-65.el8                @rocm-copy
rocm-opencl.x86_64                  2.0.0.50200-65.el8                @rocm-copy
rocm-runtime.x86_64                 5.4.1-1.fc37                      @updates  
rocm-smi.noarch                     4.0.0-6.fc37                      @fedora   
rocminfo.x86_64                     5.4.1-1.fc37                      @updates  
vulkan-loader.i686                  1.3.216.0-3.fc37                  @fedora   
vulkan-loader.x86_64                1.3.216.0-3.fc37                  @fedora

Test F1

Test procedure 1: Connect eGPU before booting

F1g. boltctl - eGPU detected (boltctl -U short)

F1g console output
 ● AKiTiO Node Titan
   ├─ type:          peripheral
   ├─ name:          Node Titan
   ├─ vendor:        AKiTiO
   ├─ uuid:          c5030000-0092…
   ├─ generation:    Thunderbolt 3
   ├─ status:        authorized
   │  ├─ domain:     1b018780-8049-e7ac-ffff-ffffffffffff
   │  ├─ rx speed:   40 Gb/s = 2 lanes * 20 Gb/s
   │  ├─ tx speed:   40 Gb/s = 2 lanes * 20 Gb/s
   │  └─ authflags:  boot
   ├─ authorized:    Thu 29 Dec 2022 13:48:20 UTC
   ├─ connected:     Thu 29 Dec 2022 13:48:20 UTC
   └─ stored:        Sat 17 Dec 2022 16:39:19 UTC
      ├─ policy:     iommu
      └─ key:        no

F1c. lspci - AMD GPU is detected. Kernel driver not in use? (lspci -vnn | grep VGA -A 12)

F1c console output
00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P Integrated Graphics Controller [8086:4626] (rev 0c) (prog-if 00 [VGA controller])
	Subsystem: Device [f111:0002]
	Flags: bus master, fast devsel, latency 0, IRQ 154, IOMMU group 1
	Memory at 606c000000 (64-bit, non-prefetchable) [size=16M]
	Memory at 4000000000 (64-bit, prefetchable) [size=256M]
	I/O ports at 4000 [size=64]
	Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
	Capabilities: <access denied>
	Kernel driver in use: i915
	Kernel modules: i915

00:04.0 Signal processing controller [1180]: Intel Corporation Alder Lake Innovation Platform Framework Processor Participant [8086:461d] (rev 02)
	Subsystem: Device [f111:0002]
--
06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M] [1002:73df] (rev c5) (prog-if 00 [VGA controller])
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:2331]
	Flags: fast devsel, IRQ 17, IOMMU group 23
	Memory at 6000000000 (64-bit, prefetchable) [size=256M]
	Memory at 6010000000 (64-bit, prefetchable) [size=2M]
	I/O ports at 3000 [size=256]
	Memory at 5e100000 (32-bit, non-prefetchable) [size=1M]
	Expansion ROM at 5e220000 [disabled] [size=128K]
	Capabilities: <access denied>
	Kernel modules: amdgpu

06:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller [1002:ab28]
	Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller [1002:ab28]

F1f. rocminfo - Intel CPU integrated graphics detected. AMD GPU not detected.

F1f console output
ROCk module is loaded
=====================    
HSA System Attributes    
=====================    
Runtime Version:         1.1
System Timestamp Freq.:  1000.000000MHz
Sig. Max Wait Duration:  18446744073709551615 (0xFFFFFFFFFFFFFFFF) (timestamp count)
Machine Model:           LARGE                              
System Endianness:       LITTLE                             

==========               
HSA Agents               
==========               
*******                  
Agent 1                  
*******                  
  Name:                    12th Gen Intel(R) Core(TM) i7-1260P
  Uuid:                    CPU-XX                             
  Marketing Name:          12th Gen Intel(R) Core(TM) i7-1260P
  Vendor Name:             CPU                                
  Feature:                 None specified                     
  Profile:                 FULL_PROFILE                       
  Float Round Mode:        NEAR                               
  Max Queue Number:        0(0x0)                             
  Queue Min Size:          0(0x0)                             
  Queue Max Size:          0(0x0)                             
  Queue Type:              MULTI                              
  Node:                    0                                  
  Device Type:             CPU                                
  Cache Info:              
    L1:                      49152(0xc000) KB                   
  Chip ID:                 0(0x0)                             
  ASIC Revision:           0(0x0)                             
  Cacheline Size:          64(0x40)                           
  Max Clock Freq. (MHz):   4700                               
  BDFID:                   0                                  
  Internal Node ID:        0                                  
  Compute Unit:            16                                 
  SIMDs per CU:            0                                  
  Shader Engines:          0                                  
  Shader Arrs. per Eng.:   0                                  
  WatchPts on Addr. Ranges:1                                  
  Features:                None
  Pool Info:               
    Pool 1                   
      Segment:                 GLOBAL; FLAGS: FINE GRAINED        
      Size:                    32570344(0x1f0fbe8) KB             
      Allocatable:             TRUE                               
      Alloc Granule:           4KB                                
      Alloc Alignment:         4KB                                
      Accessible by all:       TRUE                               
    Pool 2                   
      Segment:                 GLOBAL; FLAGS: KERNARG, FINE GRAINED
      Size:                    32570344(0x1f0fbe8) KB             
      Allocatable:             TRUE                               
      Alloc Granule:           4KB                                
      Alloc Alignment:         4KB                                
      Accessible by all:       TRUE                               
    Pool 3                   
      Segment:                 GLOBAL; FLAGS: COARSE GRAINED      
      Size:                    32570344(0x1f0fbe8) KB             
      Allocatable:             TRUE                               
      Alloc Granule:           4KB                                
      Alloc Alignment:         4KB                                
      Accessible by all:       TRUE                               
  ISA Info:                
*** Done ***

F1d. clinfo - 1 platform, 0 devices

F1d console output
Number of platforms                               1
  Platform Name                                   AMD Accelerated Parallel Processing
  Platform Vendor                                 Advanced Micro Devices, Inc.
  Platform Version                                OpenCL 2.1 AMD-APP (3452.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                                 0

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]              
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  No devices found in platform
  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)  No devices found in platform

F1e. glxinfo - Intel CPU integrated graphics in use rather than AMD GPU (glxinfo | grep "OpenGL renderer")

OpenGL renderer string: Mesa Intel(R) Graphics (ADL GT2)

Test F2

Test procedure 2: Connect eGPU at Gnome lockscreen

F2g. boltctl - eGPU detected (boltctl -U short)

F2g console output
 ● AKiTiO Node Titan
   ├─ type:          peripheral
   ├─ name:          Node Titan
   ├─ vendor:        AKiTiO
   ├─ uuid:          c5030000-0092…
   ├─ generation:    Thunderbolt 3
   ├─ status:        authorized
   │  ├─ domain:     8c9c8780-a0fc-77c6-ffff-ffffffffffff
   │  ├─ rx speed:   40 Gb/s = 2 lanes * 20 Gb/s
   │  ├─ tx speed:   40 Gb/s = 2 lanes * 20 Gb/s
   │  └─ authflags:  none
   ├─ authorized:    Thu 29 Dec 2022 13:24:59 UTC
   ├─ connected:     Thu 29 Dec 2022 13:24:59 UTC
   └─ stored:        Sat 17 Dec 2022 16:39:19 UTC
      ├─ policy:     iommu
      └─ key:        no

F2c. lspci - AMD GPU is detected. Kernel driver not in use? (lspci -vnn | grep VGA -A 12)

F2c console output
00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P Integrated Graphics Controller [8086:4626] (rev 0c) (prog-if 00 [VGA controller])
	Subsystem: Device [f111:0002]
	Flags: bus master, fast devsel, latency 0, IRQ 154, IOMMU group 1
	Memory at 606c000000 (64-bit, non-prefetchable) [size=16M]
	Memory at 4000000000 (64-bit, prefetchable) [size=256M]
	I/O ports at 4000 [size=64]
	Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
	Capabilities: <access denied>
	Kernel driver in use: i915
	Kernel modules: i915

00:04.0 Signal processing controller [1180]: Intel Corporation Alder Lake Innovation Platform Framework Processor Participant [8086:461d] (rev 02)
	Subsystem: Device [f111:0002]
--
06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M] [1002:73df] (rev c5) (prog-if 00 [VGA controller])
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:2331]
	Flags: fast devsel, IRQ 17, IOMMU group 23
	Memory at 6000000000 (64-bit, prefetchable) [size=256M]
	Memory at 6010000000 (64-bit, prefetchable) [size=2M]
	I/O ports at 3000 [size=256]
	Memory at 52000000 (32-bit, non-prefetchable) [size=1M]
	Expansion ROM at 52100000 [virtual] [disabled] [size=128K]
	Capabilities: <access denied>
	Kernel modules: amdgpu

06:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller [1002:ab28]
	Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller [1002:ab28]

F2f. rocminfo - Intel CPU integrated graphics detected. AMD GPU not detected.

F2f console output
ROCk module is loaded
=====================    
HSA System Attributes    
=====================    
Runtime Version:         1.1
System Timestamp Freq.:  1000.000000MHz
Sig. Max Wait Duration:  18446744073709551615 (0xFFFFFFFFFFFFFFFF) (timestamp count)
Machine Model:           LARGE                              
System Endianness:       LITTLE                             

==========               
HSA Agents               
==========               
*******                  
Agent 1                  
*******                  
  Name:                    12th Gen Intel(R) Core(TM) i7-1260P
  Uuid:                    CPU-XX                             
  Marketing Name:          12th Gen Intel(R) Core(TM) i7-1260P
  Vendor Name:             CPU                                
  Feature:                 None specified                     
  Profile:                 FULL_PROFILE                       
  Float Round Mode:        NEAR                               
  Max Queue Number:        0(0x0)                             
  Queue Min Size:          0(0x0)                             
  Queue Max Size:          0(0x0)                             
  Queue Type:              MULTI                              
  Node:                    0                                  
  Device Type:             CPU                                
  Cache Info:              
    L1:                      49152(0xc000) KB                   
  Chip ID:                 0(0x0)                             
  ASIC Revision:           0(0x0)                             
  Cacheline Size:          64(0x40)                           
  Max Clock Freq. (MHz):   4700                               
  BDFID:                   0                                  
  Internal Node ID:        0                                  
  Compute Unit:            16                                 
  SIMDs per CU:            0                                  
  Shader Engines:          0                                  
  Shader Arrs. per Eng.:   0                                  
  WatchPts on Addr. Ranges:1                                  
  Features:                None
  Pool Info:               
    Pool 1                   
      Segment:                 GLOBAL; FLAGS: FINE GRAINED        
      Size:                    32570344(0x1f0fbe8) KB             
      Allocatable:             TRUE                               
      Alloc Granule:           4KB                                
      Alloc Alignment:         4KB                                
      Accessible by all:       TRUE                               
    Pool 2                   
      Segment:                 GLOBAL; FLAGS: KERNARG, FINE GRAINED
      Size:                    32570344(0x1f0fbe8) KB             
      Allocatable:             TRUE                               
      Alloc Granule:           4KB                                
      Alloc Alignment:         4KB                                
      Accessible by all:       TRUE                               
    Pool 3                   
      Segment:                 GLOBAL; FLAGS: COARSE GRAINED      
      Size:                    32570344(0x1f0fbe8) KB             
      Allocatable:             TRUE                               
      Alloc Granule:           4KB                                
      Alloc Alignment:         4KB                                
      Accessible by all:       TRUE                               
  ISA Info:                
*** Done ***

F2d. clinfo - 1 platform, 0 devices

F2d console output
Number of platforms                               1
  Platform Name                                   AMD Accelerated Parallel Processing
  Platform Vendor                                 Advanced Micro Devices, Inc.
  Platform Version                                OpenCL 2.1 AMD-APP (3452.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                                 0

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]              
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  No devices found in platform
  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)  No devices found in platform

F2e. glxinfo - Intel CPU integrated graphics in use rather than AMD GPU (glxinfo | grep "OpenGL renderer")

OpenGL renderer string: Mesa Intel(R) Graphics (ADL GT2)

Configuration F analysis

  • eGPU is being detected and authorized according to boltctl
  • AMD GPU is being detected, and its kernel module is being recognised according to lspci
  • AMG GPU’s kernel driver is not being reported as “in use”, whereas Intel CPU integrated graphics’ kernel driver is being reported as “in use” according to lspci
  • AMD GPU is not detected by rocminfo
  • AMD “platform” is detected by clinfo, but AMD “device” is not
  • By “desktop” I meant a “workspace”. Sorry, wrong term. I was speculating that :1 in Wayland might mean a second workspace. In X11, it was :0.1, I think. I thought I read a long time ago that Wayland numbering was different, but I don’t know.

  • Even with X11 (not wayland), I don’t think you need to have one display server running for each adapter to get them both to work. You can have a display spanning multiple monitors, for example, with xrandr. But, you can have separate processes. You can configure it either way, I think. But, it’s been many years, so I don’t remember very well. Just don’t assume that you can tell what’s going on by looking for the number of X processes, especially with Wayland; it’s a whole different beast.

  • Kernel modules go “in-use” when another module gets stacked on top of it or when a userspace program opens a device it provides (and keeps it open, I think). A good example is the snd module (see below). You don’t have to be playing sound to be “in-use” because PulseAudio or PipeWire or whatever is running.

$ lsmod | grep "(snd|Module)"
Module                  Size  Used by
snd_seq_dummy          16384  0
snd_hrtimer            16384  1
snd_hda_codec_realtek   172032  1
snd_hda_codec_generic    98304  1 snd_hda_codec_realtek
ledtrig_audio          16384  1 snd_hda_codec_generic
snd_hda_codec_hdmi     86016  1
snd_hda_intel          61440  4
snd_intel_dspcfg       36864  1 snd_hda_intel
snd_intel_sdw_acpi     20480  1 snd_intel_dspcfg
snd_usb_audio         397312  7
snd_hda_codec         184320  4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
snd_usbmidi_lib        45056  1 snd_usb_audio
snd_rawmidi            45056  1 snd_usbmidi_lib
snd_hda_core          114688  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
snd_hwdep              16384  2 snd_usb_audio,snd_hda_codec
mc                     69632  5 videodev,snd_usb_audio,videobuf2_v4l2,uvcvideo,videobuf2_common
snd_seq                94208  7 snd_seq_dummy
snd_seq_device         16384  2 snd_seq,snd_rawmidi
snd_pcm               151552  6 snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,snd_hda_core
snd_timer              49152  3 snd_seq,snd_hrtimer,snd_pcm
snd                   126976  36 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm,snd_rawmidi
soundcore              16384  1 snd
  • I don’t think it’s a problem that amdgpu isn’t in use for you because you’re not using it; you don’t have any display on it, and your not computing/crunching on it. lspci shows my GPU in use, but I’m using it for many different things at the same time.
$ lsmod |grep "(amd|Module)"
Module                  Size  Used by
edac_mce_amd           57344  0
kvm_amd               172032  0
kvm                  1122304  1 kvm_amd
amdgpu              10166272  160
drm_ttm_helper         16384  1 amdgpu
ttm                    94208  2 amdgpu,drm_ttm_helper
iommu_v2               24576  1 amdgpu
gpu_sched              49152  1 amdgpu
drm_buddy              20480  1 amdgpu
drm_display_helper    180224  1 amdgpu
ccp                   122880  1 kvm_amd
  • The bottom line is that you need to get a display working on that GPU if you want to get OpenGL working on it. But, you don’t need to do that if you want to run OpenCL on it.

  • I don’t understand what’s wrong with your OpenCL. I’ve been through this many times with many different AMD cards. Once all the drivers and libraries are in place, clinfo should show it, and now, rocminfo should show it, too. I don’t get it.

  • Now, I have another idea. Why don’t you create a Virtual Machine and make your eGPU the dedicated video adapter for that VM? I’ve done that with VMware, and I know that QEMU/KVM can do it, I just haven’t tried it, myself. Not an ideal solution, but, it should work. One benefit of this approach is that you could put any OS on it. You could go with Windows or Ubuntu, even, and then you’d be able to ask AMD for support.

Is there a way I could force my system to use my AMD GPU for everything, instead of Intel CPU integrated graphics, whilst using Wayland?

Are there any more relevant packages I could list, or any logs which may help with troubleshooting?

We know OpenCL isn’t working at the moment. Is there a way to verify if my AMD GPU is working at all, perhaps by running an application or tool which can utilise the GPU using just the kernel driver?

KVM GPU Passthrough

Enabled IOMMU. Added arguments to grub: intel_iommu=on kvm.ignore_msrs=1
sudo grubby --update-kernel=ALL --args="intel_iommu=on kvm.ignore_msrs=1"

Reference: virtualization - Ubuntu 22.04 GPU passthrough (QEMU) - Ask Ubuntu

AMD GPU HDMI kernel driver in use: snd_hda_intel (IOMMU)

lspci -nnk | grep VGA -A 6

00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P Integrated Graphics Controller [8086:4626] (rev 0c)
	Subsystem: Device [f111:0002]
	Kernel driver in use: i915
	Kernel modules: i915
00:04.0 Signal processing controller [1180]: Intel Corporation Alder Lake Innovation Platform Framework Processor Participant [8086:461d] (rev 02)
	Subsystem: Device [f111:0002]
	Kernel driver in use: proc_thermal_pci
--
06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M] [1002:73df] (rev c5)
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:2331]
	Kernel modules: amdgpu
06:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller [1002:ab28]
	Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller [1002:ab28]
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel

I passed through both AMD PCIe devices and my eGPU to my Windows 11 VM. AMD drivers were also downloaded from their website and installed within the VM.

After the VM boots, the screen is just black. To test that my eGPU and AMD GPU aren’t faulty, I will try to install windows 10/rocky linux 9 to a usb thumb drive and boot from there to mitigate any kvm issues.

KVM GPU Passthrough 2

Windows 11 VM

TPM: Enabled

VM configuration

Hypervisor: KVM
Architecture: x86_64
Emulator: /usr/bin/qemu-system-x86_64
Chipset: Q35
Firmware: UEFI x86_64: /usr/share/edk2/ovmf/OVMF_CODE.secboot.fd

Display: Spice server
Video: QXL

PCI passthrough (ROM BAR): Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M]
PCI passthrough (ROM BAR): Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller

This Windows VM is very unstable. The AMD GPU was working when using Enterprise instead of Adrenaline drivers.

Rocky 9 VM

LUKS: Not enabled
Repo: Index of /rocm/centos8/rpm/

VM configuration

Hypervisor: KVM
Architecture: x86_64
Emulator: /usr/bin/qemu-system-x86_64
Chipset: Q35
Firmware: BIOS

Display: Spice server
Video: QXL

PCI passthrough (ROM BAR): Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M]
PCI passthrough (ROM BAR): Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller

Package installation log
RHEL 9 SHA-1 deprecation workaround

Security notice: RHEL 9 deprecated SHA-1, so you must explicitly allow SHA-1 to install (ROCM) SHA-1 signed packages: sudo update-crypto-policies --set DEFAULT:SHA1.
Switch back once packages are installed: sudo update-crypto-policies --set DEFAULT:
Source: Enhancing RHEL Security: Understanding SHA-1 deprecation on RHEL 9

sudo dnf install -y hsa-rocr hsa-rocr-devel hsakmt hsakmt-roct-devel rocm-comgr rocm-core rocm-device-libs rocm-language-runtime rocm-ocl-icd rocm-opencl rocm-runtime rocm-smi rocminfo
All installed successfully except the following (only present in fedora “updates” repo):

No match for argument: hsakmt
No match for argument: rocm-comgr
No match for argument: rocm-runtime

Installing rocminfo5.2.0 also installed the missing packages above:

 Package                 Arch    Version                      Repository  Size
===============================================================================
Installing:
 rocminfo5.2.0           x86_64  1.0.0.50200-65.el8           rocm-copy   30 k
Installing dependencies:
 hsa-rocr5.2.0           x86_64  1.5.0.50200-65.el8           rocm-copy  502 k
 hsakmt-roct-devel5.2.0  x86_64  20220426.0.86.50200-65.el8   rocm-copy   90 k
 rocm-core5.2.0          x86_64  5.2.0.50200-65.el8           rocm-copy   15 k
Package list

sudo dnf list installed '*amd-gpu*' '*amdgpu*' '*rocm*' '*roct*' '*hsa*' '*mesa*' '*vulkan*' | grep -v 'procmail|setproctitle'

Installed Packages
hsa-rocr.x86_64                     1.5.0.50200-65.el8                @rocm-copy
hsa-rocr-devel.x86_64               1.5.0.50200-65.el8                @rocm-copy
hsa-rocr5.2.0.x86_64                1.5.0.50200-65.el8                @rocm-copy
hsakmt-roct-devel.x86_64            20220426.0.86.50200-65.el8        @rocm-copy
hsakmt-roct-devel5.2.0.x86_64       20220426.0.86.50200-65.el8        @rocm-copy
mesa-dri-drivers.x86_64             22.1.5-2.el9                      @appstream
mesa-filesystem.x86_64              22.1.5-2.el9                      @appstream
mesa-libEGL.x86_64                  22.1.5-2.el9                      @appstream
mesa-libGL.x86_64                   22.1.5-2.el9                      @appstream
mesa-libgbm.x86_64                  22.1.5-2.el9                      @appstream
mesa-libglapi.x86_64                22.1.5-2.el9                      @appstream
mesa-libxatracker.x86_64            22.1.5-2.el9                      @appstream
mesa-vulkan-drivers.x86_64          22.1.5-2.el9                      @appstream
rocm-core.x86_64                    5.2.0.50200-65.el8                @rocm-copy
rocm-core5.2.0.x86_64               5.2.0.50200-65.el8                @rocm-copy
rocm-device-libs.x86_64             1.0.0.50200-65.el8                @rocm-copy
rocm-language-runtime.x86_64        5.2.0.50200-65.el8                @rocm-copy
rocm-ocl-icd.x86_64                 2.0.0.50200-65.el8                @rocm-copy
rocm-opencl.x86_64                  2.0.0.50200-65.el8                @rocm-copy
rocm-smi-lib.x86_64                 5.0.0.50200-65.el8                @rocm-copy
rocminfo5.2.0.x86_64                1.0.0.50200-65.el8                @rocm-copy
vulkan-loader.x86_64                1.3.224.0-2.el9                   @appstream

rocminfo: AMD GPU detected! (/opt/rocm/bin/rocminfo)

rocminfo console output
ROCk module is loaded
=====================    
HSA System Attributes    
=====================    
Runtime Version:         1.1
System Timestamp Freq.:  1000.000000MHz
Sig. Max Wait Duration:  18446744073709551615 (0xFFFFFFFFFFFFFFFF) (timestamp count)
Machine Model:           LARGE                              
System Endianness:       LITTLE                             

==========               
HSA Agents               
==========               
*******                  
Agent 1                  
*******                  
  Name:                    12th Gen Intel(R) Core(TM) i7-1260P
  Uuid:                    CPU-XX                             
  Marketing Name:          12th Gen Intel(R) Core(TM) i7-1260P
  Vendor Name:             CPU                                
  Feature:                 None specified                     
  Profile:                 FULL_PROFILE                       
  Float Round Mode:        NEAR                               
  Max Queue Number:        0(0x0)                             
  Queue Min Size:          0(0x0)                             
  Queue Max Size:          0(0x0)                             
  Queue Type:              MULTI                              
  Node:                    0                                  
  Device Type:             CPU                                
[ redacted to stay within character limit ]                                
  ISA Info:                
*******                  
Agent 2                  
*******                  
  Name:                    gfx1031                            
  Uuid:                    GPU-XX                             
  Marketing Name:          AMD Radeon RX 6700 XT              
  Vendor Name:             AMD                                
  Feature:                 KERNEL_DISPATCH                    
  Profile:                 BASE_PROFILE                       
  Float Round Mode:        NEAR                               
  Max Queue Number:        128(0x80)                          
  Queue Min Size:          64(0x40)                           
  Queue Max Size:          131072(0x20000)                    
  Queue Type:              MULTI                              
  Node:                    1                                  
  Device Type:             GPU                                
  Cache Info:              
    L1:                      16(0x10) KB                        
    L2:                      3072(0xc00) KB                     
    L3:                      98304(0x18000) KB                  
  Chip ID:                 29663(0x73df)                      
  Cacheline Size:          64(0x40)                           
  Max Clock Freq. (MHz):   2725                               
  BDFID:                   2048                               
  Internal Node ID:        1                                  
  Compute Unit:            40                                 
  SIMDs per CU:            2                                  
  Shader Engines:          4                                  
  Shader Arrs. per Eng.:   2                                  
  WatchPts on Addr. Ranges:4                                  
  Features:                KERNEL_DISPATCH 
  Fast F16 Operation:      TRUE                               
  Wavefront Size:          32(0x20)                           
  Workgroup Max Size:      1024(0x400)                        
  Workgroup Max Size per Dimension:
    x                        1024(0x400)                        
    y                        1024(0x400)                        
    z                        1024(0x400)                        
  Max Waves Per CU:        32(0x20)                           
  Max Work-item Per CU:    1024(0x400)                        
  Grid Max Size:           4294967295(0xffffffff)             
  Grid Max Size per Dimension:
    x                        4294967295(0xffffffff)             
    y                        4294967295(0xffffffff)             
    z                        4294967295(0xffffffff)             
  Max fbarriers/Workgrp:   32                                 
  Pool Info:               
    Pool 1                   
      Segment:                 GLOBAL; FLAGS: COARSE GRAINED      
      Size:                    12566528(0xbfc000) KB              
      Allocatable:             TRUE                               
      Alloc Granule:           4KB                                
      Alloc Alignment:         4KB                                
      Accessible by all:       FALSE                              
    Pool 2                   
      Segment:                 GROUP                              
      Size:                    64(0x40) KB                        
      Allocatable:             FALSE                              
      Alloc Granule:           0KB                                
      Alloc Alignment:         0KB                                
      Accessible by all:       FALSE                              
  ISA Info:                
    ISA 1                    
      Name:                    amdgcn-amd-amdhsa--gfx1031         
      Machine Models:          HSA_MACHINE_MODEL_LARGE            
      Profiles:                HSA_PROFILE_BASE                   
      Default Rounding Mode:   NEAR                               
      Default Rounding Mode:   NEAR                               
      Fast f16:                TRUE                               
      Workgroup Max Size:      1024(0x400)                        
      Workgroup Max Size per Dimension:
        x                        1024(0x400)                        
        y                        1024(0x400)                        
        z                        1024(0x400)                        
      Grid Max Size:           4294967295(0xffffffff)             
      Grid Max Size per Dimension:
        x                        4294967295(0xffffffff)             
        y                        4294967295(0xffffffff)             
        z                        4294967295(0xffffffff)             
      FBarrier Max Size:       32                                 
*** Done ***

clinfo: AMD GPU detected! (/opt/rocm/bin/clinfo)

clinfo console output
Number of platforms:				 1
  Platform Profile:				 FULL_PROFILE
  Platform Version:				 OpenCL 2.1 AMD-APP (3452.0)
  Platform Name:				 AMD Accelerated Parallel Processing
  Platform Vendor:				 Advanced Micro Devices, Inc.
  Platform Extensions:				 cl_khr_icd cl_amd_event_callback 


  Platform Name:				 AMD Accelerated Parallel Processing
Number of devices:				 1
  Device Type:					 CL_DEVICE_TYPE_GPU
  Vendor ID:					 1002h
  Board name:					 AMD Radeon RX 6700 XT
  Device Topology:				 PCI[ B#8, D#0, F#0 ]
  Max compute units:				 20
  Max work items dimensions:			 3
    Max work items[0]:				 1024
    Max work items[1]:				 1024
    Max work items[2]:				 1024
  Max work group size:				 256
  Preferred vector width char:			 4
  Preferred vector width short:			 2
  Preferred vector width int:			 1
  Preferred vector width long:			 1
  Preferred vector width float:			 1
  Preferred vector width double:		 1
  Native vector width char:			 4
  Native vector width short:			 2
  Native vector width int:			 1
  Native vector width long:			 1
  Native vector width float:			 1
  Native vector width double:			 1
  Max clock frequency:				 2725Mhz
  Address bits:					 64
  Max memory allocation:			 10937905968
  Image support:				 Yes
  Max number of images read arguments:		 128
  Max number of images write arguments:		 8
  Max image 2D width:				 16384
  Max image 2D height:				 16384
  Max image 3D width:				 16384
  Max image 3D height:				 16384
  Max image 3D depth:				 8192
  Max samplers within kernel:			 29663
  Max size of kernel argument:			 1024
  Alignment (bits) of base address:		 1024
  Minimum alignment (bytes) for any datatype:	 128
  Single precision floating point capability
    Denorms:					 Yes
    Quiet NaNs:					 Yes
    Round to nearest even:			 Yes
    Round to zero:				 Yes
    Round to +ve and infinity:			 Yes
    IEEE754-2008 fused multiply-add:		 Yes
  Cache type:					 Read/Write
  Cache line size:				 64
  Cache size:					 16384
  Global memory size:				 12868124672
  Constant buffer size:				 10937905968
  Max number of constant args:			 8
  Local memory type:				 Scratchpad
  Local memory size:				 65536
  Max pipe arguments:				 16
  Max pipe active reservations:			 16
  Max pipe packet size:				 2347971376
  Max global variable size:			 10937905968
  Max global variable preferred total size:	 12868124672
  Max read/write image args:			 64
  Max on device events:				 1024
  Queue on device max size:			 8388608
  Max on device queues:				 1
  Queue on device preferred size:		 262144
  SVM capabilities:				 
    Coarse grain buffer:			 Yes
    Fine grain buffer:				 Yes
    Fine grain system:				 No
    Atomics:					 No
  Preferred platform atomic alignment:		 0
  Preferred global atomic alignment:		 0
  Preferred local atomic alignment:		 0
  Kernel Preferred work group size multiple:	 32
  Error correction support:			 0
  Unified memory for Host and Device:		 0
  Profiling timer resolution:			 1
  Device endianess:				 Little
  Available:					 Yes
  Compiler available:				 Yes
  Execution capabilities:				 
    Execute OpenCL kernels:			 Yes
    Execute native function:			 No
  Queue on Host properties:				 
    Out-of-Order:				 No
    Profiling :					 Yes
  Queue on Device properties:				 
    Out-of-Order:				 Yes
    Profiling :					 Yes
  Platform ID:					 0x7f0835df3d90
  Name:						 gfx1031
  Vendor:					 Advanced Micro Devices, Inc.
  Device OpenCL C version:			 OpenCL C 2.0 
  Driver version:				 3452.0 (HSA1.1,LC)
  Profile:					 FULL_PROFILE
  Version:					 OpenCL 2.0 
  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

Fedora 37 VM

LUKS: Enabled
Repo: Index of /rocm/centos8/rpm/

VM configuration

Hypervisor: KVM
Architecture: x86_64
Emulator: /usr/bin/qemu-system-x86_64
Chipset: Q35
Firmware: UEFI

Display: Spice server
Video: Virtio (QXL wouldn’t display LUKS unlock screen)

PCI passthrough (ROM BAR): Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M]
PCI passthrough (ROM BAR): Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller

Package installation log

sudo dnf install -y hsa-rocr hsa-rocr-devel hsakmt hsakmt-roct-devel rocm-comgr rocm-core rocm-device-libs rocm-language-runtime rocm-ocl-icd rocm-opencl rocm-runtime rocm-smi rocminfo

 Package                   Arch   Version                       Repo       Size
================================================================================
Installing:
 hsa-rocr                  x86_64 1.5.0.50200-65.el8            rocm-copy 503 k
 hsa-rocr-devel            x86_64 1.5.0.50200-65.el8            rocm-copy  91 k
 hsakmt                    x86_64 1.0.6-27.rocm5.4.1.fc37       updates    68 k
 hsakmt-roct-devel         x86_64 20220426.0.86.50200-65.el8    rocm-copy  90 k
 rocm-comgr                x86_64 5.4.1-1.fc37                  updates   2.8 M
 rocm-core                 x86_64 5.2.0.50200-65.el8            rocm-copy  15 k
 rocm-device-libs          x86_64 1.0.0.50200-65.el8            rocm-copy 547 k
 rocm-language-runtime     x86_64 5.2.0.50200-65.el8            rocm-copy 7.1 k
 rocm-ocl-icd              x86_64 2.0.0.50200-65.el8            rocm-copy  22 k
 rocm-opencl               x86_64 2.0.0.50200-65.el8            rocm-copy 494 k
 rocm-runtime              x86_64 5.4.1-1.fc37                  updates   463 k
 rocm-smi                  noarch 4.0.0-6.fc37                  fedora     41 k
 rocminfo                  x86_64 5.4.1-1.fc37                  updates    34 k
Installing dependencies:
 clang-libs                x86_64 15.0.6-2.fc37                 updates    21 M
 clang-resource-filesystem x86_64 15.0.6-2.fc37                 updates    12 k
 comgr                     x86_64 2.4.0.50200-65.el8            rocm-copy  36 M
 libdrm-devel              x86_64 2.4.112-1.fc37                fedora    159 k
 libpciaccess-devel        x86_64 0.16-7.fc37                   fedora     12 k
 lld-libs                  x86_64 15.0.6-1.fc37                 updates   1.3 M
 valgrind                  x86_64 1:3.20.0-1.fc37               updates   4.9 M
 valgrind-devel            x86_64 1:3.20.0-1.fc37               updates    49 k
Installing weak dependencies:
 compiler-rt               x86_64 15.0.6-1.fc37                 updates   2.8 M
 libomp                    x86_64 15.0.6-1.fc37                 updates   500 k
 libomp-devel              x86_64 15.0.6-1.fc37                 updates   358 k
Skipping packages with broken dependencies:
 rocminfo                  x86_64 1.0.0.50200-65.el8            rocm-copy  30 k
Transaction log
Installed:
  clang-libs-15.0.6-2.fc37.x86_64            clang-resource-filesystem-15.0.6-2.fc37.x86_64      comgr-2.4.0.50200-65.el8.x86_64         
  compiler-rt-15.0.6-1.fc37.x86_64           hsa-rocr-1.5.0.50200-65.el8.x86_64                  hsa-rocr-devel-1.5.0.50200-65.el8.x86_64
  hsakmt-1.0.6-27.rocm5.4.1.fc37.x86_64      hsakmt-roct-devel-20220426.0.86.50200-65.el8.x86_64 libdrm-devel-2.4.114-1.fc37.x86_64      
  libomp-15.0.6-1.fc37.x86_64                libomp-devel-15.0.6-1.fc37.x86_64                   libpciaccess-devel-0.16-7.fc37.x86_64   
  lld-libs-15.0.6-1.fc37.x86_64              rocm-comgr-5.4.1-1.fc37.x86_64                      rocm-core-5.2.0.50200-65.el8.x86_64     
  rocm-device-libs-1.0.0.50200-65.el8.x86_64 rocm-language-runtime-5.2.0.50200-65.el8.x86_64     rocm-ocl-icd-2.0.0.50200-65.el8.x86_64  
  rocm-opencl-2.0.0.50200-65.el8.x86_64      rocm-runtime-5.4.1-1.fc37.x86_64                    rocm-smi-4.0.0-6.fc37.noarch            
  rocminfo-5.4.1-1.fc37.x86_64               valgrind-1:3.20.0-1.fc37.x86_64                     valgrind-devel-1:3.20.0-1.fc37.x86_64   
Skipped:
  rocminfo-1.0.0.50200-65.el8.x86_64
Package list

sudo dnf list installed '*amd-gpu*' '*amdgpu*' '*rocm*' '*roct*' '*hsa*' '*mesa*' '*vulkan*' | grep -v 'procmail|setproctitle'

Installed Packages
amd-gpu-firmware.noarch             20221214-145.fc37                 @updates  
hsa-rocr.x86_64                     1.5.0.50200-65.el8                @rocm-copy
hsa-rocr-devel.x86_64               1.5.0.50200-65.el8                @rocm-copy
hsakmt.x86_64                       1.0.6-27.rocm5.4.1.fc37           @updates  
hsakmt-roct-devel.x86_64            20220426.0.86.50200-65.el8        @rocm-copy
mesa-dri-drivers.x86_64             22.3.1-1.fc37                     @updates  
mesa-filesystem.x86_64              22.3.1-1.fc37                     @updates  
mesa-libEGL.x86_64                  22.3.1-1.fc37                     @updates  
mesa-libGL.x86_64                   22.3.1-1.fc37                     @updates  
mesa-libgbm.x86_64                  22.3.1-1.fc37                     @updates  
mesa-libglapi.x86_64                22.3.1-1.fc37                     @updates  
mesa-libxatracker.x86_64            22.3.1-1.fc37                     @updates  
mesa-va-drivers.x86_64              22.3.1-1.fc37                     @updates  
mesa-vulkan-drivers.x86_64          22.3.1-1.fc37                     @updates  
rocm-comgr.x86_64                   5.4.1-1.fc37                      @updates  
rocm-core.x86_64                    5.2.0.50200-65.el8                @rocm-copy
rocm-device-libs.x86_64             1.0.0.50200-65.el8                @rocm-copy
rocm-language-runtime.x86_64        5.2.0.50200-65.el8                @rocm-copy
rocm-ocl-icd.x86_64                 2.0.0.50200-65.el8                @rocm-copy
rocm-opencl.x86_64                  2.0.0.50200-65.el8                @rocm-copy
rocm-runtime.x86_64                 5.4.1-1.fc37                      @updates  
rocm-smi.noarch                     4.0.0-6.fc37                      @fedora   
rocminfo.x86_64                     5.4.1-1.fc37                      @updates  
vulkan-loader.x86_64                1.3.216.0-3.fc37                  @anaconda 
xorg-x11-drv-amdgpu.x86_64          22.0.0-2.fc37                     @anaconda

lspci: amdgpu kernel driver in use (lspci -vnn | grep VGA -A12)

lspci console output
00:01.0 VGA compatible controller [0300]: Red Hat, Inc. Virtio GPU [1af4:1050] (rev 01) (prog-if 00 [VGA controller])
	[ redacted to stay within character limit ] 
	Kernel driver in use: virtio-pci

00:02.0 PCI bridge [0604]: Red Hat, Inc. QEMU PCIe Root port [1b36:000c] (prog-if 00 [Normal decode])
	Subsystem: Red Hat, Inc. Device [1b36:0000]
	Flags: bus master, fast devsel, latency 0, IRQ 22
--
07:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M] [1002:73df] (rev c5) (prog-if 00 [VGA controller])
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:2331]
	Physical Slot: 0-7
	Flags: bus master, fast devsel, latency 0, IRQ 82
	Memory at 800000000 (64-bit, prefetchable) [size=256M]
	Memory at 810000000 (64-bit, prefetchable) [size=2M]
	I/O ports at d000 [size=256]
	Memory at c1600000 (32-bit, non-prefetchable) [size=1M]
	Expansion ROM at c1700000 [disabled] [size=128K]
	Capabilities: <access denied>
	Kernel driver in use: amdgpu
	Kernel modules: amdgpu

rocminfo: HSA_STATUS_ERROR_OUT_OF_RESOURCES

rocminfo console output
ROCk module is loaded
hsa api call failure at: /builddir/build/BUILD/rocminfo-rocm-5.4.1/rocminfo.cc:1148
Call returned HSA_STATUS_ERROR_OUT_OF_RESOURCES: The runtime failed to allocate the necessary resources. This error may also occur when the core runtime library needs to spawn threads or create internal OS-specific events.

clinfo: 1 platform, 0 devices

clinfo console output
Number of platforms:				 1
  Platform Profile:				 FULL_PROFILE
  Platform Version:				 OpenCL 2.1 AMD-APP (3452.0)
  Platform Name:				 AMD Accelerated Parallel Processing
  Platform Vendor:				 Advanced Micro Devices, Inc.
  Platform Extensions:				 cl_khr_icd cl_amd_event_callback 


  Platform Name:				 AMD Accelerated Parallel Processing
Number of devices:				 0

Video: QXL

It is strange that rocminfo failed. Here I swap the VM setting “Video” from “virtio” to “QXL” and redo the test again.

  • lspci can no longer see GPU
  • Reset/Shutdown VM, unplug eGPU, reconnect eGPU, boot VM
  • lspci can now see the AMD GPU again

rocminfo: The same error

rocminfo console output
ROCk module is loaded
hsa api call failure at: /builddir/build/BUILD/rocminfo-rocm-5.4.1/rocminfo.cc:1148
Call returned HSA_STATUS_ERROR_OUT_OF_RESOURCES: The runtime failed to allocate the necessary resources. This error may also occur when the core runtime library needs to spawn threads or create internal OS-specific events.

Update packages

I then noticed that compared to your package versions, some of mine were out of date, so I updated them

'Your package versions'
Installed Packages
hsa-rocr.x86_64                                  1.5.0.50200-65.el8                             @rocm-prd
hsa-rocr-devel.x86_64                            1.5.0.50200-65.el8                             @rocm-prd
hsakmt.x86_64                                    1.0.6-26.rocm5.3.0.fc37                        @updates 
hsakmt-roct-devel.x86_64                         20220426.0.86.50200-65.el8                     @rocm-prd
rocm-comgr.x86_64                                5.3.0-1.fc37                                   @updates 
rocm-core.x86_64                                 5.2.0.50200-65.el8                             @rocm-prd
rocm-device-libs.x86_64                          5.3.0-1.fc37                                   @updates 
rocm-language-runtime.x86_64                     5.2.0.50200-65.el8                             @rocm-prd
rocm-ocl-icd.x86_64                              2.0.0.50200-65.el8                             @rocm-prd
rocm-opencl.x86_64                               5.3.2-1.fc37                                   @updates 
rocm-runtime.x86_64                              5.3.0-2.fc37                                   @updates 
rocm-smi.noarch                                  4.0.0-6.fc37                                   @fedora  
rocminfo.x86_64                                  5.3.0-1.fc37                                   @updates
'Some of mine were out of date'
rocm-device-libs.x86_64             1.0.0.50200-65.el8                @rocm-copy
rocm-opencl.x86_64                  2.0.0.50200-65.el8                @rocm-copy
'So I updated them'

sudo dnf install rocm-device-libs-5.4.1-1.fc37.x86_64 rocm-opencl-5.4.1-1.fc37.x86_64

 Package                 Architecture Version              Repository     Size
===============================================================================
Upgrading:
 rocm-device-libs        x86_64       5.4.1-1.fc37         updates       564 k
 rocm-opencl             x86_64       5.4.1-1.fc37         updates       558 k
Installing dependencies:
 clang                   x86_64       15.0.6-2.fc37        updates        74 k
 cmake-filesystem        x86_64       3.25.1-1.fc37        updates        16 k
 gcc-c++                 x86_64       12.2.1-4.fc37        updates        13 M
 libstdc++-devel         x86_64       12.2.1-4.fc37        updates       2.5 M
 ocl-icd                 x86_64       2.3.1-2.fc37         fedora         68 k
 opencl-filesystem       noarch       1.0-16.fc37          fedora        7.4 k

Next I reboot and test again:

  • lspci can no longer see GPU
  • Reset/Shutdown VM, unplug eGPU, reconnect eGPU, boot VM
  • lspci can now see the AMD GPU again

rocminfo: The same error

Uninstall some packages

More comprehensive package list

dnf list installed | grep -Ei "amd|hsa|opencl|rocm"

amd-gpu-firmware.noarch                              20221214-145.fc37                   @updates  
comgr.x86_64                                         2.4.0.50200-65.el8                  @rocm-copy
hsa-rocr.x86_64                                      1.5.0.50200-65.el8                  @rocm-copy
hsa-rocr-devel.x86_64                                1.5.0.50200-65.el8                  @rocm-copy
hsakmt.x86_64                                        1.0.6-27.rocm5.4.1.fc37             @updates  
hsakmt-roct-devel.x86_64                             20220426.0.86.50200-65.el8          @rocm-copy
opencl-filesystem.noarch                             1.0-16.fc37                         @fedora   
rocm-comgr.x86_64                                    5.4.1-1.fc37                        @updates  
rocm-core.x86_64                                     5.2.0.50200-65.el8                  @rocm-copy
rocm-device-libs.x86_64                              5.4.1-1.fc37                        @updates  
rocm-language-runtime.x86_64                         5.2.0.50200-65.el8                  @rocm-copy
rocm-ocl-icd.x86_64                                  2.0.0.50200-65.el8                  @rocm-copy
rocm-opencl.x86_64                                   5.4.1-1.fc37                        @updates  
rocm-runtime.x86_64                                  5.4.1-1.fc37                        @updates  
rocm-smi.noarch                                      4.0.0-6.fc37                        @fedora   
rocminfo.x86_64                                      5.4.1-1.fc37                        @updates  
teamd.x86_64                                         1.31-6.fc37                         @anaconda 
xorg-x11-drv-amdgpu.x86_64                           22.0.0-2.fc37                       @anaconda

I uninstalled the following packages and tried my tests again:amd-gpu-firmware xorg-x11-drv-amdgpu

rocminfo: AMD GPU not detected. This is very interesting because it is replicating the result that the host machine experiences. It is furthermore interesting that rocminfo does not detect my AMD GPU when amd-gpu-firmware/xorg-x11-drv-amdgpu are not installed, and fails when they are installed. Perhaps the failure is the GPU being detected, but there being another problem present?

rocminfo console output
ROCk module is loaded
=====================    
HSA System Attributes    
=====================    
Runtime Version:         1.1
System Timestamp Freq.:  1000.000000MHz
Sig. Max Wait Duration:  18446744073709551615 (0xFFFFFFFFFFFFFFFF) (timestamp count)
Machine Model:           LARGE                              
System Endianness:       LITTLE                             

==========               
HSA Agents               
==========               
*******                  
Agent 1                  
*******                  
  Name:                    12th Gen Intel(R) Core(TM) i7-1260P
  Uuid:                    CPU-XX                             
  Marketing Name:          12th Gen Intel(R) Core(TM) i7-1260P
  Vendor Name:             CPU                                
  Feature:                 None specified                     
  Profile:                 FULL_PROFILE                       
  Float Round Mode:        NEAR                               
  Max Queue Number:        0(0x0)                             
  Queue Min Size:          0(0x0)                             
  Queue Max Size:          0(0x0)                             
  Queue Type:              MULTI                              
  Node:                    0                                  
  Device Type:             CPU                                
[ redacted to stay within character limit ]
*** Done ***

In future tests I want to remove the “IOMMU” kernel arguments I added earlier and see if Rocky 9 with GPU passthrough still works. With those kernel arguments removed, I could also test on the host machine again.

KVM testing analysis

  • My hardware (eGPU, AMD GPU, thunderbolt cable, laptop) is all functional
  • Windows and Rocky can use the AMD GPU
  • On the Fedora 37 VM,rocminfo consistently produced errors until the packages amd-gpu-firmware/xorg-x11-drv-amdgpu were removed, at which point rocminfo succeeded but could not see my AMD GPU

Hmm, maybe I’m not understanding your configuration, but it looks like you have recreated your VMs with two video adapters, which is the one factor I was trying to eliminate by suggesting this approach. Your VM doesn’t need a Spice/QXL/vertio video device at all if you pass through your eGPU to that VM, I guess I wasn’t clear, but the point of the VM approach would be to force eGPU to be the only video adapter available, to force Wayland to use it. A real, external monitor attached to your eGPU would be a really big help here, but you technically don’t need it; if your VM has a serial interface, you should be able to interact with that to login via your VM software. Or, since you currently have a virtual adapter in the VM, you can set up the network and SSHD in your VM, verify that you can “remotely” access the VM via SSH from your host system, and then remove the virtual video adapter from the VM; it should boot on your eGPU.

You also didn’t try your Render program in Windows, so, it’s not clear that it works any better there than it does in Linux. Linux shows your eGPU attached, too, but we haven’t got it to do any work we want.

It might be worth a shot testing on a live boot Rocky and Fedora USB to avoid VM complications. If that doesn’t work I will try to better configure my VM tests.

Non-vm tests

Removed IOMMU kernel args

Removed args: sudo grubby --update-kernel=ALL --remove-args="intel_iommu=on kvm.ignore_msrs=1"
Current args: sudo grubby --info=0 | grep args

args="ro rootflags=subvol=root rd.luks.uuid=luks-x-x-x-x-x rhgb quiet module_blacklist=hid_sensor_hub nvme.noacpi=1"
Attempted to use fedora-amdgpu-pro packages - didn't work

Package source: GitHub - CosmicFusion/fedora-amdgpu-pro: A repository that provides the proprietary driver for fedora without having to deal with hassle of getting RHEL repo to work , and it has 32 bit libraries

sudo dnf install ./amdamf-pro-runtime-22.20.3-4.fcfc36.x86_64.rpm  ./amdvlk-pro-22.20.3-4.fcfc36.x86_64.rpm ./libdrm-pro-22.20.3-4.fcfc36.x86_64.rpm
Last metadata expiration check: 2:23:28 ago on Sun 01 Jan 2023 19:00:11 GMT.
Dependencies resolved.
====================================================================================================
 Package                     Architecture Version                          Repository          Size
====================================================================================================
Installing:
 amdamf-pro-runtime          x86_64       22.20.3-4.fcfc36                 @commandline       1.8 M
 amdvlk-pro                  x86_64       22.20.3-4.fcfc36                 @commandline        10 M
 libdrm-pro                  x86_64       22.20.3-4.fcfc36                 @commandline        85 k
Installing dependencies:
 comgr                       x86_64       2.4.0.50200-65.el8               rocm-copy           36 M
 hsa-rocr                    x86_64       1.5.0.50200-65.el8               rocm-copy          503 k
 hsa-rocr-devel              x86_64       1.5.0.50200-65.el8               rocm-copy           91 k
 hsakmt-roct-devel           x86_64       20220426.0.86.50200-65.el8       rocm-copy           90 k
 libdrm-devel                x86_64       2.4.114-1.fc37                   updates            173 k
 libpciaccess-devel          x86_64       0.16-7.fc37                      fedora              12 k
 opencl-filesystem           noarch       1.0-16.fc37                      fedora             7.4 k
 rocm-core                   x86_64       5.2.0.50200-65.el8               rocm-copy           15 k
 rocm-language-runtime       x86_64       5.2.0.50200-65.el8               rocm-copy          7.1 k
 rocm-ocl-icd                x86_64       2.0.0.50200-65.el8               rocm-copy           22 k
 valgrind                    x86_64       1:3.20.0-1.fc37                  updates            4.9 M
 valgrind-devel              x86_64       1:3.20.0-1.fc37                  updates             49 k
Installing weak dependencies:
 rocm-opencl                 x86_64       2.0.0.50200-65.el8               rocm-copy          494 k
 rocm-opencl-runtime         x86_64       5.2.0.50200-65.el8               rocm-copy          7.1 k

I also installed these packages but didn’t save installation logs for them: ./amdogl-pro-22.20.3-4.fcfc36.x86_64.rpm ./amdocl-legacy-22.20.3-4.fcfc36.x86_64.rpm

I didn’t document my test results, but this configuration didn’t produce anything new - nothing was using my AMD GPU.

Vanilla setup testing

Reset my packages back to vanilla
sudo dnf list installed '*amd-gpu*' '*amdgpu*' '*rocm*' '*roct*' '*hsa*' '*mesa*' '*vulkan*' | grep -v 'procmail|setproctitle'
Installed Packages
mesa-dri-drivers.i686                    22.3.2-1.fc37                  @updates
mesa-dri-drivers.x86_64                  22.3.2-1.fc37                  @updates
mesa-filesystem.i686                     22.3.2-1.fc37                  @updates
mesa-filesystem.x86_64                   22.3.2-1.fc37                  @updates
mesa-libEGL.i686                         22.3.2-1.fc37                  @updates
mesa-libEGL.x86_64                       22.3.2-1.fc37                  @updates
mesa-libGL.i686                          22.3.2-1.fc37                  @updates
mesa-libGL.x86_64                        22.3.2-1.fc37                  @updates
mesa-libGLU.x86_64                       9.0.1-7.fc37                   @fedora 
mesa-libOSMesa.i686                      22.3.2-1.fc37                  @updates
mesa-libOSMesa.x86_64                    22.3.2-1.fc37                  @updates
mesa-libgbm.i686                         22.3.2-1.fc37                  @updates
mesa-libgbm.x86_64                       22.3.2-1.fc37                  @updates
mesa-libglapi.i686                       22.3.2-1.fc37                  @updates
mesa-libglapi.x86_64                     22.3.2-1.fc37                  @updates
mesa-libxatracker.x86_64                 22.3.2-1.fc37                  @updates
mesa-va-drivers.i686                     22.3.2-1.fc37                  @updates
mesa-vulkan-drivers.i686                 22.3.2-1.fc37                  @updates
mesa-vulkan-drivers.x86_64               22.3.2-1.fc37                  @updates
vulkan-loader.i686                       1.3.216.0-3.fc37               @fedora 
vulkan-loader.x86_64                     1.3.216.0-3.fc37               @fedora 
vulkan-tools.x86_64                      1.3.216.0-2.fc37               @fedora
boltctl: eGPU authorized
boltctl -U short
 ● AKiTiO Node Titan
   ├─ type:          peripheral
   ├─ name:          Node Titan
   ├─ vendor:        AKiTiO
   ├─ uuid:          c5030000-0092…
   ├─ generation:    Thunderbolt 3
   ├─ status:        authorized
   │  ├─ domain:     819c8780-4073-acc3-ffff-ffffffffffff
   │  ├─ rx speed:   40 Gb/s = 2 lanes * 20 Gb/s
   │  ├─ tx speed:   40 Gb/s = 2 lanes * 20 Gb/s
   │  └─ authflags:  none
   ├─ authorized:    Sat 07 Jan 2023 18:30:59 UTC
   ├─ connected:     Sat 07 Jan 2023 18:30:59 UTC
   └─ stored:        Sat 17 Dec 2022 16:39:19 UTC
      ├─ policy:     iommu
      └─ key:        no
lspci: AMD GPU found and kernel module loaded
lspci -vnn | grep VGA -A 12
00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P Integrated Graphics Controller [8086:4626] (rev 0c) (prog-if 00 [VGA controller])
	Subsystem: Device [f111:0002]
	Flags: bus master, fast devsel, latency 0, IRQ 149, IOMMU group 1
	Memory at 605c000000 (64-bit, non-prefetchable) [size=16M]
	Memory at 4000000000 (64-bit, prefetchable) [size=256M]
	I/O ports at 3000 [size=64]
	Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
	Capabilities: <access denied>
	Kernel driver in use: i915
	Kernel modules: i915

00:04.0 Signal processing controller [1180]: Intel Corporation Alder Lake Innovation Platform Framework Processor Participant [8086:461d] (rev 02)
	Subsystem: Device [f111:0002]
--
06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M] [1002:73df] (rev c5) (prog-if 00 [VGA controller])
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:2331]
	Flags: fast devsel, IRQ 17, IOMMU group 24
	Memory at 6000000000 (64-bit, prefetchable) [size=256M]
	Memory at 6010000000 (64-bit, prefetchable) [size=2M]
	I/O ports at 4000 [size=256]
	Memory at 7c000000 (32-bit, non-prefetchable) [size=1M]
	Expansion ROM at 7c100000 [disabled] [size=128K]
	Capabilities: <access denied>
	Kernel modules: amdgpu

06:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller [1002:ab28]
	Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller [1002:ab28]

radeontop: Failed to open DRM node, no VRAM support.

sudo radeontop
Failed to open DRM node, no VRAM support.
Cannot access GPU registers, are you root?
lsmod
lsmod | grep -E "Module|amdgpu"
Module                  Size  Used by
amdgpu              10166272  0
iommu_v2               24576  1 amdgpu
gpu_sched              49152  1 amdgpu
drm_ttm_helper         16384  1 amdgpu
ttm                    94208  3 amdgpu,drm_ttm_helper,i915
drm_buddy              20480  2 amdgpu,i915
drm_display_helper    180224  2 amdgpu,i915

I was planning on running DRI_PRIME=1 glxgears alongside radeontop as per this YouTube video to test if my AMD GPU will work at all on Fedora at all, but radeontop failed. The same radeontop error occurs when not using sudo.

Is this error expected for a vanilla setup depending exclusively on the amdgpu kernel driver? Perhaps radeontop only works with extra driver packages installed.

In which ways should you be able to use an AMD GPU with only the kernel driver installed? For example OpenCL won’t work, but what should still work? I would like to get the bare minimum expected functionality from my AMD GPU working and then work up towards OpenCL support afterwards.

  • Yeah, that sounds like a fine idea. It will not remove the issue of having two adapters. Why are you reluctant to try to eliminate this factor? I agree, I don’t think it should be a problem, but we’ve eliminated a lot of other factors.

  • If you are going to try any OS other than your preferred OS, why not try a supported OS, like SUSE or Ubuntu, and then get AMD on the phone.

  • radeontop works on my system without root. I enjoy looking at it pegged at 99 % while crunching OpenCL. Radeon Profile (radeon-profile) also works, a gui app.

  • Hmm, vanilla doesn’t mean no AMD stuff. It means no AMD repo stuff. There are still several packages you need from Fedora repos for AMDGPU. (Looking back, I see that I didn’t make a good note of the complete and minimum pkg list in my other thread. I’ll try to update it, soon, and I’ll remove all the AMD repo stuff at that time. Today, I’m just happy everything didn’t break when I upgraded to F37, and I don’t have time to test.) In any case, You should have all the ROCm stuff you can find in the Fedora repos, especially ‘rocm-opencl’, the ‘hsakmt’ pkg, and ‘amd-gpu-firmware’. I don’t know what firmware does, but it don’t think you should NOT have it.

  • Yes. I assume radeontop should work if it’s installed with all it’s dependencies. I don’t think it relies on anything you are trying to get to work, like OpenGL or OpenCL.

I plan to test using Rocky which is near-identical to an AMD GPU driver supported distro, RHEL.

I understand. I’ve disabled my AMD repos and I’m only testing using a mix of rocm/fedora now.

Testing

I’ve following the official rocm installation documentation from AMD to rule out missing dependencies as a potential reason for my AMD card not functioning under Fedora:

rocm install (as per documentation) log
$ sudo dnf install rocm-opencl-runtime rocm-hip-sdk rocm-hip-libraries rocm-hip-runtime-devel rocm-language-runtime rocm-hip-runtime
ROCm rhel9 rpm (copy)                                               5.0 kB/s | 2.9 kB     00:00    
Package rocm-language-runtime-5.4.0.50400-72.el9.x86_64 is already installed.
Dependencies resolved.
====================================================================================================
 Package                           Arch        Version                         Repository      Size
====================================================================================================
Installing:
 rocm-hip-libraries                x86_64      5.4.0.50400-72.el9              rocm-copy      7.5 k
 rocm-hip-runtime                  x86_64      5.4.0.50400-72.el9              rocm-copy       10 k
 rocm-hip-runtime-devel            x86_64      5.4.0.50400-72.el9              rocm-copy       11 k
 rocm-hip-sdk                      x86_64      5.4.0.50400-72.el9              rocm-copy      7.7 k
 rocm-opencl-runtime               x86_64      5.4.0.50400-72.el9              rocm-copy       10 k
Installing dependencies:
 hip-devel                         x86_64      5.4.22801.50400-72.el9          rocm-copy      217 k
 hip-doc                           x86_64      5.4.22801.50400-72.el9          rocm-copy      923 k
 hip-runtime-amd                   x86_64      5.4.22801.50400-72.el9          rocm-copy       10 M
 hip-samples                       x86_64      5.4.22801.50400-72.el9          rocm-copy      110 k
 hipblas                           x86_64      0.53.0.50400-72.el9             rocm-copy       93 k
 hipblas-devel                     x86_64      0.53.0.50400-72.el9             rocm-copy       60 k
 hipcub-devel                      x86_64      2.10.12.50400-72.el9            rocm-copy      112 k
 hipfft                            x86_64      1.0.10.50400-72.el9             rocm-copy       22 k
 hipfft-devel                      x86_64      1.0.10.50400-72.el9             rocm-copy       19 k
 hipfort-devel                     x86_64      0.4.0.50400-72.el9              rocm-copy      7.1 M
 hipify-clang                      x86_64      15.0.0.50400-72.el9             rocm-copy       13 M
 hipsolver                         x86_64      1.6.0.50400-72.el9              rocm-copy       70 k
 hipsolver-devel                   x86_64      1.6.0.50400-72.el9              rocm-copy       25 k
 hipsparse                         x86_64      2.3.3.50400-72.el9              rocm-copy       64 k
 hipsparse-devel                   x86_64      2.3.3.50400-72.el9              rocm-copy       38 k
 perl                              x86_64      4:5.36.0-492.fc37               fedora          16 k
 perl-Algorithm-Diff               noarch      1.2010-7.fc37                   fedora          47 k
 perl-Archive-Tar                  noarch      2.40-490.fc37                   fedora          71 k
 perl-Archive-Zip                  noarch      1.68-9.fc37                     fedora         113 k
 perl-Attribute-Handlers           noarch      1.02-492.fc37                   fedora          31 k
 perl-AutoSplit                    noarch      5.74-492.fc37                   fedora          25 k
 perl-Benchmark                    noarch      1.23-492.fc37                   fedora          30 k
 perl-CPAN                         noarch      2.34-4.fc37                     fedora         570 k
 perl-CPAN-Meta                    noarch      2.150010-489.fc37               fedora         195 k
 perl-CPAN-Meta-Requirements       noarch      2.140-490.fc37                  fedora          31 k
 perl-CPAN-Meta-YAML               noarch      0.018-490.fc37                  fedora          26 k
 perl-Compress-Bzip2               x86_64      2.28-10.fc37                    fedora          67 k
 perl-Compress-Raw-Lzma            x86_64      2.201-2.fc37                    fedora          49 k
 perl-Config-Extensions            noarch      0.03-492.fc37                   fedora          15 k
 perl-Config-Perl-V                noarch      0.34-1.fc37                     fedora          21 k
 perl-DBM_Filter                   noarch      0.06-492.fc37                   fedora          35 k
 perl-DB_File                      x86_64      1.858-4.fc37                    fedora          81 k
 perl-Data-OptList                 noarch      0.112-5.fc37                    fedora          27 k
 perl-Data-Section                 noarch      0.200007-17.fc37                fedora          25 k
 perl-Devel-PPPort                 x86_64      3.68-490.fc37                   fedora         218 k
 perl-Devel-Peek                   x86_64      1.32-492.fc37                   fedora          35 k
 perl-Devel-SelfStubber            noarch      1.06-492.fc37                   fedora          17 k
 perl-Devel-Size                   x86_64      0.83-13.fc37                    fedora          30 k
 perl-Digest-SHA                   x86_64      1:6.03-1.fc37                   fedora          62 k
 perl-Digest-SHA1                  x86_64      2.13-37.fc37                    fedora          52 k
 perl-DirHandle                    noarch      1.05-492.fc37                   fedora          15 k
 perl-Dumpvalue                    noarch      2.27-492.fc37                   fedora          21 k
 perl-Encode-devel                 x86_64      4:3.19-492.fc37                 fedora          42 k
 perl-English                      noarch      1.11-492.fc37                   fedora          17 k
 perl-Env                          noarch      1.05-489.fc37                   fedora          20 k
 perl-ExtUtils-CBuilder            noarch      1:0.280236-489.fc37             fedora          51 k
 perl-ExtUtils-Command             noarch      2:7.66-1.fc37                   updates         14 k
 perl-ExtUtils-Constant            noarch      0.25-492.fc37                   fedora          50 k
 perl-ExtUtils-Embed               noarch      1.35-492.fc37                   fedora          21 k
 perl-ExtUtils-Install             noarch      2.20-489.fc37                   fedora          44 k
 perl-ExtUtils-MM-Utils            noarch      2:7.66-1.fc37                   updates         12 k
 perl-ExtUtils-MakeMaker           noarch      2:7.66-1.fc37                   updates        300 k
 perl-ExtUtils-Manifest            noarch      1:1.73-489.fc37                 fedora          34 k
 perl-ExtUtils-Miniperl            noarch      1.11-492.fc37                   fedora          18 k
 perl-ExtUtils-ParseXS             noarch      1:3.45-489.fc37                 fedora         188 k
 perl-File-BaseDir                 noarch      0.09-5.fc37                     fedora          25 k
 perl-File-DosGlob                 x86_64      1.12-492.fc37                   fedora          23 k
 perl-File-Fetch                   noarch      1.04-489.fc37                   fedora          31 k
 perl-File-HomeDir                 noarch      1.006-7.fc37                    fedora          62 k
 perl-File-Listing                 noarch      6.15-3.fc37                     fedora          25 k
 perl-File-Which                   noarch      1.27-6.fc37                     fedora          22 k
 perl-FileCache                    noarch      1.10-492.fc37                   fedora          18 k
 perl-Filter                       x86_64      2:1.64-1.fc37                   fedora          89 k
 perl-Filter-Simple                noarch      0.96-489.fc37                   fedora          27 k
 perl-GDBM_File                    x86_64      1:1.23-492.fc37                 fedora          46 k
 perl-HTTP-Date                    noarch      6.05-10.fc37                    fedora          24 k
 perl-I18N-Collate                 noarch      1.02-492.fc37                   fedora          17 k
 perl-I18N-LangTags                noarch      0.45-492.fc37                   fedora          57 k
 perl-I18N-Langinfo                x86_64      0.21-492.fc37                   fedora          26 k
 perl-IO-Compress-Lzma             noarch      2.201-2.fc37                    fedora          79 k
 perl-IO-Zlib                      noarch      1:1.11-489.fc37                 fedora          19 k
 perl-IPC-Cmd                      noarch      2:1.04-490.fc37                 fedora          40 k
 perl-IPC-SysV                     x86_64      2.09-490.fc37                   fedora          42 k
 perl-IPC-System-Simple            noarch      1.30-9.fc37                     fedora          39 k
 perl-Importer                     noarch      0.026-7.fc37                    fedora          39 k
 perl-JSON-PP                      noarch      1:4.11-1.fc37                   fedora          68 k
 perl-Locale-Maketext              noarch      1.32-1.fc37                     fedora          95 k
 perl-Locale-Maketext-Simple       noarch      1:0.21-492.fc37                 fedora          21 k
 perl-MIME-Charset                 noarch      1.013.1-1.fc37                  fedora          49 k
 perl-MRO-Compat                   noarch      0.15-4.fc37                     fedora          26 k
 perl-Math-BigInt-FastCalc         x86_64      0.501.300-3.fc37                fedora          28 k
 perl-Memoize                      noarch      1.03-492.fc37                   fedora          60 k
 perl-Module-Build                 noarch      2:0.42.31-15.fc37               fedora         264 k
 perl-Module-CoreList              noarch      1:5.20221220-1.fc37             updates         85 k
 perl-Module-CoreList-tools        noarch      1:5.20221220-1.fc37             updates         18 k
 perl-Module-Load                  noarch      1:0.36-489.fc37                 fedora          17 k
 perl-Module-Load-Conditional      noarch      0.74-489.fc37                   fedora          22 k
 perl-Module-Loaded                noarch      1:0.08-492.fc37                 fedora          16 k
 perl-Module-Metadata              noarch      1.000037-489.fc37               fedora          35 k
 perl-Module-Signature             noarch      0.88-4.fc37                     fedora          83 k
 perl-NEXT                         noarch      0.69-492.fc37                   fedora          24 k
 perl-Net                          noarch      1.03-492.fc37                   fedora          28 k
 perl-Net-Ping                     noarch      2.75-1.fc37                     fedora          50 k
 perl-ODBM_File                    x86_64      1.17-492.fc37                   fedora          26 k
 perl-Object-HashBase              noarch      0.009-10.fc37                   fedora          25 k
 perl-Opcode                       x86_64      1.57-492.fc37                   fedora          40 k
 perl-Package-Generator            noarch      1.106-26.fc37                   fedora          23 k
 perl-Params-Check                 noarch      1:0.38-489.fc37                 fedora          22 k
 perl-Params-Util                  x86_64      1.102-8.fc37                    fedora          33 k
 perl-Perl-OSType                  noarch      1.010-490.fc37                  fedora          23 k
 perl-PerlIO-via-QuotedPrint       noarch      0.10-3.fc37                     fedora          22 k
 perl-Pod-Checker                  noarch      4:1.75-3.fc37                   fedora          32 k
 perl-Pod-Functions                noarch      1.14-492.fc37                   fedora          17 k
 perl-Pod-Html                     noarch      1.33-492.fc37                   fedora          34 k
 perl-Safe                         noarch      2.43-492.fc37                   fedora          28 k
 perl-Search-Dict                  noarch      1.07-492.fc37                   fedora          16 k
 perl-SelfLoader                   noarch      1.26-492.fc37                   fedora          25 k
 perl-Software-License             noarch      0.104002-2.fc37                 fedora         145 k
 perl-Sub-Exporter                 noarch      0.988-5.fc37                    fedora          78 k
 perl-Sub-Install                  noarch      0.928-33.fc37                   fedora          22 k
 perl-Sys-Syslog                   x86_64      0.36-490.fc37                   fedora          47 k
 perl-Term-Complete                noarch      1.403-492.fc37                  fedora          16 k
 perl-Term-ReadLine                noarch      1.17-492.fc37                   fedora          22 k
 perl-Term-Size-Perl               x86_64      0.031-15.fc37                   fedora          21 k
 perl-Term-Table                   noarch      0.016-4.fc37                    fedora          35 k
 perl-Test                         noarch      1.31-492.fc37                   fedora          32 k
 perl-Test-Harness                 noarch      1:3.44-490.fc37                 fedora         288 k
 perl-Test-Simple                  noarch      3:1.302191-2.fc37               fedora         592 k
 perl-Text-Abbrev                  noarch      1.02-492.fc37                   fedora          15 k
 perl-Text-Balanced                noarch      2.06-2.fc37                     fedora          49 k
 perl-Text-Diff                    noarch      1.45-16.fc37                    fedora          41 k
 perl-Text-Glob                    noarch      0.11-18.fc37                    fedora          14 k
 perl-Text-Template                noarch      1.60-4.fc37                     fedora          60 k
 perl-Thread                       noarch      3.05-492.fc37                   fedora          21 k
 perl-Thread-Semaphore             noarch      2.13-492.fc37                   fedora          19 k
 perl-Tie                          noarch      4.6-492.fc37                    fedora          35 k
 perl-Tie-File                     noarch      1.06-492.fc37                   fedora          46 k
 perl-Tie-Memoize                  noarch      1.1-492.fc37                    fedora          17 k
 perl-Tie-RefHash                  noarch      1.40-489.fc37                   fedora          23 k
 perl-Time                         noarch      1.03-492.fc37                   fedora          22 k
 perl-Time-HiRes                   x86_64      4:1.9770-489.fc37               fedora          57 k
 perl-Time-Piece                   x86_64      1.3401-492.fc37                 fedora          44 k
 perl-TimeDate                     noarch      1:2.33-9.fc37                   fedora          60 k
 perl-URI-Encode                   noarch      1.1.1-19.fc37                   fedora          23 k
 perl-Unicode-Collate              x86_64      1.31-489.fc37                   fedora         750 k
 perl-Unicode-Normalize            x86_64      1.31-489.fc37                   fedora          94 k
 perl-Unicode-UCD                  noarch      0.78-492.fc37                   fedora          82 k
 perl-User-pwent                   noarch      1.03-492.fc37                   fedora          24 k
 perl-autodie                      noarch      2.34-490.fc37                   fedora          99 k
 perl-autouse                      noarch      1.11-492.fc37                   fedora          17 k
 perl-bignum                       noarch      0.66-5.fc37                     fedora          50 k
 perl-blib                         noarch      1.07-492.fc37                   fedora          15 k
 perl-debugger                     noarch      1.60-492.fc37                   fedora         137 k
 perl-deprecate                    noarch      0.04-492.fc37                   fedora          18 k
 perl-devel                        x86_64      4:5.36.0-492.fc37               fedora         714 k
 perl-diagnostics                  noarch      1.39-492.fc37                   fedora         214 k
 perl-doc                          noarch      5.36.0-492.fc37                 fedora         4.8 M
 perl-encoding                     x86_64      4:3.00-492.fc37                 fedora          63 k
 perl-encoding-warnings            noarch      0.13-492.fc37                   fedora          20 k
 perl-experimental                 noarch      0.028-489.fc37                  fedora          22 k
 perl-fields                       noarch      2.27-492.fc37                   fedora          19 k
 perl-filetest                     noarch      1.03-492.fc37                   fedora          18 k
 perl-inc-latest                   noarch      2:0.500-23.fc37                 fedora          24 k
 perl-less                         noarch      0.03-492.fc37                   fedora          16 k
 perl-libnetcfg                    noarch      4:5.36.0-492.fc37               fedora          19 k
 perl-local-lib                    noarch      2.000029-3.fc37                 fedora          67 k
 perl-locale                       noarch      1.10-492.fc37                   fedora          17 k
 perl-macros                       noarch      4:5.36.0-492.fc37               fedora          14 k
 perl-meta-notation                noarch      5.36.0-492.fc37                 fedora          13 k
 perl-open                         noarch      1.13-492.fc37                   fedora          20 k
 perl-perlfaq                      noarch      5.20210520-489.fc37             fedora         379 k
 perl-ph                           x86_64      5.36.0-492.fc37                 fedora          50 k
 perl-sigtrap                      noarch      1.10-492.fc37                   fedora          19 k
 perl-sort                         noarch      2.05-492.fc37                   fedora          16 k
 perl-utils                        noarch      5.36.0-492.fc37                 fedora          58 k
 perl-version                      x86_64      8:0.99.29-490.fc37              fedora          63 k
 perl-vmsish                       noarch      1.04-492.fc37                   fedora          17 k
 rccl                              x86_64      2.13.4.50400-72.el9             rocm-copy      7.2 M
 rccl-devel                        x86_64      2.13.4.50400-72.el9             rocm-copy       19 k
 rocalution                        x86_64      2.1.3.50400-72.el9              rocm-copy      2.6 M
 rocalution-devel                  x86_64      2.1.3.50400-72.el9              rocm-copy       62 k
 rocblas                           x86_64      2.46.0.50400-72.el9             rocm-copy       50 M
 rocblas-devel                     x86_64      2.46.0.50400-72.el9             rocm-copy       73 k
 rocfft                            x86_64      1.0.19.50400-72.el9             rocm-copy      125 M
 rocfft-devel                      x86_64      1.0.19.50400-72.el9             rocm-copy       20 k
 rocm-cmake                        x86_64      0.8.0.50400-72.el9              rocm-copy       29 k
 rocm-llvm                         x86_64      15.0.0.22465.50400-72.el9       rocm-copy      705 M
 rocm-smi-lib                      x86_64      5.0.0.50400-72.el9              rocm-copy      779 k
 rocprim-devel                     x86_64      2.10.9.50400-72.el9             rocm-copy      191 k
 rocrand                           x86_64      2.10.9.50400-72.el9             rocm-copy       16 M
 rocrand-devel                     x86_64      2.10.9.50400-72.el9             rocm-copy       16 M
 rocsolver                         x86_64      3.20.0.50400-72.el9             rocm-copy       64 M
 rocsolver-devel                   x86_64      3.20.0.50400-72.el9             rocm-copy       48 k
 rocsparse                         x86_64      2.3.3.50400-72.el9              rocm-copy       18 M
 rocsparse-devel                   x86_64      2.3.3.50400-72.el9              rocm-copy       79 k
 rocthrust-devel                   x86_64      2.10.9.50400-72.el9             rocm-copy      651 k
 rocwmma-devel                     x86_64      0.7.0.50400-72.el9              rocm-copy       38 k
 sombok                            x86_64      2.4.0-17.fc37                   fedora          47 k
 systemtap-sdt-devel               x86_64      4.8-1.fc37                      updates         72 k
Installing weak dependencies:
 perl-CPAN-DistnameInfo            noarch      0.12-26.fc37                    fedora          14 k
 perl-Encode-Locale                noarch      1.05-24.fc37                    fedora          19 k
 perl-Term-Size-Any                noarch      0.002-38.fc37                   fedora          13 k
 perl-Unicode-LineBreak            x86_64      2019.001-14.fc37                fedora         121 k
Downgrading:
 rocminfo                          x86_64      1.0.0.50400-72.el9              rocm-copy       31 k

Transaction Summary
====================================================================================================
Install    198 Packages
Downgrade    1 Package

Total size: 1.0 G
List of all relevant installed packages
$ sudo dnf list installed '*amd-gpu*' '*amdgpu*' '*rocm*' '*roct*' '*hsa*' '*mesa*' '*vulkan*' | grep -v 'procmail|setproctitle'
Installed Packages
amd-gpu-firmware.noarch              20221214-145.fc37                @updates  
hsa-rocr.x86_64                      1.7.0.50400-72.el9               @rocm-copy
hsa-rocr-devel.x86_64                1.7.0.50400-72.el9               @rocm-copy
hsakmt.x86_64                        1.0.6-27.rocm5.4.1.fc37          @updates  
hsakmt-roct-devel.x86_64             20221020.0.2.50400-72.el9        @rocm-copy
mesa-dri-drivers.i686                22.3.3-1.fc37                    @updates  
mesa-dri-drivers.x86_64              22.3.3-1.fc37                    @updates  
mesa-filesystem.i686                 22.3.3-1.fc37                    @updates  
mesa-filesystem.x86_64               22.3.3-1.fc37                    @updates  
mesa-libEGL.i686                     22.3.3-1.fc37                    @updates  
mesa-libEGL.x86_64                   22.3.3-1.fc37                    @updates  
mesa-libGL.i686                      22.3.3-1.fc37                    @updates  
mesa-libGL.x86_64                    22.3.3-1.fc37                    @updates  
mesa-libGLU.x86_64                   9.0.1-7.fc37                     @fedora   
mesa-libOSMesa.i686                  22.3.3-1.fc37                    @updates  
mesa-libOSMesa.x86_64                22.3.3-1.fc37                    @updates  
mesa-libgbm.i686                     22.3.3-1.fc37                    @updates  
mesa-libgbm.x86_64                   22.3.3-1.fc37                    @updates  
mesa-libglapi.i686                   22.3.3-1.fc37                    @updates  
mesa-libglapi.x86_64                 22.3.3-1.fc37                    @updates  
mesa-libxatracker.x86_64             22.3.3-1.fc37                    @updates  
mesa-va-drivers.i686                 22.3.3-1.fc37                    @updates  
mesa-vulkan-drivers.i686             22.3.3-1.fc37                    @updates  
mesa-vulkan-drivers.x86_64           22.3.3-1.fc37                    @updates  
rocm-cmake.x86_64                    0.8.0.50400-72.el9               @rocm-copy
rocm-comgr.x86_64                    5.4.1-2.fc37                     @updates  
rocm-core.x86_64                     5.4.0.50400-72.el9               @rocm-copy
rocm-device-libs.x86_64              1.0.0.50400-72.el9               @rocm-copy
rocm-hip-libraries.x86_64            5.4.0.50400-72.el9               @rocm-copy
rocm-hip-runtime.x86_64              5.4.0.50400-72.el9               @rocm-copy
rocm-hip-runtime-devel.x86_64        5.4.0.50400-72.el9               @rocm-copy
rocm-hip-sdk.x86_64                  5.4.0.50400-72.el9               @rocm-copy
rocm-language-runtime.x86_64         5.4.0.50400-72.el9               @rocm-copy
rocm-llvm.x86_64                     15.0.0.22465.50400-72.el9        @rocm-copy
rocm-ocl-icd.x86_64                  2.0.0.50400-72.el9               @rocm-copy
rocm-opencl.x86_64                   2.0.0.50400-72.el9               @rocm-copy
rocm-opencl-runtime.x86_64           5.4.0.50400-72.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.50400-72.el9               @rocm-copy
rocminfo.x86_64                      1.0.0.50400-72.el9               @rocm-copy
rocthrust-devel.x86_64               2.10.9.50400-72.el9              @rocm-copy
vulkan-loader.i686                   1.3.216.0-3.fc37                 @fedora   
vulkan-loader.x86_64                 1.3.216.0-3.fc37                 @fedora   
vulkan-tools.x86_64                  1.3.216.0-2.fc37                 @fedora   
xorg-x11-drv-amdgpu.x86_64           22.0.0-2.fc37                    @fedora

I also tried all 3 methods from the all-ways-egpu project to disable my internal/integrated gpu and attempt to force my system to use my dedicated AMD eGPU. They all resulted in either no video output (blank screen), crashing when attempting to login to Gnome, or hard freezing a few seconds after logging in. Before the hard freeze I attempted rocminfo which returned errors which I have experienced previously in this thread.

To my understanding, the fact that I was not able to use my AMD GPU as my primary GPU shows that it is not working even as a basic graphics processor under Fedora, regardless of opencl/vulkan support. If I’m correct, then is the issue lower level than rocm support, and more like a amdgpu kernel driver problem? Please note that my understanding of how GPUs work is minimal, and I’m not aware of which graphics “frameworks” (if any) are required to simply drive a GUI output from Wayland/Gnome.

Until I get round to creating a persistent install of Rocky somewhere, do you have anything else in mind which I could try testing on Fedora?

I don’t know how accurate this is, but the following link appears to indicate that the driver from AMD might have better support for the latest video cards.

Apparently that wiki wasn’t accurate at all (at least for Fedora Linux). See Paul DeStefano reply below. Thanks Paul!

Sorry, no, I’m out of ideas. I think you’ve done a very thorough job testing. I don’t know of anyone who could help you, other than AMD, that you haven’t already tried to contact. I agree with your instinct that there is something wrong between AMDGPU and the card. AFAIK, it should be working at some level with amdgpu, but you have shown that nothing above PCI physical connectivity is functional. I double checked, and your card is listed as supported by amdgpu:

https://www.kernel.org/doc/html/latest/gpu/amdgpu/driver-misc.html

so, we’re doing the right thing. It just isn’t working.

Your symptoms are consistent with a card that isn’t supported by any kernel driver or a hardware failure, but we certainly having ruled out all other possible factors.

@glb the ‘amdgpu’ driver from AMD is actually the one in Fedora. Fedora maintainers may make some changes, but we can safely assume all of those are for good reason, and that building your own kernel with source from AMD wouldn’t result in any better support, aside from some experimental features.

The only thing you can get directly from AMD that the Fedora maintainers are NOT including in the kernel they distribute is AMDGPU-PRO, which cannot be installed on Fedora (using the AMD installer). So, while your suggestion might work in other cases, it isn’t an option for Fedora users, and hasn’t even been an real option for over 10 years, since AMD stopped supporting Fedora. As has been reported many places, AMDGPU-PRO (and Catalyst before it) can be "forced* to install on Fedora, but only after much effort and a typically long list of manual modifications. But, AFAIK, the list of modifications hasn’t been updated in ages; no one has performed this sort of brain surgery on the installer in a long time, so who knows what would be required, today.

But, I think the reason no one has bothered to report that information to the wider community is because it simply isn’t required anymore for even advanced feature support, like OpenGL and OpenCL, which are functional in the open source driver AMDGPU for many applications, new and old.