1.一直在Linux下做机器学习相关的工作,避免不了要使用到cuda库进行加速,NVIDIA对Linux的支持并不友好,在安装和配置的过程中踩了不少坑,所以有必要做个记录和总结,免得下次自己又踩到同样的坑。
2.我的安装的是DELL的G7 ,CPU是i7 8代,显卡是GTX 1060,系统环境是Ubuntu16.04 LTS,CUDA8.0, CUDNN5.1.
1.如果之前安装过显卡驱动的,卸载原有的NVIDIA驱动,在终端下输入
(1)第一种方法
sudo apt-get remove –purge nvidia*
(2)第二种方法
sudo /etc/init.d/lightdm stop
sudo apt-get install autoremove --purge nvidia*
2、禁用nouveau,安装NVIDIA需要把系统自带的驱动禁用
(1)在终端输入打开文件
sudo gedit /etc/modprobe.d/blacklist.conf
(2)在文件的尾部加上这两句,保存退出
blacklist nouveau
options nouveau modeset=0
sudo update-initramfs -u
3.重启系统
reboot
之后在终端输入,如果没有任何反应,说明禁止成功
lsmod | grep nouveau
sudo apt-cache search nvidia*
可以看到当前显卡所支持的驱动版本,尽量不要安装太新的驱动版本就可以了,或者去看官方文档,cuda8.0与自己linux内核对应的驱动版本,我这里选择390这个版本。
5.下载驱动
(1)可以从这里下载到显卡驱动:https://www.geforce.cn/drivers ,打开网页之后选择自己对应的驱动与系统,点下载就可以了,给了很多版本的驱动,我这里按上面的选择390这个版本。
(2)下载的是.run的文件,存放在"home/下载"这个目录
(3)因为我用ubuntu是中文,下载这个目录也是中文名,为了避免等下在命令模式下进不了下载这个目录,我把显卡驱动移到自己新建的一个英文目录下。如下图:
6.开始安装驱动之前,要停止桌面服务,以下的几个命令都在没有浏览器的情况下进行操作,最好的建议使用手机或笔记本记下来,避免不必要的工作量。
(1)禁用ubunt桌面显示管理器服务,在终端输入
sudo service lightdm stop
出现以下界面,这个界面就是只有命令行,如果想回到图形界面,可以按下Ctrl+Alt+F7,或者Ctrl+Alt+F7+Fn
(2)出现上面界面,按Ctrl+Alt+F1进入命令行,如果是笔记本没有反应,按Ctrl+Alt+F1+Fn
(3)输入自己的用户名与密码
7.开始安装驱动
(1)切换到存放驱动的目录,执行权限
cd software
sudo chmod a+x NVIDIA-Linux-x86_64-390.87.run
(2)执行安装命名
sudo ./NVIDIA-Linux-x86_64-390.87.run –no-opengl-files
–no-opengl-files 这个参数的意思是只安装驱动文件,不安装OpenGL文件,如要你要使用opengl,就把这个参数去掉。
(3)开始执行安装
开始出现提示,按提示输入yes或者accept,或者按回车直到最后就可以了,如果安装界面是图形的话,直接点击就可以了,等到安装完成,重启电脑。
1.如果之前安装过显卡驱动的,卸载原有的NVIDIA驱动,在终端下输入
(1)第一种方法
sudo apt-get remove –purge nvidia*
(2)第二种方法
sudo /etc/init.d/lightdm stop
sudo apt-get install autoremove --purge nvidia*
2.更新系统
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
3.安装驱动
sudo add-apt-repository ppa:graphics-drivers/ppa
提示按回车继续,等待结束。
在终端输入以下脚本,其中nvidia-390是安装的驱动的版本
sudo apt-get update
sudo apt-get install nvidia-390
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev
等待运行完成,重启电脑。
1.在终端下输入
nvidia-smi
nvidia-settings
1.这是整个安装显卡驱动的流程,是在理想状态下的结果,不理想的话,安装显卡驱动之后进不了图形界面,或者启动报错都有可能的。
2.是于 nvidia对linux的支持,大神Linus Torvalds疯狂的怒斥还是那样子,我们只能默默的一个坑一坑的踩吧,还有配置遇到的问题,都可以加这个群(487350510)互相讨论学习。