这两天把实验室服务器给装成了Ubuntu16.04+cuda8.0+cudnn5.0,本来以为应该没什么问题,结果那折腾得……不说了,都是泪。具体Caffe,Tensorflow,Mxnet的安装教程已经很多了,我这儿就不说了。本文主要想说说Nvidia驱动和Ubuntu桌面冲突的问题,当时为了解决在网上找了一圈,始终没能解决我的问题,所以这儿特意写篇博客,权当做个记录,希望能给遇到同样问题的人提供一点微小的帮助。 PS:最近和NVIDIA的工程师交流了一下,更完善了一下内容。
一切关于配置的问题不声明环境都是耍流氓
系统:Ubuntu16.04 64bit 显卡:Nvidia GFoce GTX TITAN X 驱动:nvidia 375.20 软件版本:cuda8.0 + cudnn5.0
在ubutnu上配置cuda时需要安装nvidia的驱动,所以在安装了驱动后出现了进入Ubuntu循环登录的问题。
以下属于我的猜测
一般而言我们安装的ubuntu 的显示器并没有接到nvidia的显卡上,而是使用了intel的集显。我们安装驱动其实只是想将我们运算的显卡的驱动更新,结果都给搞了,所以产生了冲突。当然,也可能时opengl产生的冲突。
去nvidia驱动官网下载
sudo apt-get remove –purge nvidia*
如果使用的是apt-get安装可以使用这种方法卸载,如果使用的是runfile,则使用--uninstall命令,当然runfile安装的时候会卸载掉之前的驱动,所以可以不用手动去卸载。
打开编辑配置文件:
/etc/modprobe.d/blacklist.conf
在最后一行添加:
blacklist nouveau 禁用nouveau第三方驱动,之后也不需要改回来
执行:
sudo update-initramfs -u
重启后执行:
lsmod | grep nouveau
没有输出即屏蔽好了
执行:
sudo /etc/init.d/lightdm stop
Ctrl-Alt+F1
sudo chmod a+x NVIDIA-Linux-x86_64-375.20.run
sudo ./NVIDIA-linux-x86_64-375.20.run –no-opengl-files
–no-opengl-files 只安装驱动文件,不安装OpenGL文件。这个参数最重要–no-x-check 安装驱动时不检查X服务–no-nouveau-check 安装驱动时不检查nouveau 后面两个参数可不加。如果出现无法进入桌面的问题,这是因为驱动修改了xorg的配置,可执行一下命令:
cd /usr/share/X11/xorg.conf.d/ sudo mv nvidia-drm-outputclass.conf nvidia-drm-outputclass.conf.bak
再结合各个框架官网的安装教程,相信大家会拥有一个好的开发环境了。那么让我们开始好好调教系统吧。
