文章目录

我的系统是ubuntu16.04,搭建环境第一步是安装主板驱动,之后要安装cudatoolkit和cudnn。本博客凑合这种环境搭建的内容写一个系列,来完成常用深度学习算法的需求,由于常常用到,写个博客作为记录,便于以来使用。

下边将为系统中安装最新版本的主板驱动。安装方式将使用CLI的方式而不是GUI形式,这样便捷在未能显示的情况出来进行安装。本文列出了三种方式前两种,殊途同归,第三种是官方文档中的方式,亲测都可以成功,但第一种方式简单,推荐第一种方式,但这些安装的版本可能不够新。第三种,根据官网方式安装也挺好,但不一定能成功,由于官网的驱动很新,不一定对系统适配,当第一种(和第二种本质一样)失败时,用第三种,反过来也一样linux操作系统界面,第三种方式无效就用第一种。

主板完装完成须要安装cuda,cudnn等,参见我的其它博客方式一

这些方式作为推荐方式来使用。

第一步:查询合适的主板驱动

#输入命令
ubuntu-drivers devices

命令会列举所有须要驱动的设备,以及那些设备所匹配的驱动。

执行该命令有三种结果:

第一种,输出“Command‘ubuntu-drivers’notfound,butcanbeinstalledwith:sudoaptinstallubuntu-drivers-common”

根据提示命令执行即可。

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

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

第三种linux device命令linux device命令,就是输出正常结果:

第二步:安装驱动

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

sudo ubuntu-drivers autoinstall

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

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

sudo apt install nvidia-418

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

第三步:重启笔记本并验证安装

sudo reboot

验证时,输入:

nvidia-smi

该命令只有主板安装成功就会有结果:

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

注意:nvidia-smi查看到的CUDAVersion是cudadriverversion,也是表明当前主板驱动支持的最高版本的CUDA版本号。我们自己安装的的CUDA称作cudaruntimeversion。

方式二第一步:安装主板驱动PPA

英伟达官方PPA的网址是:~graphics-drivers/+archive/ubuntu/ppa,可以查看所有主板驱动:

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

须要耗费一点时间,这个是ubuntu官方的用于安装NVIDIA主板的安装包库房,可以从这个源下载任何可用的英伟达主板驱动。

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

NVIDIAPPA被安装到APTpackagereppository的cache.须要更新。

sudo apt update

第二步:查找合适的主板驱动

打开主板驱动查询网站:

我的主板是GeForce745,查找主板对应机型,点击search。

可以看来当前(2019年9月3日),适配我主板的驱动版本号是435.21。验证该主板驱动版本是否可以初装,可以该问链接,按照系统类型来查看。

列举所有可用的主板驱动。所以我将在ppa中搜索这个版本的主板驱动。

apt search nvidia-435#推荐版本

linux device命令_命令提示符_命令方块指令

结果没有搜下来,接着可以根据网页上所有可以获得的主板驱动版本从高到低来搜索:

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

430有五个结果。

418也有五个结果。

415还是5个结果。

一共有9个结果,与之前的都不相同,第一个是说要升级,由于410.48是我笔记本的当前版本。第二个是说autoremoved手动移除,这个是由于笔记本初装驱动375,后来升级到410的。前面几个说明各不相同。

搜索390没有结果。

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

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

第三步:移除系统上原本安装的主板驱动

sudo apt purge nvidia*

该指令将把主板驱动以及所用cuda全部移除。参照下一篇博客,将在主板驱动不变的情况下,单纯升级cuda中删掉曾经cuda版本的方式。以下截图很长,但觉得有必要截大部份下来,瞧瞧疗效。

linux device命令_命令方块指令_命令提示符

点击输入Y.

显示结果如下:

接着不要根据系统推荐输入

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

执行上述命令会把很多包删掉,不是你不用那种包了,而是它是其它包安装的依赖,所以会把我们须要用到的也删掉。举个板栗:C依赖于B,D依赖于B,且D没有被其他自动安装的包依赖。apt-getremoveC将删掉C,同时提示你用apt-getautoremove去清理B,D;apt-getautoremoveC将删掉B,C,D。但是我没说我不用D啊,痛的教训。

第四步:安装主板驱动

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

第五步:重启笔记本并验证安装

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

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

linux device命令_命令提示符_命令方块指令

方式三

本方式于2020年8月更新

同第二种方式一样,首先输入主板机型,查找合适主板驱动机型,事实上,打开官网,可以看见linux格式化硬盘,对于linux版本,主板驱动的版本有限:

所以不论哪些主板机型,只要是linux系统下,主板驱动都是一样的。官网查找到对应版本后,可以完成下载,文件为.run:

安装方式如下:

第一步:禁用系统默认主板驱动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

第二步:开始安装

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

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

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

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

最终安装成功。

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复