Próbuję zainstalować najnowszy sterownik NVIDIA w Debian Stretch. Pobrałem NVIDIA-Linux-x86_64-390.48.run
od tutaj , ale gdy próbuję zrobić
sudo sh ./NVIDIA-Linux-x86_64-390.48.run
zgodnie z sugestią pojawia się komunikat o błędzie.
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.
Kiedy próbuję dowiedzieć się, kto używa nvidia-drm
(lub nvidia_drm
), nic nie widzę.
~$ 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
~$
A kiedy próbuję go usunąć, mówi, że jest używany.
~$ sudo modprobe -r nvidia-drm
modprobe: FATAL: Module nvidia_drm is in use.
~$
Zrestartowałem się i zacząłem w trybie tekstowym (naciskając Ctrl + Alt + F2 przed podaniem nazwy użytkownika / hasła), ale dostałem ten sam błąd.
Poza tym, skąd mam wiedzieć, że moje jądro obsługuje rozładowanie modułu?
Otrzymuję kilka ostrzeżeń podczas uruchamiania związanych z NVIDIA, ale nie mam pojęcia, czy są one powiązane:
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)
systemctl stop systemd-logind
przed rozładowaniem modułów.
systemctl stop systemd-logind.service
, to zamyka ekran i przenosi mnie z powrotem do graficznego loginu, gdzie muszę ponownie nacisnąć Ctrl + Alt + F2.