korvahannu/arch-nvidia-drivers-installation-guide

Is there a chance to make 470xx-dkms driver works again with Nvidia Quadro K600 and new kernels?

stiw47 opened this issue · 3 comments

Thanks for great guide. For few years, my Quadro K600 worked with just installing nvidia-470xx-dkms from AUR:

$ yay -S nvidia-470xx-dkms

I don't even remember that I set kernel cmdline parameter and mkiiniticpio modules/hooks before, it simply worked. Few months ago, with never kernels, stopped working, and when I boot my PC, I can see kernel messages until certain point when SDDM should appear. At this point, instead of SDDM which appears before, and should run KDE, I'm getting blank screen. This is actually home server and I have another desktop PC, laptop, etc., so I did not care too much, but since it is already connected to TV via DP to HDMI cable, I would like to bring desktop back if possible.

Archlinux is up to date.
KDE should be started by SDDM.

Already tried with default kernel. All few years while it worked, I used linux-lqx kernel - not working any more. Currently, in this latest try, I am on linux-lts:

[stiw47@archmedia ~]$ uname -a
Linux archmedia 6.6.17-1-lts #1 SMP PREEMPT_DYNAMIC Sat, 17 Feb 2024 08:28:50 +0000 x86_64 GNU/Linux

I have installed nvidia-470xx stuffs from AUR. On top, this latest time, I even didn't used yay, installed everything by manually downloading PKGBUILD, then makepkg -s, then sudo pacman -U *.pkg.tar.zst

Nvidia:

[stiw47@archmedia ~]$ pacman -Q | grep nvidia
lib32-nvidia-470xx-utils 470.239.06-1
lib32-opencl-nvidia-470xx 470.239.06-1
nvidia-470xx-dkms 470.239.06-1
nvidia-470xx-settings 470.223.02-1
nvidia-470xx-settings-debug 470.223.02-1
nvidia-470xx-utils 470.239.06-1
opencl-nvidia-470xx 470.239.06-1

And this is my card:

[stiw47@archmedia ~]$ lspci | grep -E 'VGA|3D'
01:00.0 VGA compatible controller: NVIDIA Corporation GK107GL [Quadro K600] (rev a1)

I should have no any more remains from nouveau driver (since I also tried to make it work with it). As far as I remember, it worked with nouveau few years ago, but there were some glitches, so I switched to nvidia-470xx-dkms then, and was happy for few years:

[stiw47@archmedia ~]$ pacman -Q | grep nouveau
[stiw47@archmedia ~]$ pacman -Q | grep xf86
lib32-libxxf86vm 1.1.5-1
libxxf86vm 1.1.5-1
xf86-input-libinput 1.4.0-1
xf86-video-intel 1:2.99.917+923+gb74b67f0-1
xf86-video-vesa 2.6.0-1

This is my grub cmdline:

[stiw47@archmedia ~]$ grep GRUB_CMDLINE_LINUX_DEFAULT /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 noquiet nvidia-drm.modeset=1"

I done grub update after adding modeset=1 parameter:

[stiw47@archmedia ~]$ sudo grub-mkconfig -o /boot/grub/grub.cfg 
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux-lts
Found initrd image: /boot/initramfs-linux-lts.img
Found fallback initrd image(s) in /boot:  initramfs-linux-lts-fallback.img
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot:  initramfs-linux-fallback.img
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done

This is from mkinitcpio.conf:

[stiw47@archmedia ~]$ grep -E 'MODULES=\(|HOOKS=\(' /etc/mkinitcpio.conf | grep -v \#
MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
HOOKS=(base udev autodetect modconf keyboard keymap consolefont block filesystems fsck)

And I done mkinitcpio -P after changes, it shown no errors:

[stiw47@archmedia ~]$ sudo mkinitcpio -P
==> Building image from preset: /etc/mkinitcpio.d/linux-lts.preset: 'default'
==> Using default configuration file: '/etc/mkinitcpio.conf'
  -> -k /boot/vmlinuz-linux-lts -g /boot/initramfs-linux-lts.img --microcode /boot/*-ucode.img
==> Starting build: '6.6.17-1-lts'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [keyboard]
==> WARNING: Possibly missing firmware for module: 'xhci_pci'
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [block]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: '/boot/initramfs-linux-lts.img'
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux-lts.preset: 'fallback'
==> Using default configuration file: '/etc/mkinitcpio.conf'
  -> -k /boot/vmlinuz-linux-lts -g /boot/initramfs-linux-lts-fallback.img -S autodetect --microcode /boot/*-ucode.img
==> Starting build: '6.6.17-1-lts'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [keyboard]
==> WARNING: Possibly missing firmware for module: 'xhci_pci'
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: 'qla2xxx'
==> WARNING: Possibly missing firmware for module: 'qed'
==> WARNING: Possibly missing firmware for module: 'qla1280'
==> WARNING: Possibly missing firmware for module: 'aic94xx'
==> WARNING: Possibly missing firmware for module: 'wd719x'
==> WARNING: Possibly missing firmware for module: 'bfa'
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: '/boot/initramfs-linux-lts-fallback.img'
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
==> Using configuration file: '/etc/mkinitcpio.conf'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: '6.7.5-arch1-1'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [keyboard]
==> WARNING: Possibly missing firmware for module: 'xhci_pci'
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [block]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: '/boot/initramfs-linux.img'
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
==> Using configuration file: '/etc/mkinitcpio.conf'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: '6.7.5-arch1-1'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [keyboard]
==> WARNING: Possibly missing firmware for module: 'xhci_pci'
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: 'qla2xxx'
==> WARNING: Possibly missing firmware for module: 'qed'
==> WARNING: Possibly missing firmware for module: 'qla1280'
==> WARNING: Possibly missing firmware for module: 'aic94xx'
==> WARNING: Possibly missing firmware for module: 'wd719x'
==> WARNING: Possibly missing firmware for module: 'bfa'
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: '/boot/initramfs-linux-fallback.img'
==> Image generation successful

Also added nvidia.hook to /etc/pacman.d/hooks/, but at this stage of driver installation, I think this is not mandatory for driver to works:

[stiw47@archmedia ~]$ cat /etc/pacman.d/hooks/nvidia.hook 
[Trigger]
Operation=Install
Operation=Upgrade
Operation=Remove
Type=Package
Target=nvidia-470xx-dkms
Target=linux-lts
# Adjust line(6) above to match your driver, e.g. Target=nvidia-470xx-dkms
# Change line(7) above, if you are not using the regular kernel For example, Target=linux-lts

[Action]
Description=Update Nvidia module in initcpio
Depends=mkinitcpio
When=PostTransaction
NeedsTargets
Exec=/bin/sh -c 'while read -r trg; do case $trg in linux) exit 0; esac; done; /usr/bin/mkinitcpio -P'

Rebooted after this, and as said on beginning, there is blank screen after kernel boot messages - SDDM and KDE not appears. Before this brokes, at this point, SDDM and KDE were appears, and I did not changed anything in mean time, just done regular updates with sudo pacman -Syu.

Card is not broken, because if I remove all above mentioned stuff (nvidia-470xx-****, grub cmdline, revert mkinitcpio.conf to default, etc.), and boot without any graphics driver installed, I'm getting my desktop, but in fixed low resolution. But I have to add grub cmdline parameter nomodeset in this case:

[stiw47@archmedia ~]$ grep GRUB_CMDLINE_LINUX_DEFAULT /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 noquiet nomodeset"

image

And I think that this message about wayland is some bug in KDE Settings (or KDE it self), because I know I not login to wayland, but to X11 instead:

image

Yeah, I know, it could be that this Quadro K600 could go to trash (or to be sold for some cheap money), but if someone have some advice, I would be thankful.

This is some additional info, please let me know if you need more info.

Thank you.

plasma packages:

[stiw47@archmedia ~]$ pacman -Q | grep plasma
kdeplasma-addons 5.27.10-2
plasma-bigscreen 5.27.10-1
plasma-browser-integration 5.27.10-1
plasma-desktop 5.27.10-1
plasma-disks 5.27.10-1
plasma-firewall 5.27.10-1
plasma-framework5 5.115.0-1
plasma-integration 5.27.10-1
plasma-nano 5.27.10-1
plasma-nm 5.27.10-1
plasma-pa 5.27.10-1
plasma-remotecontrollers 5.27.10-1
plasma-sdk 5.27.10-1
plasma-settings 23.01.0-5
plasma-systemmonitor 5.27.10-1
plasma-thunderbolt 5.27.10-1
plasma-vault 5.27.10-1
plasma-wayland-session 5.27.10-2
plasma-welcome 5.27.10-1
plasma-workspace 5.27.10-2
plasma-workspace-wallpapers 5.27.10-1

SDDM:

[stiw47@archmedia ~]$ pacman -Q | grep sddm
sddm 0.20.0-4
sddm-kcm 5.27.10-1

Xorg:

[stiw47@archmedia ~]$ pacman -Q | grep xorg
xorg-bdftopcf 1.1.1-1
xorg-docs 1.7.2-2
xorg-font-util 1.4.1-1
xorg-fonts-100dpi 1.0.4-2
xorg-fonts-75dpi 1.0.4-1
xorg-fonts-alias-100dpi 1.0.5-1
xorg-fonts-alias-75dpi 1.0.5-1
xorg-fonts-encodings 1.0.7-1
xorg-iceauth 1.0.9-1
xorg-mkfontscale 1.2.2-1
xorg-server 21.1.11-1
xorg-server-common 21.1.11-1
xorg-server-devel 21.1.11-1
xorg-server-xephyr 21.1.11-1
xorg-server-xnest 21.1.11-1
xorg-server-xvfb 21.1.11-1
xorg-sessreg 1.1.3-1
xorg-setxkbmap 1.3.4-1
xorg-smproxy 1.0.7-1
xorg-twm 1.0.12-1
xorg-util-macros 1.20.0-2
xorg-x11perf 1.6.2-1
xorg-xauth 1.1.2-1
xorg-xbacklight 1.2.3-3
xorg-xcmsdb 1.0.6-1
xorg-xcursorgen 1.0.8-1
xorg-xdpyinfo 1.3.4-1
xorg-xdriinfo 1.0.7-1
xorg-xev 1.2.5-1
xorg-xgamma 1.0.7-1
xorg-xhost 1.0.9-1
xorg-xinit 1.4.2-1
xorg-xinput 1.6.4-1
xorg-xkbcomp 1.4.7-1
xorg-xkbevd 1.1.5-1
xorg-xkbutils 1.0.6-1
xorg-xkill 1.0.6-1
xorg-xlsatoms 1.1.4-1
xorg-xlsclients 1.1.5-1
xorg-xmessage 1.0.6-1
xorg-xmodmap 1.0.11-1
xorg-xpr 1.1.0-1
xorg-xprop 1.2.7-1
xorg-xrandr 1.5.2-1
xorg-xrdb 1.2.2-1
xorg-xrefresh 1.0.7-1
xorg-xset 1.2.5-1
xorg-xsetroot 1.1.3-1
xorg-xvinfo 1.1.5-1
xorg-xwayland 23.2.4-2
xorg-xwd 1.0.9-1
xorg-xwininfo 1.1.6-1
xorg-xwud 1.0.6-1
xorgproto 2023.2-1

mesa:

[stiw47@archmedia ~]$ pacman -Q | grep mesa
lib32-mesa 1:24.0.1-1
libva-mesa-driver 1:24.0.1-1
mesa 1:24.0.1-1
mesa-utils 9.0.0-3
opencl-clover-mesa 1:24.0.1-1
opencl-rusticl-mesa 1:24.0.1-1

Additionally, this is from dmesg, grep'ed for nvidia:

[root@archmedia ~]# dmesg -T | grep nvidia
[Fri Feb 23 10:23:06 2024] Command line: BOOT_IMAGE=/boot/vmlinuz-linux-lts root=UUID=02f3913c-43a6-478e-8dbf-191cd9e0aa01 rw loglevel=3 noquiet nvidia-drm.modeset=1
[Fri Feb 23 10:23:06 2024] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-linux-lts root=UUID=02f3913c-43a6-478e-8dbf-191cd9e0aa01 rw loglevel=3 noquiet nvidia-drm.modeset=1
[Fri Feb 23 10:23:07 2024] nvidia: loading out-of-tree module taints kernel.
[Fri Feb 23 10:23:07 2024] nvidia: module license 'NVIDIA' taints kernel.
[Fri Feb 23 10:23:07 2024] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[Fri Feb 23 10:23:07 2024] nvidia: module license taints kernel.
[Fri Feb 23 10:23:08 2024] nvidia-nvlink: Nvlink Core is being initialized, major device number 238
[Fri Feb 23 10:23:08 2024] nvidia 0000:01:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=io+mem
[Fri Feb 23 10:23:09 2024] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  470.239.06  Sat Feb  3 06:03:51 UTC 2024
[Fri Feb 23 10:23:09 2024] nvidia_uvm: module uses symbols nvUvmInterfaceDisableAccessCntr from proprietary module nvidia, inheriting taint.
[Fri Feb 23 10:23:09 2024] nvidia-uvm: Loaded the UVM driver, major device number 236.
[Fri Feb 23 10:23:09 2024] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
[Fri Feb 23 10:23:10 2024] caller _nv000720rm+0x1ad/0x200 [nvidia] mapping multiple BARs
[Fri Feb 23 10:23:12 2024] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0 on minor 0
[Fri Feb 23 10:23:27 2024] [drm:drm_new_set_master] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to grab modeset ownership
[Fri Feb 23 10:23:27 2024] [drm:drm_new_set_master] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to grab modeset ownership

Attached full dmesg.txt, from reboot, until point when desktop not appeared (blank screen).

Apologize for false alert, I tried to connect real computer monitor, with real and quality DP to DP cable, and it is working. It seems that Chinese DP to HDMI cable is (semi-)broken. The main reason because I meant it is driver problem or something similar is because with TV and DP to HDMI cable I had video output on TV if I'm using nomodeset. But, as said, I was able to see that everything working normally with another monitor and another cable (nvidia-470xx-dkms driver and nvidia-drm.modeset=1). Closing this.

Hi! Good to hear :) I hadn't had time to check out your issue before today, but you had successfully resolved it so its all good!

Best regards,
Hannu