ubuntu安装nvidia驱动以及cuda教程

最近尝试在ubuntu中安装nvidia的显卡驱动以及cuda。花了近三天时间,真的如网上所说错误百出,期间甚至重装了一次ubuntu系统,搞到怀疑人生,整个都是泪- -。最终经过百般“磨难”总算安装成功。此篇博客将我的整个安装过程介绍一下,包括错误的步骤与我个人理解的错误分析,以及最终成功的安装方法。一方面作为后来人的参考,另一方面也作为我的学习记录。

-------------------------------------------------------------------------------------------------

首先说明一下我的电脑配置:

笔记本型号:DELL游匣7566(i7  8G)。双系统(win10+ubuntu)

ubuntu 系统版本:安装失败版本(14.04);安装成功版本(16.04)
显卡:nvidia   GeForce GTX 960M

注意,以下方法均未成功安装,请勿尝试,仅作错误参考)--------------------

下面先说一下我一开始的安装步骤,注意,以下说明的步骤均未安装成功,因此仅作为失败参考,如果你也出现类似情况,那么可以对照进行更改。

nvidia 官网提供的cuda安装方式有两种,一种是run文件安装,一种是deb安装

刚开始我参考一本caffe书籍的方法,用的deb安装方式,首先讲一下这个方法。

失败方法1:ubuntu14.04+cuda7.5 deb安装

我一开始的ubuntu版本是14.04,其搭配的cuda版本为7.5。因此首先从nvidia官网下载cuda7.5版本的deb文件https://developer.nvidia.com/cuda-75-downloads-archive.下载完以后,终端进入文件目录,输入如下指令:

sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb
sudo apt-get update
sudo apt-get install cuda

接下来重启,进入循环登录的错误。(这个错误最常见!)

按Ctrl+Alt+F1,进入text mode(话说这个挺高大上的=.=),登录你的账户。卸载刚装的cuda和显卡驱动。指令如下:

sudo apt-get remove --purge nvidia*
sudo apt-get remove --purge cuda

sudo reboot重启电脑,此时电脑恢复原样(美滋滋)。

接下来参考网上其他博客的方法,他们都推荐用run的安装方式,于是我也开始了run尝试。

失败方法2:ubuntu14.04+cuda7.5 run安装

a) 从nvidia官网下载cuda7.5版本的run文件,https://developer.nvidia.com/cuda-75-downloads-archive,之后将其移到home目录。

b) 接下来禁用nouveau(很重要!)。在/etc/modprobe.d中创建文件blacklist-nouveau.conf,在文件中输入以下内容

blacklist nouveau
options nouveau modeset=0

打开终端,运行

sudo update-initramfs -u

设置完毕以后可以运行

lsmod | grep nouveau

检查nouveau是否禁用成功,如果运行后没有任何输出,则代表禁用成功。

c)重启电脑,到达登录界面时,按Ctrl+Alt+F1,进入text mode。

d)输入

sudo service lightdm stop

关闭图形化界面(很重要!)

e)输入

sudo ./cuda_7.5.18_linux.run

开始安装cuda。

接下来根据提示进行安装,遇到提示是否安装openGL,选择no(很重要!),其他选择yes以及默认配置。安装成功后,会显示installed,否则会显示failed。我的当时是显示installed。

e)输入

sudo service lightdm start

重新启动图形化界面。接下来会跳到登录界面,输入密码登录。此时未出现循环登陆的错误(内心暗喜)。

f)重启电脑。检查/dev文件夹下是否有nvidia*多个文件。如果没有的话,按照官方文档里的步骤进行添加。

重点来了,我这个方法的错误就出现在这里,/dev文件夹下没有nvidia*多个文件,我按照官网公布的步骤进行添加,仍然没有,终端查询nvidia显卡驱动,竟然查不到信息。通常,如果你用cuda的run文件安装方式,它会自动帮你安装显卡驱动。现在我的问题总结下来就是,cuda装上去了,显卡驱动却未成功安装(what the fuck?!),虽然未遇到循环登录的错误,这个错误也着实让我头疼。于是卸载cuda,网上查询了一番,进行第3次安装(委屈脸//)

失败方法3:先装好NVIDIA驱动,再进行cuda.run文件安装

此时的ubuntu版本仍然是14.04。现在的想法是,上一个方法中显卡驱动未成功安装,那么是不是可以先把显卡驱动装了,再进行cuda的安装。于是进行第二次尝试:先装nvidia驱动,再装cuda。

a)去nvidia官网下载对应显卡型号的驱动,也是个run文件,网址如下:http://www.nvidia.cn/Download/index.aspx?lang=cn。下载完以后同样将其移到home路径下。

b) 打开终端,先删除旧的驱动:(虽然我的显卡驱动根本就没装上去,但为了保险起见,还是执行了这一步)

sudo apt-get --purge nvidia*

c)由于之前已经禁用了nouveau,所以禁用nouveau这一步无需进行。

d)同样按Ctrl+Alt+F1,进入text mode。输入

sudo service lightdm stop

关闭图形化界面

e)输入

sudo ./NVIDIA....run

注意,以上sudo后面的run文件视显卡型号而变。

f)接下来进行安装,期间会跳出UEFI安全启动的相关问题,按照提示进行操作即可,问题不大。开启图形化界面

sudo service lightdm start

g)接下来便出现循环登录的错误了(心力憔悴!!。。)无奈,只好再次进入text mode(此时这个仍然可以用!),卸载刚装的nvidia驱动。(进一步委屈脸//)

失败方法4:系统推荐的NVIDIA显卡驱动版本+cuda.run 文件安装

鉴于第二种失败的方法,我思考是否驱动版本不对的原因。于是这次我更换了NVIDIA的显卡驱动版本,在设置里面查询附加驱动,里面有推荐的显卡驱动版本号,这次我没有在官网上下载驱动run文件,而是直接apt-get安装了,两者其实一样。终端装完以后重启电脑,这次没有出现循环登录的问题。但问题却更严重了,系统卡在开机logo那里了!这也没法进入text mode 啊。傻傻的等了近20分钟,依然没反应,强制重启,仍是卡住,这下可绝望了,难道要我重装系统,我里面的资料都没备份啊啊啊啊!!!结局你懂得,重装认命- -

失败方法5:ubuntu16.04+cuda8.0 run文件

默默掏出U盘重装系统,装了个16.04的版本,这个系统的版本搭配cuda8.0。继续重复方法2的步骤,出现相似错误(显卡驱动装不上)。

失败方法6:先装好NVIDIA驱动,再装cuda run

错误情况同方法3(循环登录)。

-----------------------------------------------------------------------(分割线)

以上便是我的失败经历,有些细节未详细说明,大抵如此。接下来好好思考了一番,也查阅了不少资料。进行了最终的安装方法。

成功安装方法:ubuntu16.04+cuda8.0 deb安装

这个方法仅仅在失败方法1中添加了几步而已(囧),下面说明一下步骤:

a)从nvidia官网下载cuda8.0版本的deb文件https://developer.nvidia.com/cuda-80-ga2-download-archive.

b)禁用nouveau(参考前述方法)

c)无需关闭图形界面,在终端输入

sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda

d)重启,终端输入

sudo nvidia-smi
sudo nvidia-settings

显示nvidia驱动信息,安装成功,同时设置里面显示驱动也为nvidia显卡,没想到步骤这么简单,仅仅在失败方法1中禁用了nouveau。

--------------------更新-------------------------

现阶段使用deb的方法是最稳定的,参考官网的教程指令就好!!

上一篇:Android的5个进程等级(转)


下一篇:Ambari-部署文档