Updated Nvidia 470xx driver stopped working (SOLVED: dracut)

Hello! I couldn’t find an answer online, but I did solve this problem. I’m writing a new topic that may help someone in the future :slightly_smiling_face:

Basically recently I installed an update to my Nvidia driver (from 470.199.02 to 470.223.02) through eos-update. It turned out, the Nvidia driver stopped working altogether and EndeavourOS was loading the modesetting one. I have an old graphics card Quadro K1100M.

Running nvidia-smi resulted in:

Failed to initialize NVML: Driver/library version mismatch

inxi -Fxxxz showed:

Graphics:
  Device-1: NVIDIA GK107GLM [Quadro K1100M] vendor: Dell driver: nvidia
    v: 470.199.02 arch: Kepler pcie: speed: 2.5 GT/s lanes: 16 ports:
    active: none off: DP-1,LVDS-1 empty: DP-2,DP-3,VGA-1 bus-ID: 01:00.0
    chip-ID: 10de:0ff6 class-ID: 0300
  Device-2: Microdia Integrated Webcam driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 bus-ID: 1-1.5:3 chip-ID: 0c45:64d0 class-ID: 0e02
  Display: x11 server: X.Org v: 21.1.9 compositor: kwin_x11 driver: X:
    loaded: modesetting failed: nvidia alternate: fbdev,nouveau,nv,vesa
    gpu: nvidia,nvidia-nvswitch display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x2160 s-dpi: 96 s-size: 506x570mm (19.92x22.44")
    s-diag: 762mm (30.01")
  Monitor-1: DP-1 note: disabled pos: primary,top model: Dell P2414H
    serial: <filter> res: 1920x1080 hz: 60 dpi: 93
    size: 527x297mm (20.75x11.69") diag: 605mm (23.8") modes: max: 1920x1080
    min: 640x480
  Monitor-2: LVDS-1 note: disabled pos: bottom model: ChiMei InnoLux 0x15b1
    res: 1920x1080 dpi: 142 size: 344x194mm (13.54x7.64") diag: 395mm (15.5")
    modes: 1920x1080
  API: EGL v: 1.5 platforms: device: 1 drv: swrast gbm: drv: kms_swrast
    surfaceless: drv: swrast x11: drv: swrast inactive: wayland,device-0
  API: OpenGL v: 4.5 vendor: mesa v: 23.2.1-arch1.2 glx-v: 1.4
    direct-render: yes renderer: llvmpipe (LLVM 16.0.6 256 bits)
    device-ID: ffffffff:ffffffff
  API: Vulkan Message: No Vulkan data available.

So it looked like the kernel was still looking for the older driver (470.199.02).

dkms status showed:

(...)
nvidia/470.223.02, 6.5.9-arch2-1, x86_64: installed
(...)

So the older driver was not installed. I first tried reinstalling the driver using nvidia-inst, then yay, but the problem still persisted. Then I found on the net that sudo update-initramfs -u should update the module list, however my terminal showed that the command was not found.

Then I found this tutorial:
https://tutorialforlinux.com/2022/12/21/how-to-update-initramfs-in-arch-linux-step-by-step/2/

Installed dracut, run it and the driver works again!! :grinning:

I recently read on the EOS forums that you need to update/rebuild your kernel when updating Nvidia drivers to renew the hooks.
I think this is why.

Do you have package nvidia-hook installed?