文章目录

  • 方法一
  • 第一步:查询合适的显卡驱动
  • 第二步:安装驱动
  • 第三步:重启电脑并验证安装
  • 方法二
  • 第一步:安装显卡驱动PPA
  • 第二步:查找合适的显卡驱动
  • 第三步:移除系统上先前安装的显卡驱动
  • 第四步:安装显卡驱动
  • 第五步:重启电脑并验证安装
  • 方法三
  • 第一步:禁用系统默认显卡驱动nouveau
  • 第二步:开始安装



我的系统是ubuntu16.04,搭建环境第一步是安装显卡驱动,然后要安装cuda toolkit和cudnn。本博客将就这些环境搭建的内容写一个系列,来完成常用深度学习算法的需求,因为经常用到,写个博客作为记录,以便以来使用。


下面将为系统中安装最新版本的显卡驱动。安装方法将使用CLI的方法而不是GUI方式,这样方便在无法显示的情况下来进行安装。本文列举了三种方法前两种,殊途同归,第三种是官方文档中的方法,亲测都可以成功,但第一种方法简单,推荐第一种方法,但这种安装的版本可能不够新。第三种,按照官网方法安装也很好,但不一定能成功,因为官网的驱动很新,不一定对系统适配,当第一种(和第二种本质一样)失败时,用第三种,反过来也一样,第三种方法无效就用第一种。


显卡完装完成需要安装cuda,cudnn等,参见我的

方法一

这种方法作为推荐方法来使用。

第一步:查询合适的显卡驱动

#输入命令
ubuntu-drivers devices

该命令会列出所有需要驱动的设备,以及这些设备所匹配的驱动。

执行该命令有三种结果:

第一种,输出“Command ‘ubuntu-drivers’ not found, but can be installed with: sudo apt install ubuntu-drivers-common”

命令行安装jquery 命令行安装驱动_运维


按照提示命令执行即可。

第二种,命令执行后,无任务内容输出,这时要执行如下命令:

sudo add-apt-repository ppa:graphics-drivers/ppa #填加显卡安装源
sudo apt-get update

第三种,就是输出正常结果:

命令行安装jquery 命令行安装驱动_linux_02

第二步:安装驱动

然后执行命令,来完成安装:

sudo ubuntu-drivers autoinstall

如下图,当前驱动是418,会更新为430:

命令行安装jquery 命令行安装驱动_显卡驱动_03


如果想要安装指定的版本也是可以的:

sudo apt install nvidia-418

更多的ubuntu-drivers使用方法如下:

命令行安装jquery 命令行安装驱动_命令行安装jquery_04

第三步:重启电脑并验证安装

sudo reboot

验证时,输入:

nvidia-smi

该命令只有显卡安装成功才会有结果:

命令行安装jquery 命令行安装驱动_ubuntu_05


可以看到,从原来的418升级到430。

注意nvidia-smi查看到的CUDA Version是cuda driver version,也是表明当前显卡驱动支持的最高版本的CUDA版本号。我们自己安装的的CUDA叫做cuda runtime version。

方法二

第一步:安装显卡驱动PPA

英伟达官方PPA的网址是:https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa,可以查看所有显卡驱动:

命令行安装jquery 命令行安装驱动_ubuntu_06

lspci |grep NVIDIA#查看电脑上PCIE安装的显卡,理论上不用查,自己的机器应该知道
sudo add-apt-repository ppa:graphics-drivers/ppa #填加显卡安装源

需要花费一点时间,这个是ubuntu官方的用于安装NVIDIA显卡的安装包仓库,可以从这个源下载任何可用的英伟达显卡驱动。

命令行安装jquery 命令行安装驱动_运维_07


命令行安装jquery 命令行安装驱动_显卡驱动_08


中间过程中需要按回车继续

命令行安装jquery 命令行安装驱动_ubuntu_09


NVIDIA PPA 被安装到APT package reppository的cache.需要更新。

sudo apt update

第二步:查找合适的显卡驱动

打开显卡驱动查询网站

命令行安装jquery 命令行安装驱动_运维_10


我的显卡是GeForce 745,查找显卡对应型号,点击search。

命令行安装jquery 命令行安装驱动_linux_11


可以看来当前(2019年9月3日),适配我显卡的驱动版本号是435.21。验证该显卡驱动版本是否可以初装,可以该问链接https://www.nvidia.com/en-us/drivers/unix/,根据系统类型来查看。

命令行安装jquery 命令行安装驱动_linux_12


命令行安装jquery 命令行安装驱动_显卡驱动_13


列出所有可用的显卡驱动。所以我将在ppa中搜索这个版本的显卡驱动。

apt search nvidia-435#推荐版本

命令行安装jquery 命令行安装驱动_linux_14


结果没有搜出来,接着可以按照网页上所有可以获得的显卡驱动版本从高到低来搜索:

apt search nvidia-430
apt search nvidia-418
apt search nvidia-410
apt search nvidia-390
apt search nvidia-375

命令行安装jquery 命令行安装驱动_运维_15


430有五个结果。

命令行安装jquery 命令行安装驱动_ubuntu_16


418也有五个结果。

命令行安装jquery 命令行安装驱动_运维_17


415还是5个结果。

命令行安装jquery 命令行安装驱动_linux_18


一共有9个结果,与之前的都不相同,第一个是说要升级,因为410.48是我电脑的当前版本。第二个是说auto removed自动移除,这个是因为电脑初装驱动375,后来升级到410的。后边几个说明各不相同。

命令行安装jquery 命令行安装驱动_linux_19


搜索390没有结果。

命令行安装jquery 命令行安装驱动_显卡驱动_20


搜375结果很多,上图并未截完。

所以,我们找到的当前可安装最新显卡驱动是430版本,小数点后号码不用关注。

第三步:移除系统上先前安装的显卡驱动

sudo apt purge nvidia*

该指令将把显卡驱动以及所用cuda全部移除。参照下一篇博客,将在显卡驱动不变的情况下,单纯升级cuda中删除以前cuda版本的方法。以下截图很长,但感觉有必要截大部分出来,看看效果。

命令行安装jquery 命令行安装驱动_ubuntu_21


命令行安装jquery 命令行安装驱动_linux_22


命令行安装jquery 命令行安装驱动_命令行安装jquery_23


命令行安装jquery 命令行安装驱动_命令行安装jquery_24


命令行安装jquery 命令行安装驱动_ubuntu_25


点击输入Y.

显示结果如下:

命令行安装jquery 命令行安装驱动_ubuntu_26


接着不要按照系统推荐输入

sudo apt automove #删除为了满足其他软件包的依赖而安装的,但现在不再需要的软件包。

执行上述命令会把好多包删除,不是你不用那个包了,而是它是其它包安装的依赖,所以会把我们需要用到的也删除。举个栗子:C 依赖于 B, D 依赖于B, 且D没有被其他手动安装的包依赖。apt-get remove C 将删除C, 同时提示你用apt-get autoremove去清除B,D ;apt-get autoremove C 将删除B, C, D 。可是我没说我不用D啊,痛的教训。

第四步:安装显卡驱动

sudo apt install nvidia-430 nvidia-settings nvidia-prime

第五步:重启电脑并验证安装

sudo reboot
nvidia-smi
lsmod | grep nvidia
nvcc --version

命令行安装jquery 命令行安装驱动_ubuntu_27


命令行安装jquery 命令行安装驱动_ubuntu_28


至此,显卡驱动安装完成,有驱动就可以执行nvidia-sim来查看相关显卡信息,由于没有安装cuda,所以nvcc --version会有相关提示,需要进行下一步的cuda,cudnn安装。

方法三

本方法于2020年8月更新

同第二种方法一样,首先输入显卡型号,查找合适显卡驱动型号,事实上,打开官网https://www.nvidia.com/en-us/drivers/unix/,可以看到,对于linux版本,显卡驱动的版本有限:

命令行安装jquery 命令行安装驱动_linux_29


所以不论什么显卡型号,只要是linux系统下,显卡驱动都是一样的。官网查找到对应版本后,可以完成下载,文件为.run

命令行安装jquery 命令行安装驱动_命令行安装jquery_30


安装方法如下:

第一步:禁用系统默认显卡驱动nouveau

#打开系统黑名单:
sudo gedit /etc/modprobe.d/blacklist.conf
#文件末尾填入:
#for nvidia display device install
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb
#保存,然后更新initramfs:
sudo update-initramfs -u
#重启电脑
sudo reboot
#开机后输入:
lsmod | grep nouveau
#没有任何输出说明禁用成功。
#关闭图形界面
sudo service lightdm stop

命令行安装jquery 命令行安装驱动_linux_31

第二步:开始安装

sudo sh ./NVIDIA-Linux-x86_64-450.57.run

会依次出下以下图片(由于版本不同,可能不完合相同):

命令行安装jquery 命令行安装驱动_运维_32


命令行安装jquery 命令行安装驱动_命令行安装jquery_33

命令行安装jquery 命令行安装驱动_命令行安装jquery_34


本文只截了部分图像,只要没有Error基本回车安装。

#更新内核,重启电脑
sudo update-initramfs -u
sudo reboot
#验证安装
nvidia-smi

命令行安装jquery 命令行安装驱动_显卡驱动_35


最终安装成功。