admin 管理员组文章数量: 887021
普通的NVIDIA驱动安装按理说比较简单,但偶尔会遇到各种奇怪的错误,之前安装时也黑屏过,最后也补救回来,这次狠下心来,把全部遇到的问题阅读的经验贴记录一下。
NVIDIA驱动的三种安装方式:
方法一:附加驱动安装方法(也是最简单的安装方法,但有时安装后不起作用)
(1)先更新软件源
sudo apt-get update
sudo apt-get upgrade
(2)在软件与更新中菜单栏选择附加驱动,会进行自动搜索,选择一个版本的专有驱动,点击应用更改,更改后重启即可。
(3)重启后执行nvidia-smi有如下显示则为成功:
方法二:英伟达官方安装,命令行安装
在官网上(官方高级驱动搜索 | NVIDIA)寻找和自己显卡匹配的驱动文件。输入自己显卡的类型,找到合适的驱动。
下载后会得到一个后缀为.run类型的可执行文件。
(1)先禁用nouveau驱动
sudo gedit /etc/modprobe.d/blacklist.conf
(2) 在最后一行添加
blacklist nouveau
options nouveau modeset=0 #禁用nouveau第三方驱动
(3)卸载原有的驱动(没有可以跳过)
sudo apt-get remove --purge nvidia*
sudo apt autoremove
(4)重启(分辨率可能不清晰,如果黑屏请看下面问题解决)
update-initramfs -u 更新内核
我看网上总结的经验贴是更新内核,我感觉如果没更新,安装完驱动后,系统自动更新会导致不匹配出现报错
reboot
lsmod | grep nouveau 禁用nouveau驱动看有没有输出,没有输出则为成功
(5)安装驱动
然后在命令行界面下输入:
sudo service lightdm stop #这个是关闭图形界面,不执行会出错。
给.run文件赋予权限并安装
sudo chmod a+x NVIDIA-Linux-x86_64-418.56.run
sudo ./NVIDIA-Linux-x86_64-396.18.run -no-x-check -no-nouveau-check -no-opengl-files
#只有禁用opengl这样安装才不会出现循环登陆的问题
(6) 打开图形界面,在命令行输入
sudo service lightdm start #这个是打开图形界面
检查驱动是否安装成功:
nvidia-smi
参考1:Ubuntu 16.04 Nvidia驱动安装(run方式)
参考2:http://t.csdn/jP4FY
参考3:http://t.csdn/mFROY
方法三:在命令行中安装系统推荐的驱动
ubuntu-drivers devices
然后安装一个系统推荐(recommended)的驱动
sudo apt install nvidia-driver-530
最后重启,正常顺利的话nvidia-smi会有显示,但有时候还是出现报错问题。
安装NVIDIA驱动后可能的问题
一、出现黑屏现象如何解决(因为每个人的问题不一样,有的只是驱动问题,有的是内核版本问题)
情况一:
有时安装驱动重启电脑时候会直接黑屏(有光标),这里不要急,先按住Ctr+Alt+F3(有的是F1,至于F几都试一下吧,有的电脑不一样),然后就进入tty3这个命令行管理界面。下面这个图我嫖别人的,我们之后输入用户名,和登录密码。
whoami #查ubuntu系统用户名
接着我们在命令行输入下面命令,有的ubuntu版本是gdm3,有的是lightdm,至于是哪一个可以查看cat /etc/X11/default-display-manager
sudo systemctl restart gdm3 重启管理显示器
情况二:
开机后自动显示grub选项,提示要选择哪个操作系统的时候,默认选择光标是在第一行Ubuntu上的(整个第一行为白色),按E
键(edit的意思)进入编辑该引导选项的界面,可以看到,中下部分有一处写着“ro“:
此时,你需要改写:把”ro“改成”rw“,即”read & write“,可以读取并且可以写入,同时为了排除独立显卡的影响因素也在splash后面加上了nomodeset,然后按F10或者ctrl+x重启。再然后输入命令sudo update-grub。
此时发现你已经成功进入图形界面了。但是,这种方法,可能只是一次性的,等你再次重启之后,又是老样子。
此时,你需要修改/etc/default/grub
,你需要将grub
文件中的:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset" #这里添加 nomodeset
GRUB_CMDLINE_LINUX="rw" #这里需要填写为rw
修改完之后,还需要最后一步。输入命令sudo update-grub
参考链接:Ubuntu Linux开机黑屏的永久解决办法
情况三:
例如老哥的这种情况,重启后完全没有光标(我之前也遇到过花了1伯大洋上淘宝解决的):ubuntu开机黑屏
(1)尝试可正常启动的系统内核在机器启动时进入grub模式
启动后,在有读条进度的时候按住左shift键即可进入,注意一定要赶在启动一开始时,进入后看到一堆选项。
选择启动内核
选择第二项Advanced options for Ubuntu
。然后按照版本从高到低尝试启动,直至可进入图形界面。
(2)卸载不需要的内核
查看现有系统内核
dpkg --get-selections | grep linux-image
执行以下命令卸载:根据自己的情况卸载
sudo apt-get remove --purge linux-image-6.2.1-25-custom
然后自动删除相关包
sudo apt autoremove
然后再查看内核的时候高版本的内核deinstall。 至此大功告成!其实按理说你每次进ubuntu的时候在grub界面选择旧的内核也行,就是麻烦一些。
参考链接:Ubuntu apt upgrade后黑屏问题
二、nvidia驱动安装上了,但是nvidia-smi显示报错,NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver
这里我总结了网上好多种思路:
方法一:
查找已安装的驱动版本,xxx为版本号,如下所示说明驱动是已经按上的,但是不能用:
ls /usr/src | grep nvidia
接下来我们安装dkms。dkms全称是DynamicKernel ModuleSupport,它可以帮我们维护内核外的驱动程序,在内核版本变动之后可以自动重新生成新的模块 。
sudo apt-get install dkms
sudo dkms install -m nvidia -v xxx
nvidia-smi
如果此时nvidia成功显示,恭喜成功过。但大多数问题没有得到解决,执行 sudo dkms install -m nvidia -v xxx 时报错。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.如果 sudo dkms install -m nvidia -v xxx报错可能是gcc版本过低(尽量大于7.3),我们需要升级gcc版本。查看gcc版本:
gcc -v
gcc在 /usr/bin 目录下,输入命令查看所有版本的gcc:
ls /usr/bin/gcc*
ls /usr/bin/g++*
将查到的版本加入gcc候选中,最后的数字是优先级,如下:
> sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20
> sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 50
> sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 20
> sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 50
完成上面的操作之后,我们就可以通过下面的指令来选择不同的gcc和g++的版本
sudo update-alternatives --config gcc
更换后,如果nvidia-smi成功了,恭喜。但有可能不是gcc问题,就比如我下面这种报错。和内核有关。
参考:https://blog.csdn/wjinjie/article/details/108997692
参考:https://blog.csdn/nizhenshishuai/article/details/123873453
方法二:
确认是否电脑更新了内核版本,我看其他博客说这是因为你驱动安装后,更新了内核版本出现的问题:
sudo dpkg --get-selections | grep linux-image #查看已安装版本
uname -sr #查看当前使用版本
重启电脑,在系统选择页面选择“ubuntu高级选项”,选择老版本进入。
成功了,nvidia-smi有显示。但是屏幕亮度是最亮的改变不了。
版权声明:本文标题:NVIDIA驱动安装+nvidia-smi各种报错+ubuntu黑屏+问(NVIDIA-SMI has failed because it couldn‘t communicate .... ) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1727350435h1106338.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论