我正在尝试安装最最新的NVIDIA驱动程序在Debian延伸.我已经从这里下载了C1,但是当我尝试
sudo sh ./NVIDIA-Linux-x86_64-390.48.run如建议的那样,将出现一条错误消息。
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.当我试图找出谁在使用nvidia-drm (或nvidia_drm)时,我什么也没看到。
~$ 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
~$当我试图移除它的时候,它说它被使用了。
~$ sudo modprobe -r nvidia-drm
modprobe: FATAL: Module nvidia_drm is in use.
~$ 我已经重新启动并以纯文本模式启动(在提供用户名/密码之前按Ctrl+Alt+F2 ),但我得到了同样的错误。
除此之外,我如何“知道我的内核支持模块卸载”?
不过,我在启动时收到了一些与nvidia相关的警告,但不知道它们是否相关:
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)发布于 2019-06-11 08:25:16
1)下载最新的CUDA工具包
( 2)按Ctl+Alt+F3切换到tty3
( 3)在继续之前卸载nvidia-drm。
( 3a)隔离多用户。
sudo systemctl isolate multi-user.target3b)请注意,nvidia-drm目前正在使用。
lsmod | grep nvidia.drm( 3c)卸载nvidia-drm
sudo modprobe -r nvidia-drm4d)注意到nvidia-drm不再使用了。
lsmod | grep nvidia.drm5)转到下载文件夹并运行cuda安装。
sudo sh cuda_10.1.168_418.67_linux.run6)在安装过程中回答任何提示。
7)安装完成后,确认CUDA版本已经更新。
nvidia-smi8)重新启动GUI。
sudo systemctl start graphical.target发布于 2020-01-05 19:36:19
我通过禁用GUI、重新启动、登录和安装驱动程序、启用GUI和重新启动来解决这个问题。
请确保你知道你的用户名和密码!
打开终端并写
sudo systemctl set-default multi-user.target
sudo reboot 0现在登录,您将直接进入一个终端,安装驱动程序一定要注意,我在这里安装了您需要为驱动程序版本修改的440.44 <#>so。
sudo ./NVIDIA-Linux-x86_64-440.44.run安装驱动程序后,启用GUI和重新引导:
sudo systemctl set-default graphical.target
sudo reboot 0你应该做完
在我的例子中,nvidia-smi报告了新版本440.44,在Ubuntu18.04软件和更新实用程序中抱怨,其他驱动程序Tab显示435!另一个NVIDIA的神秘,但见鬼我的新码头工作!
发布于 2018-04-30 06:39:48
lsof列出了用户空间进程使用的所有文件。但是nvidia_drm是一个内核模块,所以lsof不一定会看到它是否真的在使用。(模块文件将不会打开,因为内核已经将其完全加载到RAM中。但是模块可能会向用户空间或其他内核组件提供服务,这就是阻止卸载模块的原因。)
运行lsmod | grep nvidia.drm并查看nvidia_drm模块名称右侧的数字。第一个数字就是模块的大小;第二个数字是使用计数。要成功地删除模块,首先必须使用计数为0。
如果X11服务器正在运行并使用nvidia驱动程序,那么nvidia_drm内核模块肯定会被使用。因此,您至少需要切换到文本控制台并关闭X11服务器。通常,这可以通过停止所使用的任何X显示管理器服务来完成(取决于您使用的桌面环境)。
正如错误消息所述,如果您正在运行nvidia-persistenced,在卸载nvidia_drm模块之前,您也需要停止该操作。
https://unix.stackexchange.com/questions/440840
复制相似问题