1、如果是apt-get方法进行安装的话很简单,几乎什么都不用做,几条命令就完成了
首先卸载旧版驱动,没安装过也可以运行一下,确保没有障碍
sudo apt-get autoremove --purge nvidia-*
然后安装驱动
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-版本号
这里要强调一点,不要用apt-get自动更新显卡驱动!不要用apt-get自动更新显卡驱动!不要用apt-get自动更新显卡驱动!重要的事情说三遍,如果你用了apt-get upgrade更新了显卡驱动,那么你将会遇到如下问题:
tensorflow里:
E tensorflow/stream_executor/cuda/cuda_driver.cc:491] failed call to cuInit: CUDA_ERROR_NO_DEVICE
E tensorflow/stream_executor/cuda/cuda_diagnostics.cc:296] kernel version 384.90.0 does not match DSO version 384.69.0 -- cannot find working devices in this configuration
darknet里:
no cuda-capable device is detected
已放弃(核心已转储)
解决方法:回退到正确的驱动版本,并且如果你是更新了末尾两位的版本号的情况下(比如384.69->384.90),将无法用apt-get进行安装(如果可以请告诉我),因为apt-get会给你最新版的驱动,于是只能用官网的正确版本的run文件进行安装,步骤见2
网址:http://www.nvidia.cn/object/unix-cn.html
(笔者就是吃了apt-get更新的亏,两种方法都体验了一把)
2、如果你用官网下载的.run文件进行安装,那么将不可避免的遇到如下问题
ubuntu自带显卡驱动会发生冲突
具体安装步骤:
卸载旧版驱动,没安装过也可以运行一下,确保没有障碍
sudo apt-get autoremove --purge nvidia-*
1、首先下载好.run文件,把他放到用户目录下(也就是~/下),名字修改成比较简单的,比如NVIDIA.run。
2、禁用自带驱动nouveau,网上有说用blacklist.conf进行禁用,在我这貌似行不通(ubuntu16.04),因此用另一种简单暴力的,直接移除,其实就是备份后删除
sudo mv /lib/modules/4.10.0-35-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko /lib/modules/4.10.0-35-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko.org
红字标注的文件夹可能有不同版本,请自行查看(modules文件夹下有两个不同的generic,只有一个是正确的)
重新加载
sudo update-initramfs -u
重启
命令lsmod | grep nouveau可以查看是否屏蔽成功,没有任何输出即为成功
3、开始安装
网上都说安装驱动要关闭xwindow,笔者这里使用ubuntu16.04的kde桌面,没有关闭,亲测安装成功。
直接打开一个终端
sudo ./NVIDIA.run -no-opengl-files
没有运行权限的话自行添加
参数解释,后两个是可选参数
–no-opengl-files 不安装opengl文件,网上说这个参数很重要
–no-x-check 安装驱动时不检查X服务
–no-nouveau-check 安装驱动时不检查nouveau
一开始会提示一个fail,不用理会,直接continue就行,然后提示要不要安装32位兼容库,选yes,最后提示要不要自动配置xwindow,选yes
安装完成后重启,用nvidia-smi命令查看是否安装成功.
用这种方法想重装得先卸载
sudo ./NVIDIA.run --uninstall
如果之前就是用的run文件安装