After you upgrade kernel, in my case linux-image-6.12.31-amd64 to linux-image-6.12.57+deb13-amd64, you need to rebuild nvidia driver. During boot, Debian will show some error loading nvidia module
To check which module fail during boot
# journalctl -b -u systemd-modules-load.service
Dec 10 09:48:02 mylocalpc systemd-modules-load[781]: modprobe: ERROR: Error running install command 'modprobe n>
Dec 10 09:48:02 mylocalpc systemd-modules-load[781]: modprobe: ERROR: could not insert 'nvidia_modeset': Invali>
Dec 10 09:48:02 mylocalpc systemd-modules-load[789]: modprobe: FATAL: Module nvidia-current-drm not found in di>
Dec 10 09:48:02 mylocalpc systemd-modules-load[767]: Error running install command 'modprobe nvidia-modeset ; m>
Dec 10 09:48:02 mylocalpc systemd-modules-load[767]: Failed to insert module 'nvidia_drm': Invalid argument
Dec 10 09:48:02 mylocalpc systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/>
Dec 10 09:48:02 mylocalpc systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'.
Dec 10 09:48:02 mylocalpc systemd[1]: Failed to start systemd-modules-load.service - Load
To install dkms
root@mylocalpc:~# apt install dkms
dkms is already the newest version (3.2.2-1~deb13u1).
dkms set to manually installed.
Summary:
Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 1
To show dkms status
root@mylocalpc:~# dkms status
nvidia-current/550.163.01, 6.12.31-amd64, x86_64: installed
To install new nvidia driver, it will build any kernel installed.
root@mylocalpc:~# dkms install nvidia-current/550.163.01
Sign command: /lib/modules/6.12.57+deb13-amd64/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub
Building module(s)................ done.
Signing module /var/lib/dkms/nvidia-current/550.163.01/build/nvidia.ko
Signing module /var/lib/dkms/nvidia-current/550.163.01/build/nvidia-modeset.ko
Signing module /var/lib/dkms/nvidia-current/550.163.01/build/nvidia-drm.ko
Signing module /var/lib/dkms/nvidia-current/550.163.01/build/nvidia-uvm.ko
Signing module /var/lib/dkms/nvidia-current/550.163.01/build/nvidia-peermem.ko
Installing /lib/modules/6.12.57+deb13-amd64/updates/dkms/nvidia-current.ko.xz
Installing /lib/modules/6.12.57+deb13-amd64/updates/dkms/nvidia-current-modeset.ko.xz
Installing /lib/modules/6.12.57+deb13-amd64/updates/dkms/nvidia-current-drm.ko.xz
Installing /lib/modules/6.12.57+deb13-amd64/updates/dkms/nvidia-current-uvm.ko.xz
Installing /lib/modules/6.12.57+deb13-amd64/updates/dkms/nvidia-current-peermem.ko.xz
Running depmod.... done.
To show kernel header required and install header (require nvidia-detect installed), for maintaining kernel and nvidia driver.
# dkms autoinstall
Error!
Your kernel headers for kernel 6.12.101+deb13-amd64 cannot be found at
/lib/modules/6.12.101+deb13-amd64/build or
/lib/modules/6.12.101+deb13-amd64/source.
Please install the
linux-headers-6.12.101+deb13-amd64 package or use the --kernelsourcedir
option to tell DKMS where it's located.
# apt install linux-headers-6.12.101+deb13-amd64
Installing:
linux-headers-6.12.101+deb13-amd64
Installing dependencies:
linux-headers-6.12.101+deb13-common linux-kbuild-6.12.101+deb13
to check status of nvidia modul
root@mylocalpc:~# dkms status
nvidia-current/550.163.01, 6.12.31-amd64, x86_64: installed
nvidia-current/550.163.01, 6.12.57+deb13-amd64, x86_64: installed
restart your debian.
the sequences are (assume you already have dkms installed and worked properly):
# apt install linux-image-6.12.74+deb13+1-amd64
...
# dkms status
nvidia-current/550.163.01, 6.12.31-amd64, x86_64: installed
nvidia-current/550.163.01, 6.12.57+deb13-amd64, x86_64: installed
# dkms autoinstall
# apt install linux-headers-6.12.74+deb13+1-amd64
...
# dkms status
nvidia-current/550.163.01, 6.12.31-amd64, x86_64: installed
nvidia-current/550.163.01, 6.12.57+deb13-amd64, x86_64: installed
nvidia-current/550.163.01, 6.12.74+deb13+1-amd64, x86_64: installed
restart your debian to load new kernel and you may remove old linux-image
Note: dkms autoinstall will install module for existing linux-image and also remove unexisting linux-image
To clean up (purge) old kernel and driver
# aptitude search linux-image
...
linux-image-6.12.74+deb13+1-amd64
...
# dkms status
nvidia-current/550.163.01, 6.12.101+deb13-amd64, x86_64: installed
nvidia-current/550.163.01, 6.12.74+deb13+1-amd64, x86_64: installed
# apt purge linux-image-6.12.74+deb13+1-amd64 linux-headers-6.12.74+deb13+1-amd64
The following packages were automatically installed and are no longer required:
linux-headers-6.12.74+deb13+1-common linux-kbuild-6.12.74+deb13+1
Use 'apt autoremove' to remove them.
REMOVING:
linux-headers-6.12.74+deb13+1-amd64* linux-image-6.12.74+deb13+1-amd64*
Summary:
Upgrading: 0, Installing: 0, Removing: 2, Not Upgrading: 0
Freed space: 121 MB
Continue? [Y/n]