ubuntu18.04安装nvidia驱动后分辨率低下、显卡驱动无法找到设备问题

Ubuntu18.04系统安装nvidia驱动后出现分辨率过低及驱动无法连接GPU问题

只针对Ubuntu18.04 + 华硕主板 + 双系统

前提

近期由于沉迷于深度学习,需要用到Ubuntu系统,之前只是听说过以及见过大佬使用过,但是自己却从来没有实际用过。一旦自己上手总会遇到各种各样的问题。至此,想记录下来供之后有一个可供回家各找各妈的地方。

问题

在经过漫长而傻瓜的安装后,用上了Ubuntu18.04 LTS(+win7系统),然后就是安装docker(功能类似于虚拟机,但机制不同)的一系列东西,在安装nvidia-docker的时候才发现自己的电脑还没有nvidia的显卡驱动,然后手起刀落,开始了安装nvidia驱动的蛋疼之路。
安装过程有各种博客,最多也是最简单的方案是:

sudo vim /etc/modprobe.d/blacklist.conf #编辑黑名单
#在blacklist.conf文件的末尾中添加(注意要用root权限才能修改)
	blacklist nouveau
	options nouveau modeset=0

如下图:
ubuntu18.04安装nvidia驱动后分辨率低下、显卡驱动无法找到设备问题_第1张图片

#回到终端
sudo ubuntu-drivers devices #查看当前推荐的驱动程序
sudo ubuntu-drivers autoinstall #傻瓜似的安装驱动,安装为上边的命令显示出的recommnd驱动版本

然后就是等待,一直到安装成功,重启,我too young too simple的以为结束了。然而接下来就开始了我不断折腾的痛苦之路,首先在我满心欢喜的等待重新迎接装了驱动的ubuntu主子的时候,惊喜的发现老子的分辨率很低。然后去查验驱动的时候,突然发现,哦麦嘎der,NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver

nvidia-smi #查看驱动程序是否正确安装

尝试解决问题

问题一个个分析

1、分辨率很低

查阅了一系列的帖子,无效的解决方案:
1、直接在图形界面选择,发现只有一个分辨率1024 * 768。无效
2、xrandr 方法无效,无法添加newmodel,即无法添加新分辨率,而且网上的贴图中都有VGA1这一个显示器名称,不知道为啥我的只有default这一个孤儿单词。
3、在/etc/default/grub文件(该文件可以浅显的理解为图形界面启动时的一系列启动设置项)中添加相应的分辨率,无效
ubuntu18.04安装nvidia驱动后分辨率低下、显卡驱动无法找到设备问题_第2张图片

2、nvidia-smi 显示NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver

无效方案:
1、
step1:sudo apt-get install dkms
step2: sudo dkms install -m nvidia -v 410.79
2、选择较低的linux内核版本,无效,而且我并没有动内核版本,也没有进行升级,也没有其他内核版本

有效解决方案

在尝试过很多方法都无法改变后,冷静下来,仔细想了想问题,我安装了nvidia驱动程序,中间并没有出错,也是推荐版本,同时在 软件与升级 中也能够看到我安装的驱动。证明我遇到的问题,应该是安装的nvidia驱动不能够使用,同时在安装nvidia驱动的时候,屏蔽了Ubuntu默认的nouveau驱动(默认的开源驱动),因此我遇到的两个问题其实是一个问题:我的驱动(其实已经安装了)没有真正运行起来。
在确定问题后,就开始有针对性的查找答案,1、双系统;2、显卡的nvidia驱动无法使用;3、原始显卡驱动能够正确显示分辨率。 这三个特征,表明我的分辨率问题是驱动无法使用造成,而不是设置的问题。在我查找答案的过程,有一个东西出现了,secure boot,至于这东西是什么(要知道为什么会出现这个问题),通常可以理解为这丫是windows系统的一个霸王条款(深入了解请用百度来谷沟一下),表面上是防止没有注册过的软件在硬件上通过引导启动,当只有windows系统的时候(windows系统强制secrue boot打开),没有任何影响。但是一旦装了双系统,可以想象如显卡驱动等一些底层驱动程序在另外的系统上进行安装的时候并不会出现在secure boot的注册内容里,就会出现你明明安装了,但是并不能通过系统引导从而正确运行。这就很狗血蛋疼了,同时也很眼熟了,这就是我遇到的问题的根本原因所在。
不禁止secure boot会导致安装的驱动不能使用,禁用也不会有多大安全隐患

解决:我的电脑是华硕主板,妈见打的按F2,找到了关闭secure boot 的地方(不同品牌、同一牌子的不同系列都会有不同,主要参考https://jingyan.baidu.com/article/4dc408487a3d16c8d946f1af.html),之后进入ubuntu的grub引导,进入系统,分辨率好了,nvidia-smi也找到了显卡。

你可能感兴趣的:(深度学习环境搭建问题,Ubuntu)