Display driver refuses to initialize after update

so, i have installed pacman update yesterday. i remember it contained linux headers and graphic-related packages.

however, rebooting the machine for the first time after the update, i noticed my display is entirely showing blank black screen.

weird thing is BIOS POST and linux bootlog screen displays without problem. the only thing does not work is display manager(the log-in screen).

i found out i can short press a power button of the machine to properly turn it off while the blank screen is displayed. and i also found out the power-off process only takes 2~3 secs. so kernel is loaded and working, but display driver and everything else is not.

i can confirm my machine is fine electrically. i can boot it into windows without problem.

i edited my kernel args to include nomodeset and it boots fine. and found out there is no update available.

specs are here.

  • CPU: Ryzen 5800X
  • MB: MSI X470
  • GPU: Radeon RX590 8GB
  • bootloader: systemd-boot
  • FS: btrfs with compression and subvolumes
  • mesa: 1:25.3.2-1
  • kernel: 6.18.2-arch2-1

I believe I am having a very similar issue.

In my case, even using a live image on USB stick, I still need to use nomedeset.

I am about to give-up and do a fresh install :cry:

@blueon
This doesn’t make sense to me. (nomodeset) I have the almost the same hardware although my board is an x570. I do have the RX 590 and am using btrfs but on grub bootloader.

Arch wiki specifically states.

Make sure you do not have nomodeset or vga= as a kernel parameter since amdgpu requires KMS.

Edit: @blueon
I also have an B550 board running the 5800X with an RX6750 XT. I do not use nomodeset on either.

i clearly don’t have nomodeset or GPU-related params in boot args. and with nomodeset, i can boot without problem.

Well i can only say that if it’s working that’s okay but not sure why after doing an update this is necessary. I have almost nothing in my grub command line with almost the same hardware except that you have the x470 board.

GRUB_CMDLINE_LINUX_DEFAULT=‘nowatchdog nvme_load=YES loglevel=3’

What is your UEFI Bios version?

You could post the hardware if you want. Post the url.

inxi -Faz | eos-sendlog

Try downgrading mesa packages and/or using an LTS kernel

https://0x0.st/P-iV.txt

Device-1: Advanced Micro Devices [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] vendor: Hightech Information System driver: N/A alternate: amdgpu arch: GCN-4 code: Arctic Islands process: GF 14nm built: 2016-20 pcie: gen: 3 speed: 8 GT/s lanes: 16 bus-ID: 27:00.0 chip-ID: 1002:67df class-ID: 0300

It is showing no driver loaded and is rendering on llvmpipe.

API: OpenGL v: 4.5 vendor: mesa v: 25.3.2-arch1.1 glx-v: 1.4 direct-render: yes renderer: llvmpipe (LLVM 21.1.6 256 bits) device-ID: ffffffff:ffffffff memory: 30.53 GiB unified: yes

This may be because you are using nomodeset? I also notice there are 4 newer UEFI Bios updates for this motherboard although they show they are all beta versions. I don’t understand why these manufacturers post Beta versions and then when they come out with another it’s still a Beta. Makes no sense to me. I personally don’t have an issue using a Beta version but that’s up to you. It may or may not resolve the issue.

Can you post what is in your command line for kernel parameters?

Edit: I also noticed you are using X11 and not Wayland. Have you tried logging in using Wayland?

Also you may need to try adding early kms to dracut. But remove nomodeset from command line and reinstall-kernels.

/etc/dracut.conf.d/myflags.conf

add

force_drivers+=" amdgpu "

initrd=\c10a29bb26484d91a79937695d61519b\6.18.2-arch2-1\initrd nvme_load=YES nowatchdog rw rootflags=subvol=/@
root=UUID=88af7ac4-7baf-418a-9db0-34fec7581d3d systemd.machine_id=c10a29bb26484d91a79937695d61519b nomodeset
yes, that is probably because of nomodeset. can’t pick Wayland because the display stops working just before display manager (the log in screen) shows up.

will try the force_drivers for now.

I think you may need to run sudo reinstall-kernels after.

Edit: The only difference you have is basically the x470 motherboard with a lower UEFI Bios version. The RX 580 and RX 590 are not much different.

tried the force_drivers. now the display goes out even faster(before the kernel fully boots). i updated the UEFI, and apparently systemd-boot boot entry is gone. so now i need to re-install the bootloader. to do that, i tried booting into EOS 2025.03.19 ISO. but no surprise, without nomodeset, it didn’t boot. so essentially, it is not a driver isssue. more like VBIOS issue.

Have you tried using amdgpu.dc=0 in the command line without nomodeset and then
sudo reinstall-kernels

Edit: You can also try adding along with it amdgpu.powerplay = 0

Ya sometimes that happens even with grub.

@blueon
Here is some additional info if you think it is Vbios related. I have done many years of Bios and firmware updates but never on a Gpu.

adding parameters didn’t work.

i made some discovery. looking into bootlog closely, an error message can be seen:

6.311976] andgpu 0000:27:00.0: probe with driver andgpu failed with error -22

this makes the problem more likely to be hardware related. so i tried changing various VGA BIOS with unofficial binaries since there’s no official(HIS RX590 8GB OC) one available. but got no luck. most of them didn’t work at all and rest of the firmware images didnt work with EOS.

so situation is really tricky. EOS tells me it is hardware problem but Windows works just fine. no difference after VBIOS reflash.

it is working again. i opened up the computer to do cable management. after finishing it, i pressed a power button and heard boot error beeps multiple times. and apparently booted to linux just fine? i don’t know. it has too many ‘it sometimes does that’ things.

So is working now without nomodeset?

Edit: Also when you updated the UEFI Bios did you set it defaults first and then go in and change the settings that need to be changed such as secure boot disabled, csm disabled, turn off fast boot, set gpu to be dedicated. Did you flash to the latest? Even though it say’s Beta that’s what i would do. Maybe eventually they come out with a final but I doubt it because the motherboard is getting too old.

yes i flashed latest beta. but beta with default settings wasn’t enough. more than ten times of reboots and couple of hours passed did the trick.

There must have been a loose connection or something inside? :person_shrugging: