红联Linux门户
Linux帮助

Ubuntu 16.04+Nvidia显卡驱动+Cuda 8.0(问题总结+解决方案)

发布时间:2017-06-14 10:15:22来源:blog.csdn.net/zafir_410作者:zafir_410
前言
前面好一阵子忙于写论文和改论文,好久没有做新实验了,最近又回到做实验是的节奏,这感觉很爽。去年实验室买了两台工作站(4路Titanx+2颗 Xeon CPU E5-2637 v3 @ 3.50GHz),刚开始安装cuda实在是糟心,花了一两天没有搞定,后来请教了一些大牛,搞定了,今年实验室又买了两台差不多服务器,只是GPU为 Titanx(Pascal),本以为安装Nvidia驱动和去年一样,然而事与愿违,相信很多人和我有相同的遭遇,今天我把我遇到的问题给大家总结一下。
 
安装Nvidia驱动出现的问题
问题主要是三种:
(1)循环登录,也就是登录之后在退出来到登录界面;
(2)界面变得很大
(3)登录进去了,显示正常了,结果只有桌面背景和鼠标。
 
安装Ubuntu环境下Nvidia驱动几种方式
总的说,安装显卡驱动的方式有如下几种:
直接去nvidia官网下载驱动包安装(网址:http://www.nvidia.cn/Download/index.aspx?lang=cn)
从PPA中安装
直接通过安装Cuda8.0带的驱动(网址:https://developer.nvidia.com/cuda-downloads)
首先,我简单的说一下这几中方式的具体操作,因为每个童鞋遇到的问题不一样,这三种方式必然有一种能够满足你的需求,所以都值得你去试试,反正我是都试过了(此时泪崩中)。 在这三种方法中,最重要的就是你首先知道你该装那个版本的驱动,不然即便你的方法对了,那么也是徒劳的,方式如下:
sudo apt-cache search nvidia*
结果如下:
Ubuntu 16.04+Nvidia显卡驱动+Cuda 8.0(问题总结+解决方案)
可以看到我的电脑最高支持nvidia-375.66的驱动。有了版本就好办了。
 
第一种方式,我下载了NVIDIA-Linux-x86_64-375.66.run (根据你的版本号下载),参考:
Ubuntu 16.04+Nvidia显卡驱动+Cuda 8.0(问题总结+解决方案)
卸载掉原有驱动
sudo apt-get purge nvidia*
这个也和重要,我的有一台服务器没有这个操作,还真不行。如果使用的是runfile,则使用–uninstall 参数,当然runfile安装的时候会卸载掉之前的驱动,所以可以不用手动去卸载。
禁用nouveau
新建blacklist-nouveau.conf文件,输入命令:
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
往文件中写入:
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
保存并退出。这一步是为了禁掉Ubuntu自带开源驱动nouveau。之后sudo reboot重启系统。在终端执行命令:
lsmod | grep nouveau
查看nouveau模块是否被加载。如果什么都没输出,则执行下一步。
给驱动run文件赋予执行权限
sudo chmod a+x NVIDIA-Linux-x86_64-375.66.run
Ctrl + Alt + F1 进入tty1(Ctrl + Alt + F7是回到桌面系统)出现上面的问题,根本原因在于 参数: –no-opengl-files
sudo /etc/init.d/lightdm stop
sudo ./NVIDIA-Linux-x86_64-375.20.run --no-opengl-files
sudo /etc/init.d/lightdm start
–no-opengl-files也就是不安装opengl,这里的原因有很多种,可能是因为ubuntu桌面系统是采用3D渲染的,可能是驱动冲突问题。当然还有其他几个参数,都值得你去试一试:
在安装驱动的时候,有一布问你”Would you like to run the nvidia-xconfig utility to automatically update your X configuration file…”什么的,选择 No。
sudo ./NVIDIA-Linux-x86_64-375.20.run --no-opengl-files –no-x-check –no-nouveau-check
–no-x-check 安装驱动时不检查X服务
–no-nouveau-check 安装驱动时不检查nouveau
重启电脑,没有问题,输入命令:
nvidia-smi
出现:
Ubuntu 16.04+Nvidia显卡驱动+Cuda 8.0(问题总结+解决方案)
没有问题,接下来装cuda的时候不要在装驱动了,具体选项如下:
Description
This package includes over 100+ CUDA examples that demonstrate
various CUDA programming principles, and efficient CUDA
implementation of algorithms in specific application domains.
The NVIDIA CUDA Samples License Agreement is available in
Do you accept the previously read EULA?
accept/decline/quit: accept
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 367.48?
(y)es/(n)o/(q)uit: n
Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y
Enter Toolkit Location
[ default is /usr/local/cuda-8.0 ]:
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y
Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y
Enter CUDA Samples Location
[ default is /home/c302 ]:
Installing the CUDA Toolkit in /usr/local/cuda-8.0 ...
Installing the CUDA Samples in /home/c302 ...
Copying samples to /home/c302/NVIDIA_CUDA-8.0_Samples now...
Finished copying samples.
到目前为止,这种方法安装大功告成了,我用的就是这种方法解决问题的,那么接下来简单的介绍另两种方法。
小技巧提示,如果你装驱动失败,进不去系统了,可能有的同志不知道怎么做了,就直接系统重装,这是一种方式,但是最简单的方式是,进文本tty1模式,输入命令:
sudo /etc/init.d/lightdm stop
sudo ./NVIDIA-Linux-x86_64-375.20.run --uninstall
sudo /etc/init.d/lightdm start
系统回到从前,继续做打不死的小强,继续试试。
 
第二种,利用PPA的方式,配置好了PPA(不一定必须配置,看你的源有没有),指令就是:
sudo apt-get install nvidia-375
注意,这里的版本号nvidia-375 是通过上面的方式获取到的(sudo apt-cache search nvidia*)。但是这种方式,并不是适合所有人,比如我试了两台服务器,都是登录不进去,但是网上有解决了问题,说明有些网友是可以试试的,如果不行,就进tty1执行命令:
sudo apt-get purge nvidia-375
回到解放前,继续试试。
 
第三种,这是我去年用的方式,因为下载的cuda文件有.deb 和 .run两种格式, cuda安装文件里面自带Nvidia驱动的。但是,直接装deb的 基本上是直接开挂,一直如此从未改变过,所以我早就放弃了,但是同样网上有同志就可以了,运气真好,你也可以试试。
第一次成功,我是用cuda_8.0.61_375.26_linux.run方式,解决的方法是:驱动安装选y(第一种方式选N是以为驱动是单独安装的),但是问你要不要安装opengl的时候,一定要选择n,其他一路选择y,重启,没有问题。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/31474.html