Fedora 32: Radeon 5700 (XT) support

Searching a bit, it looks like other folks have the Radeon 5700 working with Fedora 32; so I’m not sure what went wrong for me.

I had to use the “basic graphics” install because the normal one didn’t work at all.

Now that Fedora is installed, it seems just the generic graphics driver is being used and I can’t figure out how to coax the kernel into loading the amdgpu module.

Have you seen this?:
https://discussion.fedoraproject.org/t/guide-install-amdgpu-pro-opencl-in-fedora-32/71216/2

I have; but my problem is more fundamental than that addresses.

sudo lsmod | grep amd

edac_mce_amd           32768  0
kvm_amd               114688  0
kvm                   806912  1 kvm_amd
ccp                   102400  1 kvm_amd
amd_iommu_v2           20480  0
pinctrl_amd            32768  0
lspci -k | grep -EA3 'VGA|3D|Display'
sudo rpm -qa | grep vulkan | sort
sudo rpm -qa | grep mesa | sort
sudo rpm -qa | grep amdgpu | sort

Share outputs of each please

$ lspci -k | grep -EA3 'VGA|3D|Display'
09:00.0 **VGA** compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] (rev c1)
        Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Device 0b36
        Kernel modules: amdgpu
09:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 HDMI Audio
$ sudo rpm -qa | grep vulkan | sort
mesa-vulkan-drivers-20.1.2-1.fc32.x86_64
vulkan-loader-1.2.135.0-1.fc32.x86_64
$ sudo rpm -qa | grep mesa | sort
mesa-dri-drivers-20.1.2-1.fc32.x86_64
mesa-filesystem-20.1.2-1.fc32.x86_64
mesa-libEGL-20.1.2-1.fc32.x86_64
mesa-libgbm-20.1.2-1.fc32.x86_64
mesa-libGL-20.1.2-1.fc32.x86_64
mesa-libglapi-20.1.2-1.fc32.x86_64
mesa-libOSMesa-20.1.2-1.fc32.x86_64
mesa-libxatracker-20.1.2-1.fc32.x86_64
mesa-vulkan-drivers-20.1.2-1.fc32.x86_64
$ sudo rpm -qa | grep amdgpu | sort
xorg-x11-drv-amdgpu-19.1.0-3.fc32.x86_64

Your kernel is running amdgpu. What seems to be the problem?

Hm.

Performance seems poor and the monitor does not return from sleep. I thought perhaps I was stuck with a generic driver. How do I ascertain what driver Xorg is using? And why didn’t lsmod | grep amd show a listing for amdgpu?

Update

From journalctl:

[snip - see Update 2]

Am I incorrect that Xorg is actually using the radeon driver?

I’ve found some postings that refer to blacklisting this driver so that the amdgpu one will get used; but I have not yet found the correct way to do this on Fedora.

Update 2

Yes, I am incorrect; the previously posted snippet provided an incomplete picture.

From /var/log/Xorg.0.log:

[    18.614] (II) Loading /usr/lib64/xorg/modules/drivers/ati_drv.so
[    18.614] (II) Module ati: vendor="X.Org Foundation"
[    18.614]    compiled for 1.20.8, module version = 19.1.0
[    18.615]    Module class: X.Org Video Driver
[    18.615]    ABI class: X.Org Video Driver, version 24.1
[    18.674] (II) LoadModule: "radeon"
[    18.675] (II) Loading /usr/lib64/xorg/modules/drivers/radeon_drv.so
[    18.679] (II) Module radeon: vendor="X.Org Foundation"
[    18.679]    compiled for 1.20.8, module version = 19.1.0
[    18.679]    Module class: X.Org Video Driver
[    18.679]    ABI class: X.Org Video Driver, version 24.1
[    18.679] (II) LoadModule: "modesetting"
[    18.679] (II) Loading /usr/lib64/xorg/modules/drivers/modesetting_drv.so
[    18.679] (II) Module modesetting: vendor="X.Org Foundation"
[    18.679]    compiled for 1.20.8, module version = 1.20.8
[    18.679]    Module class: X.Org Video Driver
[    18.679]    ABI class: X.Org Video Driver, version 24.1
[    18.680] (II) LoadModule: "fbdev"
[    18.680] (II) Loading /usr/lib64/xorg/modules/drivers/fbdev_drv.so
[    18.680] (II) Module fbdev: vendor="X.Org Foundation"
[    18.680]    compiled for 1.20.6, module version = 0.5.0
[    18.680]    Module class: X.Org Video Driver
[    18.680]    ABI class: X.Org Video Driver, version 24.0
[    18.680] (II) LoadModule: "vesa"
[    18.680] (II) Loading /usr/lib64/xorg/modules/drivers/vesa_drv.so
[    18.681] (II) Module vesa: vendor="X.Org Foundation"
[    18.681]    compiled for 1.20.6, module version = 2.4.0
[    18.681]    Module class: X.Org Video Driver
[    18.681]    ABI class: X.Org Video Driver, version 24.0
[    18.681] (II) RADEON: Driver for ATI/AMD Radeon chipsets:

[skipping a bit for brevity]

[    18.685] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[    18.685] (II) FBDEV: driver for framebuffer: fbdev
[    18.685] (II) VESA: driver for VESA chipsets: vesa
[    18.685] (EE) open /dev/dri/card0: No such file or directory
[    18.685] (WW) Falling back to old probe method for modesetting
[    18.685] (EE) open /dev/dri/card0: No such file or directory
[    18.685] (II) Loading sub module "fbdevhw"
[    18.685] (II) LoadModule: "fbdevhw"
[    18.685] (II) Loading /usr/lib64/xorg/modules/libfbdevhw.so
[    18.685] (II) Module fbdevhw: vendor="X.Org Foundation"
[    18.685]    compiled for 1.20.8, module version = 0.0.2
[    18.685]    ABI class: X.Org Video Driver, version 24.1
[    18.685] (EE) Unable to find a valid framebuffer device
[    18.685] (WW) Falling back to old probe method for fbdev
[    18.685] (II) Loading sub module "fbdevhw"
[    18.685] (II) LoadModule: "fbdevhw"
[    18.686] (II) Loading /usr/lib64/xorg/modules/libfbdevhw.so
[    18.686] (II) Module fbdevhw: vendor="X.Org Foundation"
[    18.686]    compiled for 1.20.8, module version = 0.0.2
[    18.686]    ABI class: X.Org Video Driver, version 24.1
[    18.686] (II) FBDEV(2): using default device
[    18.686] vesa: Refusing to run on UEFI
[    18.686] (EE) Screen 0 deleted because of no matching config section.
[    18.686] (II) UnloadModule: "modesetting"
[    18.686] (EE) Screen 0 deleted because of no matching config section.
[    18.686] (II) UnloadModule: "fbdev"
[    18.686] (II) UnloadSubModule: "fbdevhw"
[    18.686] (II) FBDEV(0): Creating default Display subsection in Screen section
        "Default Screen Section" for depth/fbbpp 24/32
[    18.686] (==) FBDEV(0): Depth 24, (==) framebuffer bpp 32
[    18.686] (==) FBDEV(0): RGB weight 888
[    18.686] (==) FBDEV(0): Default visual is TrueColor
[    18.686] (==) FBDEV(0): Using gamma correction (1.0, 1.0, 1.0)
[    18.686] (II) FBDEV(0): hardware: EFI VGA (video memory: 16000kB)
[    18.686] (DB) xf86MergeOutputClassOptions unsupported bus type 0
[    18.686] (II) FBDEV(0): checking modes against framebuffer device...
[    18.686] (II) FBDEV(0): checking modes against monitor...
[    18.686] (II) FBDEV(0): Virtual size is 2560x1600 (pitch 2560)
[    18.686] (**) FBDEV(0):  Built-in mode "current": 409.7 MHz, 150.6 kHz, 92.7 Hz
[    18.686] (II) FBDEV(0): Modeline "current"x0.0  409.67  2560 2592 2656 2720  1600 1604 1608 1624 -hsync -vsync -csync (150.6 kHz b)
[    18.686] (==) FBDEV(0): DPI set to (96, 96)
[    18.686] (II) Loading sub module "fb"
[    18.686] (II) LoadModule: "fb"
[    18.686] (II) Loading /usr/lib64/xorg/modules/libfb.so
[    18.687] (II) Module fb: vendor="X.Org Foundation"
[    18.687]    compiled for 1.20.8, module version = 1.0.0
[    18.687]    ABI class: X.Org ANSI C Emulation, version 0.4
[    18.687] (**) FBDEV(0): using shadow framebuffer
[    18.687] (II) Loading sub module "shadow"
[    18.687] (II) LoadModule: "shadow"
[    18.687] (II) Loading /usr/lib64/xorg/modules/libshadow.so
[    18.687] (II) Module shadow: vendor="X.Org Foundation"
[    18.687]    compiled for 1.20.8, module version = 1.1.0
[    18.687]    ABI class: X.Org ANSI C Emulation, version 0.4
[    18.687] (II) UnloadModule: "radeon"
[    18.687] (II) Unloading radeon
[    18.687] (II) FBDEV(0): FBIOBLANK: Invalid argument (Screen blanking not supported by kernel - disabling)
[    18.689] (==) FBDEV(0): Backing store enabled
[    18.689] (==) FBDEV(0): DPMS enabled

So, after all that, it looks like Xorg winds up falling back to the generic framebuffer driver.

At no point does it seem to try to use the amdgpu driver.

if you have integrated graphics then it will be used instead of the discrete card .
if this is the case you should use DRI_PRIME to activate the discrete card .

can you go to gnome settings → about → graphics and tell us what is written there ?

you also must disable radeon using kernel parameters :
edit /etc/defautl/grub and add amdgpu.dc=0 radeon.cik_support=0 amdgpu.cik_support=1

Some folks on the fedora-users mailing list helped sort this out and I thought I’d post the solution here.

Because I had used the “basic graphics” installer, the kernel command line included the nomodeset parameter. This effectively disabled any attempt to load amdgpu. Removing the kernel parameter got things working.

I don’t think that’s necessarily the case; because I do have integrated graphics (Ryzen 2400G) and the discrete graphics card is used. However, this may explain, at least in part, why the Fedora install failed when using the normal graphical installer.

At this point it says “AMD® Navi10”.

I have not found any of that to be necessary.

what is the output of these :
DRI_PRIME=1 glxinfo | grep "OpenGL renderer"
DRI_PRIME=2 glxinfo | grep "OpenGL renderer"

Identical:

$ DRI_PRIME=1 glxinfo | grep "OpenGL renderer"
OpenGL renderer string: AMD NAVI10 (DRM 3.37.0, 5.7.6-201.fc32.x86_64, LLVM 10.0.0)
$ DRI_PRIME=2 glxinfo | grep "OpenGL renderer"
OpenGL renderer string: AMD NAVI10 (DRM 3.37.0, 5.7.6-201.fc32.x86_64, LLVM 10.0.0)

i had very similar issue with radeon rx 460 .
it was solved by this segment :

you also must disable radeon using kernel parameters :
edit /etc/defautl/grub and add amdgpu.dc=0 radeon.cik_support=0 amdgpu.cik_support=1

you might need si_support and not cik_support … i’m not sure .
check this : AMDGPU - ArchWiki

you need to run glmark2 to verify your gpu is performing well, so i wouldn’t mark this issue solved yet .
from what i see you still not using the amdgpu driver.

Why? What would you expect to see as output for the things you asked about?

The difference in performance between what’s getting used now and the generic framebuffer driver that was being used previously is stark.

Here’s the output of glmark2:

$ glmark2
=======================================================
    glmark2 2017.07
=======================================================
    OpenGL Information
    GL_VENDOR:     X.Org
    GL_RENDERER:   AMD NAVI10 (DRM 3.37.0, 5.7.6-201.fc32.x86_64, LLVM 10.0.0)
    GL_VERSION:    4.6 (Compatibility Profile) Mesa 20.1.2
=======================================================
[build] use-vbo=false: FPS: 10301 FrameTime: 0.097 ms
[build] use-vbo=true: FPS: 17385 FrameTime: 0.058 ms
[texture] texture-filter=nearest: FPS: 17056 FrameTime: 0.059 ms
[texture] texture-filter=linear: FPS: 17185 FrameTime: 0.058 ms
[texture] texture-filter=mipmap: FPS: 17460 FrameTime: 0.057 ms
[shading] shading=gouraud: FPS: 17341 FrameTime: 0.058 ms
[shading] shading=blinn-phong-inf: FPS: 17086 FrameTime: 0.059 ms
[shading] shading=phong: FPS: 17842 FrameTime: 0.056 ms
[shading] shading=cel: FPS: 17766 FrameTime: 0.056 ms
[bump] bump-render=high-poly: FPS: 17657 FrameTime: 0.057 ms
[bump] bump-render=normals: FPS: 18127 FrameTime: 0.055 ms
[bump] bump-render=height: FPS: 18071 FrameTime: 0.055 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 18465 FrameTime: 0.054 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 15161 FrameTime: 0.066 ms
[pulsar] light=false:quads=5:texture=false: FPS: 16987 FrameTime: 0.059 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 9317 FrameTime: 0.107 ms
[desktop] effect=shadow:windows=4: FPS: 8849 FrameTime: 0.113 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 1522 FrameTime: 0.657 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 1868 FrameTime: 0.535 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 1906 FrameTime: 0.525 ms
[ideas] speed=duration: FPS: 4338 FrameTime: 0.231 ms
[jellyfish] <default>: FPS: 15203 FrameTime: 0.066 ms
[terrain] <default>: FPS: 3082 FrameTime: 0.324 ms
[shadow] <default>: FPS: 13446 FrameTime: 0.074 ms
[refract] <default>: FPS: 7930 FrameTime: 0.126 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 18153 FrameTime: 0.055 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 18246 FrameTime: 0.055 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 18304 FrameTime: 0.055 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 18648 FrameTime: 0.054 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 18499 FrameTime: 0.054 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 18448 FrameTime: 0.054 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 18300 FrameTime: 0.055 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 18600 FrameTime: 0.054 ms
=======================================================
                                  glmark2 Score: 14198 
=======================================================

that is a high glmark2 score,
but still i think the renderer string should be radeon 5700 and not navi10 .

I’m confident that the amdgpu driver is being used. (It’s hard to crash in it if it’s not in use. :upside_down_face:)

I read over the ArchLinux AMDGPU page you linked to. As much of the language on that page indicates, some of the details around configuration may be in flux; I think its likely that the state of the art has moved slightly past what that page describes (at least for some cards).

AMD NAVI10 does not seem to me, on its face, to be an unreasonable string for the driver to report for GL_RENDERER. Perhaps it’s the case that all RX 5000 series cards report this string.

1 Like

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.