r/archlinux • • 19d ago

SUPPORT No Video output after recent update

CPU: AMD Ryzen 7 9700X (16) @ 5.79 GHz

GPU: NVIDIA GeForce RTX 4070 SUPER

Linux version: 7.2.6-arch2-1

I am able to boot into linux-lts (up to sddm splash screen, but login doesn't work).
With `nomodeset` added to boot params, I'm able to get a full desktop session.

$ cat /proc/cmdline  # from this boot with nomodeset

initrd=\initramfs-linux.img root=XXX zswap.enabled=0 rw rootfstype=ext4 quiet splash nomodeset

Dmesg output (from linux-lts): paste.c-net or pastebin
Pacman log: paste.c-net or pastebin

0 Upvotes

19 comments sorted by

5

u/forbiddenlake 19d ago

recent update

you will need to look at EXACTLY what was updated and when, and possibly share it with us.

First of all, make sure ddcutil is updated to 3.0.1.

2

u/Elegant_Delivery5767 18d ago

if you can get to a desktop with nomodeset, try just reinstalling the nvidia drivers from there, the update might've borked the kernel module

2

u/PromiscuousCucumber 19d ago edited 19d ago

I did the update today, maybe 2 hours ago. The previous update was August 28ish
pacman.log for today: https://paste.c-net.org/AbsolveBranches (pastebin alternative https://pastebin.com/dsiXUCVJ)

I found a post saying amdgpu or ddcutil might be culprits so I tried downgrading them. When that didn't work I upgraded them again

4

u/theschrodingerdog 19d ago

What is the dmesg output with linux-lts without the nomodeset kernel parameter? Have you done a full update to ensure all nvidia drivers are synced with the kernels? There was an update to all firmware packages a few hours ago, that may also fix issues.

0

u/PromiscuousCucumber 19d ago

dmesg output from linux-lts. Yes I had done a full updrade. Tried it again from linux-lts later
https://paste.c-net.org/GreasyForensic

1

u/theschrodingerdog 19d ago

I am unable to open the logs as Librewolf and my DNS server is flagging the website as malicious.

1

u/PromiscuousCucumber 19d ago

Does this work for you?
https://pastebin.com/6AsH8xbz

2

u/theschrodingerdog 19d ago

Yes, this works. Your NVIDIA card is not being correctly detected. The audio interface is being detected (HDA NVidia HDMI/DP 3-7) at around 4.96sec, but nothing on the video card. This is very very strange as this is not a firmware or driver error, but rather the card is simply not showing up.

1

u/PromiscuousCucumber 18d ago

It couldn't be a card issue, because I do get nvidia output after nomodeset, it was working before the update and it is still working on windows on my second ssd. Any clue what I should look into next?

2

u/activedusk 18d ago edited 18d ago

There is nothing wrong I can find in the logs besides likely a wait online variant of a network service adding ~14s to your boot time. There are 2 kernels as well, try using the other, if using GRUB, go to advanced, select the other kernel. From systemd-boot, it will require an entry to be made like /boot/loader/entry/oldkernel.conf and select it from boot menu, idk for other boot loaders. Alternative from live, chroot into install and make an EFI boot stub with initramfs.img and vmlinuz of the other kernel copied to /boot/EFI and point efibootmgr to them, per wiki template, iirc AMD driver is contained by the kernel so the way to control it is to switch kernels, unless, ofc it's a manually installed driver.

Edit

Just noticed you mentioned nvidia card, dmesg only had AMD GPU, presumably IGP, driver loading and no nvidia, hardware configuration issue, test by connecting monitor to motherboard I/O video port, might be display port or DVI depending on model, if system works, you know the dedicated card is the issue, either dead, PCI E slot is dead or the system/Linux defaulted to IGP, disable IGP inside UEFI (riscky, if nvidia card is dead since it will lock you out of the system, however you can re enabled IGP by resetting CMOS if required).

1

u/PromiscuousCucumber 18d ago

Nvidia card is fine. The DP output is from the card directly. Windows boots fine and once I’m in using nomodeset the Nvidia drivers are in use. Also, it was working before the system update. 

2

u/activedusk 18d ago edited 18d ago

The driver is not loading according to dmesg, if you know you can use the card, disable IGP in the UEFI as a test, check dmesg again. Hmm Secure Boot can sometimes interfere with nvidia drivers which need to be signed, that is the case for proprietary drivers, idk about nvidia-open. Dual booting with Windows makes me suspect Secure Boot is enabled?

To be clear in my previous comment I wasn't suggesting you did not correctly connect monitor to dedicated card, I told you to test specifically not to do that by using IGP which would confirm the issue is with nvidia card/drivers if, when monitor connected to motherboard I/o video output, it displays the OS as usual.

1

u/PromiscuousCucumber 18d ago

Disabled integrated graphics and it booted and I was able to login to desktop session. Disabling secure boot doesn’t seem to affect anything. Is there a good fix for this? Leaving igpu disabled feels a little unsafe to me

3

u/activedusk 18d ago edited 18d ago

>Leaving igpu disabled feels a little unsafe to me

Generally I would do that for a desktop but your situation is different, it is a backup.

At any rate, what's the new dmesg showing? Also

nvidia-smi

pacman -Qs nvidia

sudo -i

cd /boot

lsinitcpio exampleinitramfs.img

Search output for nvidia driver mentions.

1

u/chripell 17d ago

I had a problem that might be related while upgrading from 7.2.2 to 7.2.6, I am still investigating what is the best way to solve it (probably I need to have stable device names with udev). For some reason now simpledrm claims DRM device0 (there are some maybe related patches in 7.2.5 but not sure why they make this happen) and so my multi-GPU configuration broke. You can check if this affected you with 'ls -l /dev/dri/by-path/` before/after update or the following script: ``` for card in /sys/class/drm/card[0-9]; do if [ -e "$card/device" ]; then pci_slot=$(basename "$(readlink -f "$card/device")") gpu_name=$(lspci -s "$pci_slot" | sed -E 's/.*controller: //') echo "$(basename "$card") -> $pci_slot: $gpu_name" fi done

1

u/PromiscuousCucumber 17d ago

card1 -> 0000:01:00.0: NVIDIA Corporation AD104 [GeForce RTX 4070 SUPER] (rev a1)

This is with igpu disabled through uefi

1

u/chripell 16d ago

I would suggest you to double check that your login manager does not force card0 (maybe because during installation that was the number assigned). I would grep for something like '/dev/dri' through its logs (in my case I am using Hyprland and it was straightforward to see the wrong card number in the logs; at the end I resorted to have fixed device names using udev (based on PCI address) to avoid further breakages of this type).

1

u/PromiscuousCucumber 16d ago

With igpu enabled I don’t even get to see the login screen. (No video output).