I'm trying to install the most up-to-date NVIDIA driver in Debian Stretch. I've downloaded
NVIDIA-Linux-x86_64-390.48.run from here, but when I try to do
sudo sh ./NVIDIA-Linux-x86_64-390.48.run
as suggested, an error message appears.
ERROR: An NVIDIA kernel module 'nvidia-drm' appears to already be loaded in your kernel. This may be because it is in use (for example, by an X server, a CUDA program, or the NVIDIA Persistence Daemon), but this may also happen if your kernel was configured without support for module unloading. Please be sure to exit any programs that may be using the GPU(s) before attempting to upgrade your driver. If no GPU-based programs are running, you know that your kernel supports module unloading, and you still receive this message, then an error may have occured that has corrupted an NVIDIA kernel module's usage count, for which the simplest remedy is to reboot your computer.
When I try to find out who is using
nvidia_drm), I see nothing.
~$ sudo lsof | grep nvidia-drm lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs Output information may be incomplete. ~$ sudo lsof -e /run/user/1000/gvfs | grep nvidia-drm ~$
And when I try to remove it, it says it's being used.
~$ sudo modprobe -r nvidia-drm modprobe: FATAL: Module nvidia_drm is in use. ~$
I have rebooted and started in text-only mode (by pressing Ctrl+Alt+F2 before giving username/password), but I got the same error.
Besides it, how do I "know that my kernel supports module unloading"?
I'm getting a few warnings on boot up related to nvidia, no idea if they're related, though:
Apr 30 00:46:15 debian-9 kernel: nvidia: loading out-of-tree module taints kernel. Apr 30 00:46:15 debian-9 kernel: nvidia: module license 'NVIDIA' taints kernel. Apr 30 00:46:15 debian-9 kernel: Disabling lock debugging due to kernel taint Apr 30 00:46:15 debian-9 kernel: NVRM: loading NVIDIA UNIX x86_64 Kernel Module 375.82 Wed Jul 19 21:16:49 PDT 2017 (using threaded interrupts)