Today I switched from my trusty AMD Radeon RX 6700 XT to a new Radeon RX 9070 XT, and things did not start well.
When I booted into Linux and the encryption passphrase prompt appeared, the screen went completely black.
I was only able to boot by adding amdgpu.modeset=1 to the GRUB kernel parameters, which finally allowed me to see what was actually going wrong.
After running a lot of debugging, I found the following errors:
gfx_v12_0 failed -19
sdma_v7 failed -19
mes_v12 failed -19
vcn_v5 failed -19
Fatal error during GPU init
At that point I realized the issue had to be related to linux-firmware.
So I checked the files under /lib/firmware/amdgpu/ and noticed they were very old — from 2023 — and clearly too outdated for the RX 9070 XT.
Here is what I did to fix it:
-
git clone https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git -
sudo cp linux-firmware/amdgpu/* /lib/firmware/amdgpu/ -
sudo dracut --force
After rebooting, the amdgpu driver loaded correctly, and the new card is now working perfectly.
I hope this helps someone else facing the same issue.
I suspect this issue happened because my system originally started on Fedora 39 and has been continuously upgraded through each release up to Fedora 42. Some of the old firmware files probably carried over during these upgrades.