欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ubuntu 16.04重装/升级 nvidia显卡驱动,NVIDIA-SMI has failed because it couldnt communicate with the NVIDIA d

程序员文章站 2022-03-03 14:36:36
...

系统:Ubuntu 16.04 LTS
以下所有操作在moba xterm远程终端中通过SSH进行。不是在本地操作。如果是本地操作,步骤中也有说明。

报错:

$ nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

为了解决上述报错:升级了显卡驱动(384.98 升级到了 430.64。重装也可以,取决于你卸载原来的驱动之后,安装哪个版本的新驱动。我是安装了4xx版本所以是升级,如果你还是安装老版本,那就是重装)。

原驱动版本:

$ ls /usr/src
...
nvidia-384.98
...
CUDA版本:release 9.0, V9.0.176
重装/升级的过程中CUDA不用动。CuDNN不用动。

升级(重装)过程:

卸载老驱动

# 禁用nouveau,这玩意儿是Linux下的Nvidia驱动,据说是**原厂驱动实现的。。不太清楚
$ sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
加入(如果原来有就不用加了):
blacklist nouveau
options nouveau modeset=0

$ sudo update-initramfs -u
# 可能这一步重启不是必须。没试过
$ sudo shutdown -r now 
# 没有任何输出
$ lsmod | grep nouveau
$ sudo gedit ~/.bashrc
加入(如果原来有就不用加了):
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH 
$ source ~/.bashrc
# 查看原来的驱动版本
$ ls /usr/src
# 卸载原来的驱动
$ sudo /home/software/NVIDIA-Linux-x86_64-384.98.run --uninstall
# 卸载完可以看到原来的驱动目录已被删除
$ ls /usr/src
# 没有任何输出.确认nouveau是禁用了的
$ lsmod | grep nouveau
# 【如果是本地进行重装,上一步操作之后可能要先通过 ctrl+alt+f1 切换到命令行界面。然后再继续进行后续操作。】
# lightdm 是一种display manager,管理显示的
$ sudo service lightdm stop
# 可能这一步重启不是必须。没试过
$ sudo shutdown -r now

安装新驱动

$ sudo chmod a+x /home/software/cuda/NVIDIA-Linux-x86_64-430.64.run
# 加上 -no-opengl-files 避免出现循环登录问题
$ sudo /home/software/cuda/NVIDIA-Linux-x86_64-430.64.run -no-opengl-files

# 安装成功,这时能看到显卡了。 
$ nvidia-smi

参考:https://blog.csdn.net/sinat_23853639/article/details/81771692