您的位置:首页 > 其它

论能逼疯一个人的nvidia显卡驱动在ubuntu16.04上的安装

2018-04-07 16:51 841 查看
本文大致控诉一下最近给新电脑安装显卡驱动的血泪史,系统Ubuntu16.04,CUDA未动,驱动先行。不多bb,进入正文。
1,官网下载对应的驱动run文件(原谅博主踩过太多的坑,钟情run文件的安装),博主的是GTX1060,对应390。

http://www.nvidia.cn/Download/index.aspx?lang=cn
2,禁用原先的nouveau,博主虽然禁用了但安装run文件时仍然出现了禁用nouveau的提示,会自动在同样的位置生成一个nvidia-installer-disable-nouveau.conf文件,内容与下面一致,但是为了尽量避免安装错误(有些驱动版本可能没有自动禁用),这里提前禁用一下也无伤大雅。
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf 

添加:

blacklist nouveau 

options nouveau modeset=0 

更新一下
sudo update-initramfs -u 
3,将run文件放在容易找到的位置,比如/home目录下,然后关闭X-Window,否则安装会失败。
sudo service lightdm stop 

4,屏幕变黑,Ctrl+Alt+F1 切换到tty1控制台,然后通过命令行登录。

sudo ./NVIDIA***.run  -no-x-check -no-nouveau-check -no-opengl-files
各项参数的目的如下:

-no-x-check 安装驱动时关闭x服务,即X-Window,可选
-no-nouveau-check 安装驱动时禁用Nouveau,可选
-no-opengl-files 非常重要。只装驱动文件,不安装OpenGL,显卡安装后的循环登录问题基本都是这个库导致的,如果之后要装CUDA,在这个选项下也要选择NO。

如果找不到可执行run文件,可以先ls查看当前目录,如果不是可执行文件,输入
chmod a+x NVIDIA***.run
然后重复上述步骤。安装的时候会出现几个比较简单的选项,大家可以看一下进行选择,没有什么坑。

5,安装完成后重新启动X服务,
sudo service lightdm start

世界看似井然有序,一片祥和。
然后现实并不总是这样美好。
BUG分析:

博主在安装完驱动后立即重启电脑,没有发生问题,但之后几次重启遇到循环登录百度后通过加参数-no-opengl-files 也解决了,就在博主以为一切都归于风平浪静以后,在一个晴朗的早晨,博主高高兴兴地启动了电脑,准备开始一天的工作,登录界面错误的分辨率给了博主一记重锤,内心已然绝望,以为又是循环登录的问题,然而登录却进去了0.0,这就给博主整懵逼了,nvidi-smi提示错误,好好的驱动又特么哪去了T T。
又一顿操作百度谷歌之后,博主终于发现了问题的所在,博主从引导界面选择advanced选项,选择了旧的内核版本登录,熟悉的界面就回来了,下面第二个图选择第四行。





这是NVIDIA驱动与linux内核版本之间无声的战役,内核没更新一次,就要重装nvidia驱动,特么的倒是告诉我们你俩容易掐啊。。。博主的解决方案是更改了grub引导配置文件,默认使用旧版的内核。操作如下 :

$ uname -r     #查看当前正常显卡驱动的内核版本,博主的是4.13.0-37-generic

$ gedit  /boot/grub/grub.cfg      #更改默认引导的内核版本,不然每次进advanced也挺麻烦。
linux  /vmlinuz-4.13.0-37-generic.efi.signed    #148行改为对应的版本

root=UUID=51450368-6865-46e4-8879-23de1234983a ro  quiet splash $vt_handoff    #这行不重要

initrd    /initrd.img-4.13.0-37-generic     #150行改为对应的版本
问题解决,博主目前正等待着下一个显卡驱动的BUG。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐