[Solved] AMD Radeon 6800 XT trouble

EDIT: Removing nomodeset from the grub config solved the problem!

Greetings!

I’ll just start with listing some of my hardware:
CPU: AMD Ryzen 9 3950X (not overclocked)
Motherboard: Asus ROG Strix X570-F
Graphics card: XFX Speedster Merc 319 Radeon 6800 XT
RAM: G.Skill 32GB
PSU: Corsair 1200 watt
Drives: Corsair MP600 1TB x2
Soundcard: Creative Soundblaster ZxR
NIC: Asus XG-C100C

My system of choice is Fedora KDE spin.

Okay, so… I initially bought an nVidia RTX 2070 during summer, thinking the days of driver issues I experienced 15 years ago was a thing of the past. Long story short; the entire experience was janky and everywhere I read, people recommended AMD due to the excellent support.

Fast forward half a year and I bought a 6800 XT when it became available. Got it just before the weekend.

I downloaded the latest Fedora KDE ISO and swapped my hardware and performed a fresh install… or that is what I hoped to do.

The first problem was that the USB stick I prepared wouldn’t boot properly. It would hang at a certain point during boot. I ran over to the neighbor and got a DVD burned, same issue. After a bit of trial and error, I found that I had to select troubleshooting and basic graphics support for it to boot into the GUI.

After a frustrating install process, I were greeted with a really low resolution, distorted desktop environment. I found that the only available resolution was a 1024x768 at 76 hz, which doesn’t look great on a 16:9 32" 4K monitor…

I have tried to install the AMD drivers, but did not succeed. I chose the RHEL drivers as that would be the closest match for me. Ran into what looked like repository issues, and when I found a workaround for that, it failed again due to my system not being rl8 or something like that.

Searching around, the answer is for the most part “don’t bother, it is included in the kernel.” I can see I have xorg-x11-drv-amdgpu installed, which should be the included driver. However, it doesn’t seem to do anything useful due to how things look.

When I run lspci, I can see the graphics card in the list as VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] (rev c1)

Somehow moving to AMD turned out to be a lot more broken experience than nVidia ever was for me. I’m sure there’s probably a fix for this, but I either haven’t found it in my searches, or it is beyond my knowledge.

Any help to get this working is greatly appreciated.

You will probably have to adapt the install guide I did for ubuntu to fedora. You’ll need kernel 5.10 and the firmware from the linux firmware git repo

3 Likes

Alright, I’ll have a look. My system is at kernel 5.10, so that part is at least good.

EDIT: Somehow that excellent guide evaded my searches. Having a read now!

1 Like

Thought I’d report back. I read through the guide, but it did not work out for me. Probably a bit of me not having great experience on the subject, and some compatibility issues as I attempted to make it work for Fedora.

I’ll give a summary of what I did, in case it might be of interest for someone:
System is up to date, Fedora 33 with KDE, kernel 5.10.

Downloaded the drivers from AMD and extracted it as described in the guide. I took the liberty of renaming the folder to just amdgpu.

When I tried to run the installer, I were greeted with the repository errors mentioned in the first post.

The workaround was to make a file in /etc/yum.repos.d/amdgpu.repo with the following added:

[amdgpu]
name=AMDGPU Packages
baseurl=file:///tmp/amdgpu/
enabled=1
skip_if_unavailable=1
gpgcheck=0
cost=500
metadata_expire=300

This would allow me to run the installer, but it threw errors stating my system wasn’t RL8 or something like that. Some stuff got installed, some didn’t.

I skipped the part with installing 5.10, as my system already has it.

I removed the dkms files by running sudo dnf remove amdgpu-dkms and checked nothing was blacklisted.

Grabbed the firmware files and copied them as specified, performed a reboot, still same old 1024x768 resolution.

Another odd thing is that audio isn’t working. I have made sure settings are correct in pulseaudio and alsamixer, but no output. It did work in my previous install with Fedora 32. Not sure if it is related to my woes, and hasn’t been a big priority at this point.

At this point, a friend suggested I should try Manjaro, as it allow to load non-free drivers and all that in the live boot.

Guess what… It worked. Proper resolution, smooth, audio working, everything looks, sounds and feels great.

I will perform a new fresh install of Fedora in case I goofed something during install.

I would check the output of dmesg when you get fedora up. and output of lsmod. you can post them here.

lsmod will show us if amdgpu is loaded (I suspect not) and dmesg will show us if firmware files are missing/not at the expected location.

you may be just a modprobe amdgpu && systemctl restart gdm away from it working?

the amd packages on ubuntu don’t really do much except provide some libraries to smooth things over. I’m guessing/hoping you don’t need those. It’ll be apparent with e.g. steam if somethings broken but all you need for graphics to work right is amdgpu and the firmware. The rest of that mess is what you need for games/vulkan/etc.

just fyi. oh, this may also be useful: How To Use RDNA2 on Fedora 33 - #9 by huge_gamer

1 Like

Awesome, thank you. I will have a read and have another go.

I did reinstall my system, so need to go through the process again in order to post anything from dmesg. Somehow I didn’t set up raid 0 properly during the initial system install. So did goof something non-related, oops! That installer Fedora has can be a bit confusing…

A bit frustrating issue, but I suppose it is a good chance to learn something new while trying to fix it. If it fails completely, plan B is Manjaro since everything just worked straight away on the live boot. Would like to stick with Fedora if I can, so hopefully it will work out.

Will post another update later this week.

Redid everything I posted above.

In dmesg I can see [ 2.406389] [drm:amdgpu_init [amdgpu]] *ERROR* VGACON disables amdgpu kernel modesetting.
This error can be seen on a clean system install too.

Here is the output from lsmod:

output

Module Size Used by
nft_fib_inet 16384 1
nft_fib_ipv4 16384 1 nft_fib_inet
nft_fib_ipv6 16384 1 nft_fib_inet
nft_fib 16384 3 nft_fib_ipv6,nft_fib_ipv4,nft_fib_inet
nft_reject_inet 16384 4
nf_reject_ipv4 16384 1 nft_reject_inet
nf_reject_ipv6 20480 1 nft_reject_inet
nft_reject 16384 1 nft_reject_inet
nft_ct 20480 10
nft_chain_nat 16384 4
ip6table_nat 16384 0
ip6table_mangle 16384 0
ip6table_raw 16384 0
ip6table_security 16384 0
iptable_nat 16384 0
nf_nat 49152 3 ip6table_nat,nft_chain_nat,iptable_nat
nf_conntrack 163840 2 nf_nat,nft_ct
nf_defrag_ipv6 24576 1 nf_conntrack
nf_defrag_ipv4 16384 1 nf_conntrack
iptable_mangle 16384 0
iptable_raw 16384 0
iptable_security 16384 0
ip_set 57344 0
nf_tables 241664 183 nft_ct,nft_reject_inet,nft_fib_ipv6,nft_fib_ipv4,nft_chain_nat,nft_reject,nft_fib,nft_fib_
inet
nfnetlink 16384 3 nf_tables,ip_set
ip6table_filter 16384 0
ip6_tables 32768 5 ip6table_filter,ip6table_raw,ip6table_nat,ip6table_mangle,ip6table_security
iptable_filter 16384 0
sunrpc 655360 1
pktcdvd 49152 1
snd_hda_codec_ca0132 131072 2
snd_hda_codec_hdmi 73728 1
snd_hda_intel 57344 6
snd_intel_dspcfg 24576 1 snd_hda_intel
soundwire_intel 45056 1 snd_intel_dspcfg
snd_seq_midi 20480 0
soundwire_generic_allocation 16384 1 soundwire_intel
snd_seq_midi_event 16384 1 snd_seq_midi
snd_soc_core 323584 1 soundwire_intel
vfat 20480 1
snd_compress 32768 1 snd_soc_core
fat 81920 1 vfat
edac_mce_amd 32768 0
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_usb_audio 311296 3
soundwire_cadence 36864 1 soundwire_intel
snd_hda_codec 172032 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_ca0132
snd_usbmidi_lib 45056 1 snd_usb_audio
snd_hda_core 110592 4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_ca0132
snd_rawmidi 45056 2 snd_seq_midi,snd_usbmidi_lib
ac97_bus 16384 1 snd_soc_core
snd_hwdep 16384 2 snd_usb_audio,snd_hda_codec
snd_seq 86016 2 snd_seq_midi,snd_seq_midi_event
snd_seq_device 16384 3 snd_seq,snd_seq_midi,snd_rawmidi
kvm 909312 0
snd_pcm 131072 10 snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,soundwire_intel,snd_compress,s
nd_soc_core,snd_hda_core,snd_hda_codec_ca0132,snd_pcm_dmaengine
eeepc_wmi 16384 0
asus_wmi 40960 1 eeepc_wmi
snd_timer 49152 2 snd_seq,snd_pcm
irqbypass 16384 1 kvm
sparse_keymap 16384 1 asus_wmi
rfkill 28672 4 asus_wmi
snd 110592 32 snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi
_lib,snd_hda_codec,snd_timer,snd_compress,snd_soc_core,snd_pcm,snd_hda_codec_ca0132,snd_rawmidi
sp5100_tco 20480 0
joydev 28672 0
rapl 20480 0
mc 61440 1 snd_usb_audio
video 53248 1 asus_wmi
wmi_bmof 16384 0
pcspkr 16384 0
mxm_wmi 16384 0
k10temp 16384 0
i2c_piix4 28672 0
soundcore 16384 1 snd
acpi_cpufreq 28672 0
zram 28672 1
ip_tables 28672 5 iptable_filter,iptable_security,iptable_raw,iptable_nat,iptable_mangle
iommu_v2 20480 0
gpu_sched 45056 0
ttm 118784 0
i2c_algo_bit 16384 0
drm_kms_helper 274432 0
crct10dif_pclmul 16384 1
cec 61440 1 drm_kms_helper
crc32_pclmul 16384 0
crc32c_intel 24576 3
drm 618496 3 gpu_sched,drm_kms_helper,ttm
ghash_clmulni_intel 16384 0
ccp 106496 0
atlantic 225280 0
nvme 49152 4
nvme_core 126976 7 nvme
macsec 53248 1 atlantic
wmi 36864 3 asus_wmi,wmi_bmof,mxm_wmi
pinctrl_amd 32768 0
fuse 163840 1

Packages installed from the RHEL 8.2 driver package from AMD:

Packages

Installed:
amdgpu-20.45-1188099.el8.x86_64 amdgpu-dkms-1:5.6.20.906316-1188099.el8.noarch
amdgpu-dkms-firmware-1:5.6.20.906316-1188099.el8.noarch amdgpu-lib-20.45-1188099.el8.x86_64
dkms-2.8.4-1.fc33.noarch elfutils-libelf-devel-0.182-1.fc33.x86_64
kernel-devel-5.10.11-200.fc33.x86_64 libdrm-amdgpu-1:2.4.100-1188099.el8.x86_64
libdrm-amdgpu-common-1.0.0-1188099.el8.noarch llvm-amdgpu-libs-1:10.0-1188099.el8.x86_64
mesa-amdgpu-dri-drivers-1:20.1.6-1188099.el8.x86_64 mesa-amdgpu-filesystem-1:20.1.6-1188099.el8.x86_64
mesa-amdgpu-libEGL-1:20.1.6-1188099.el8.x86_64 mesa-amdgpu-libGL-1:20.1.6-1188099.el8.x86_64
mesa-amdgpu-libGLES-1:20.1.6-1188099.el8.x86_64 mesa-amdgpu-libOSMesa-1:20.1.6-1188099.el8.x86_64
mesa-amdgpu-libgbm-1:20.1.6-1188099.el8.x86_64 mesa-amdgpu-libglapi-1:20.1.6-1188099.el8.x86_64
mesa-amdgpu-libxatracker-1:20.1.6-1188099.el8.x86_64 mesa-amdgpu-vdpau-drivers-1:20.1.6-1188099.el8.x86_64
xorg-x11-amdgpu-drv-amdgpu-1:24.0.0-1188099.el8.x86_64 zlib-devel-1.2.11-23.fc33.x86_64

Failed:
amdgpu-core-20.45-1188099.el8.noarch

When running sudo dnf remove amdgpu-dkms it removes:

amdgpu-dkms-1:5.6.20.906316-1188099.el8.noarch
amdgpu-20.45-1188099.el8.x86_64

Running modprobe amdgpu && systemctl restart gdm outputs the following:
modprobe: ERROR: could not insert 'amdgpu': Invalid argument
This same output happens before and after attempting to install the packages. No difference from a clean system install.

Did also try enabling CSM, but did not have any noticable effect.

Hey there!

I’m running a 6800 non xt on Fedora 33 KDE without any problem.
I installed with the safe graphics settings and just did an sudo dnf update for the newest Kernel and Mesa packages and everything works just fine.
So you should not need to install the driver from AMD.

3 Likes

this usually means firmware is missing.

dmesg show the output confirming that?

see also, above.

Had to do a fresh install again. Got a bit late, started getting ideas, long story short, the installation became fubar.

Also tested a “vanilla” Fedora, it would boot without the basic graphics mode thing, but still locked to the same low useless resolution.

Anyway… Back on a fresh KDE Fedora. System Information in KDE identifies my graphics processor to be an llvmpipe.

Running dmesg -H | grep amdgpu outputs two lines:

[ +0.018225] [drm:amdgpu_init [amdgpu]] ERROR VGACON disables amdgpu kernel modesetting.
[ +0.033029] [drm:amdgpu_init [amdgpu]] ERROR VGACON disables amdgpu kernel modesetting.

All I have done is to install the system, and run the updates with sudo dnf update and I am now on 5.10.11-200.fc33.x86_64.

Is this the keyword I should use to look up this in dmesg? Or anything else I need to look up to verify missing firmware on the output?

My firmware’s in /lib/firmware/amdgpu (in arch, not sure about fedora) you’ll need sienna_cichlid*

Had a look in /lib/firmware/amdgpu and found the following files named sienna_cichlid*:

sienna_cichlid_ce.bin
sienna_cichlid_mec2.bin
sienna_cichlid_rlc.bin
sienna_cichlid_sos.bin
sienna_cichlid_dmcub.bin
sienna_cichlid_mec.bin
sienna_cichlid_sdma.bin
sienna_cichlid_ta.bin
sienna_cichlid_me.bin
sienna_cichlid_pfp.bin
sienna_cichlid_smc.bin
sienna_cichlid_vcn.bin

Looks like all the necessary firmware files are present, yet nothing is working for me. Running the modprobe amdgpu command still produces modprobe: ERROR: could not insert 'amdgpu': Invalid argument.

Very strange that it just works without trouble for some people?

EDIT: Adding some more info.

inxi -G

Graphics: Device-1: Advanced Micro Devices [AMD/ATI] Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] driver: N/A
Display: x11 server: Fedora Project X.org 1.20.10 driver: ati,vesa unloaded: fbdev,modesetting,radeon
resolution: 1024x768~76Hz
OpenGL: renderer: llvmpipe (LLVM 11.0.0 256 bits) v: 4.5 Mesa 20.3.4

lspci -v

0c:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] (rev c1) (prog-if 00 [VGA controller])
Subsystem: XFX Limited Device 6701
Flags: bus master, fast devsel, latency 0, IRQ 255
Memory at d0000000 (64-bit, prefetchable) [size=256M]
Memory at e0000000 (64-bit, prefetchable) [size=2M]
I/O ports at f000 [disabled] [size=256]
Memory at fc900000 (32-bit, non-prefetchable) [size=1M]
Expansion ROM at fca00000 [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 <?>
Capabilities: [150] Advanced Error Reporting
Capabilities: [200] Resizable BAR <?>
Capabilities: [240] Power Budgeting <?>
Capabilities: [270] Secondary PCI Express
Capabilities: [2a0] Access Control Services
Capabilities: [2d0] Process Address Space ID (PASID)
Capabilities: [320] Latency Tolerance Reporting
Capabilities: [410] Physical Layer 16.0 GT/s <?>
Capabilities: [440] Lane Margining at the Receiver <?>
Kernel modules: amdgpu

Having a look at dmesg with just amd outputs the following:

[ +0.000694] amd_uncore: 4 amd_df counters detected
[ +0.000004] amd_uncore: 6 amd_l3 counters detected
[ +0.000004] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).
[ +0.085314] [drm:amdgpu_init [amdgpu]] ERROR VGACON disables amdgpu kernel modesetting.
[ +0.002307] EDAC amd64: F17h_M70h detected (node 0).
[ +0.000042] EDAC amd64: Node 0: DRAM ECC disabled.
[ +0.000147] [drm:amdgpu_init [amdgpu]] ERROR VGACON disables amdgpu kernel modesetting.
[ +0.000003] EDAC amd64: F17h_M70h detected (node 0).
[ +0.000049] EDAC amd64: Node 0: DRAM ECC disabled.

Dmesg output after running modprobe amdgpu ?

Try using one of these isos. Index of /pub/alt/live-respins
They are more up to date than the main ones. Also if you have usb problems still try setting the bus to pcie 3.0.

I’ve found the open source amdgpu + radv mesa drivers to be less of a issue then AMD’s own driver spin. (which won’t work with many games fyi)

Be careful installing BOTH drivers, programs can get confused on which one to use.

There has been some development. Actually looks like I found the culprit…

I wanted to have the system messages visible during boot, so I had a peek online and used the first instructions I found on what to edit.

I edited the grub configuration and removed the following from GRUB_CMDLINE_LINUX: “nomodeset rhgb quiet”

After the reboot I noticed the system messages changed to a higher resolution half way through. To my surprise, I found the desktop in the proper resolution too.

The graphics processor is now recognized as AMD SIENNA_CICHLID and find that amdgpu is the kernel driver in use.

Looks like I found the solution by accident. Anyone have an explanation to why editing the grub configuration made it suddenly work?

no idea, but I’ve been using xanmod kernel so maybe it does something special.

My apologies for the late reply.

Had a read on the subject, and found rhgband quiet to be the parts that obscure the system messages during boot.

nomodeset on the other hand seems to deal with the video driver.

My understanding is that with it set, it stops the driver to be loaded with the kernel and loads it with X instead. In theory, it should only affect the aesthetics of the boot process and not really affect the end result (the desktop enviroment).

For some reason it completely prevented the driver to be loaded in the end.

Either way, the solution was to remove nomodeset from the grub config.

A big thank you to everyone for the assistance on the issue.

I’m not much of a gamer, but it handled everything cranked up on Fallout 4 fine. Running the Unigine Superposition benchmark at 4K gave an average fps of just over 100. I suppose it is safe to say the drivers and card work just fine!

2 Likes