#1079569 nvidia-open-kernel-dkms: Bricked my laptop. Missing instructions?

#1079569#5
Date:
2024-08-24 17:32:10 UTC
From:
To:
Dear Maintainer,

I have
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU106GLM [Quadro RTX 3000 Mobile / Max-Q] [10de:1f36] (rev a1)

and read that nvidia recommends using the "open" driver for this GPU,
even if the traditional one is working fine (I have been using it on
this laptop for years). I wanted to try, so

apt install nvidia-open-kernel-dkms

and it compiles the modules just fine. One reboot later, I notice that
linux is still using the old module. It seems redundant, so

apt purge nvidia-kernel-dkms

happily removes the old module.
(note that I did not find any instructions on
https://wiki.debian.org/NvidiaGraphicsDrivers or elsewhere, so I am
guessing at the expected steps)

I reboot again... and X fails to start, and the computer goes into an
infinite loop trying again and again to start gdm or Xorg.
That's not completely unexpected, I should be able to reboot in rescue
mode, reinstall nvidia-kernel-dkms (which I downloaded beforehand just
in case), and be safe. Except that... I cannot shut down the computer.
Even pressing the power button for 1 minute has no effect. This is a
Dell Precision 7550, and apparently in that case the only option is to
unscrew and remove the battery. By the time I find the right
screwdriver (1 hour), the battery has become empty, the computer has
shut down, and I can proceed to fix the problem, so I am happily using
my computer again.

Ok, more information about the boot that failed. Apparently something
really wanted to load the nvidia modules and not the nvidia-open ones
(unless there is a missing redirection?).

Aug 24 15:02:40 hippo (udev-worker)[869]: Error running install command 'modprobe -i nvidia-current ' for module nvidia: retcode 1

Aug 24 15:02:50 hippo systemd-modules-load[767]: Inserted module 'msr'
Aug 24 15:02:50 hippo systemd-modules-load[1045]: modprobe: FATAL: Module nvidia-current not found in directory /lib/modules/6.10.4-amd64
Aug 24 15:02:50 hippo systemd-modules-load[1043]: modprobe: ERROR: ../libkmod/libkmod-module.c:1086 command_do() Error running install command 'modprobe -i nvidia-current ' for module nvidia: re>
Aug 24 15:02:50 hippo systemd-modules-load[1043]: modprobe: ERROR: could not insert 'nvidia': Invalid argument
Aug 24 15:02:50 hippo systemd-modules-load[1046]: modprobe: FATAL: Module nvidia-current-modeset not found in directory /lib/modules/6.10.4-amd64
Aug 24 15:02:50 hippo systemd-modules-load[1041]: modprobe: ERROR: ../libkmod/libkmod-module.c:1086 command_do() Error running install command 'modprobe nvidia ; modprobe -i nvidia-current-modes>
Aug 24 15:02:50 hippo systemd-modules-load[1041]: modprobe: ERROR: could not insert 'nvidia_modeset': Invalid argument
Aug 24 15:02:50 hippo systemd-modules-load[1047]: modprobe: FATAL: Module nvidia-current-drm not found in directory /lib/modules/6.10.4-amd64
Aug 24 15:02:50 hippo systemd-modules-load[767]: Error running install command 'modprobe nvidia-modeset ; modprobe -i nvidia-current-drm ' for module nvidia_drm: retcode 1
Aug 24 15:02:50 hippo systemd-modules-load[767]: Failed to insert module 'nvidia_drm': Invalid argument
Aug 24 15:02:50 hippo systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE
Aug 24 15:02:50 hippo systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'.
Aug 24 15:02:50 hippo systemd[1]: Failed to start systemd-modules-load.service - Load Kernel Modules.

After a grep in /etc, one suspect is the package nvidia-kernel-support
which comes with /etc/nvidia/current/nvidia-options.conf, I probably
should have purged that package at the same time as nvidia-kernel-dkms.
I am not very eager to try it again though.

Trying to sum up things that could have been better:

1) Instructions on using the open driver in Debian: when
(nvidia-detect?), how.

2) Dependencies/conflicts or scripts that don't let me get into an
unbootable situation so easily.

3) (this one is clearly on Dell) a working power button that allows to
force a shutdown without a screwdriver.

#1079569#10
Date:
2025-06-13 14:35:21 UTC
From:
To:
Andreas, Marc,

I had the same problem when I've moved to the Nvidia open driver and
spend some time to understand the problem.

More exactly the problem come from the -support packages
nvidia-kernel-support and nvidia-open-kernel-support

Both try to modprobe is own kernel module and this freeze the computer.

To fix this issue nvidia-open-kernel-support should Conflicts with nvidia-open-kernel-support

Christian

#1079569#15
Date:
2025-06-15 10:08:36 UTC
From:
To:
Does it really try to load both? (Which shouldn't be possible for 6.15
anyway, since you cannot built that currently.) Or just the wrong?

If both nvidia-kernel-dkms and nvidia-open-kernel-dkms are installed,
nvidia-kernel-dkms takes precedence (this will likely change in the
future in favor of the open module). You can switch between them at
runtime (and without uninstalling any package) by running

     update-glx --config nvidia

and (not) selecting the alternative with -open in its name.

This e.g. updates the alternatives to the config files which select the
actual module file names that get loaded when someone does
'modprobe nvidia' etc.
Ideally reboot after update-glx.

At least that's the theory how this was designed to work. I don't (want
to) have the hardware to actually test it ;-) But I'd like to get
confirmation whether the two dkms packages can co-exist and switched at
runtime as planned.

Where would you have expected documentation about this additional step
needed?

(The idea behind co-installability is to support live-systems to come
with as many drivers as possible installed and have some hardware
detection script to select the driver to actually use during boot.
I don't know if anyone ever implemented such a script.)

Andreas

#1079569#20
Date:
2025-06-15 11:19:26 UTC
From:
To:
The instructions at https://wiki.debian.org/NvidiaGraphicsDrivers may have
improved since last year, but they do not seem to mention update-glx at
all (there is just one mention of glx-alternative-nvidia in the context of
nouveau).

Maybe they could also warn about the danger of having a -support package
installed without the corresponding driver (especially if the dpkg
alternative happens to point to that one), which can easily happen when
removing one flavor of the driver.

(I had also looked in /usr/share/doc/nvidia-open-kernel-dkms and
/usr/share/doc/nvidia-open-kernel-support but there was no README.Debian)

Maybe installing one flavor of the driver could print a very visible
message advertising update-glx if the new flavor is not the selected
alternative?

I don't know if the boot scripts could fail more gracefully if they think
they should load one flavor of the driver but that is not present on the
system.

It would have been nice if removing the driver had automatically switched
the alternative choice somehow, possibly by automatically removing the
-support package, but the current behavior seems to be by design so people 
can install the driver manually and still use the -support package.

(those are random suggestions to see if one makes sense to you...)

#1079569#25
Date:
2025-06-16 07:50:44 UTC
From:
To:
* I already have nvidia installed
* I install nvidia-open
-> things still work
* I use update-glx to select the open version
-> things still work

It is surprisingly difficult to find out which version is currently
loaded, but I'll interpret "loading NVIDIA UNIX Open Kernel Module" from
dmesg as a sign that I am indeed using the open version now. So I can
(weakly) confirm what you said.

(I didn't try the last step which would be removing nvidia-kernel-support)

#1079569#30
Date:
2025-07-19 22:53:56 UTC
From:
To:
So when I installed the nvidia-driver package with nvidia-kernel-dkms,
everything worked fine but when I switched to nvidia-open-kernel-dkms,
Debian 12 wouldn't boot and it would stay on the screen with all the
"[ok]"s on it without doing anything, I pressed ctrl+alt+del on that screen
to open the terminal and looked at the logs with dmesg with grep "nvidia"
and compared that to the logs of a working system with nvidia-kernel-dkms
and I noticed these lines weren't there on the working system logs:

[ 17.039871] NVRM: Open nvidia.ko is only ready for use on Data Center GPUs.
[ 17.039874] NVRM: To force use of Open nvidia.ko on other GPUs, see the
[ 17.039874] NVRM: ‘OpenRmEnableUnsupportedGpus’ kernel module parameter
described
[ 17.039875] NVRM: in the README.

I then typed this command I found online:
echo "options nvidia NVreg_OpenRmEnableUnsupportedGpus=1" | sudo tee
/etc/modprobe.d/nvidia-openpm.conf
to force the use of open nvidia.ko on other GPUs than Data Center ones and
rebooted the system and everything worked flawlessly.

If I believe this line of log:
[ 17.039871] NVRM: Open nvidia.ko is only ready for use on Data Center GPUs.
The nvidia-open-kernel-dkms package present in debian 12 is still in alpha
and is not to be used for now. Maybe this page still holds true:
https://us.download.nvidia.com/XFree86/Linux-x86_64/515.43.04/README/kernel_open.html

If the nvidia-open-kernel-dkms package is effectively not ready to be used
on debian 12, I believe we should modify what this page
https://wiki.debian.org/NvidiaGraphicsDrivers says about the "open flavour"
of nvidia-kernel-dkms.

If you find there is a bit too much pride in this message you're probably
right 😅!  I'm a linux beginner (little experience on mint) and so I'm
pretty proud of myself for finding out what I just explained cause it's my
first time debugging a linux related issue 🙃!