前言
疫情结束回校后才能上手英伟达的Jetson Nano搞事情…配环境等流程只能先在自己设备上过一遍
自己机子上配置完了,但关于CUDA安装等和英伟达显卡驱动有关的事情实在是很繁琐,查到的资料也是乱七八糟,在此记一篇,玩Jetson Nano的时候备用
禁用nouveau
Ubuntu下自带的热衷于与英伟达驱动打架的开源显卡驱动,禁用以绝后患
在命令行下输入
$ sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
我们刚刚单独为nouveau创建了一个黑名单并用gedit打开,在该文档里输入以下内容并保存
#黏贴以下内容进文档后保存
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
回到命令行输入以下内容并重启
$ echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
$ sudo update-initramfs -u
$ sudo reboot
重启后,在命令行输入以下内容,若无输出则代表nouveau禁用成功
$ lsmod | grep nouveau
若不放心,想要彻底鲨了nouveau可以参考博客[2]
安装英伟达显卡驱动
很多不知道转了几手没人修正的资料里都是直接去官网搜最新版本驱动安装,但很遗憾这大概率会导致无法进入图形化界面,只能Ctrl+alt+F1进命令行抢救,似乎受支持的英伟达显卡驱动在Ubuntu下是和系统内核绑定的,为此我们要查询和系统内核匹配的显卡驱动版本
(另外本部分流程也可用于重装显卡驱动)
在命令行下输入以下内容以查看可用驱动
$ ubuntu-drivers devices
得到的列表类似图下所示,图中可以选择安装430版本
比较简单的安装路线(要求全程联网):
该方法最突出的好处其实是因掉驱动进不了图形化界面时,也能通过进命令行界面继续抢救
在命令行下输入以下内容
# 卸载掉系统原生携带的英伟达驱动
$ sudo apt-get remove --purge nvidia*
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get update
# 将XXX替换为版本号
$ sudo apt-get install nvidia-XXX
# 驱动安装完成后还需要安装依赖
$ sudo apt-get install mesa-common-dev
$ sudo apt-get install freeglut3-dev
输入以下命令以验证显卡驱动是否安装成功
$ nvidia-smi
若安装成功,则会显示当前显卡状态,如下图所示
(图形化界面下才可出现以下信息,若是在命令行抢救显卡驱动的话,直接重启即可)
保险起见可以重启一下
$ sudo reboot
安装CUDA
步骤很长,参考资料[1]中很详细,在此不赘述
注意要根据英伟达驱动版本来安装对应的CUDA版本
另外,CUDA和CUDNN的版本是存在对应关系的,如CUDA 9.0+CUDNN 7.6.4是合理的组合,也是我设备上目前使用的
CUDA 10以上版本似乎存在部分坑,手上项目结束后开一篇重新踩坑
引自参考资料[5]
参考资料
[1] https://www.pyimagesearch.com/2017/09/27/setting-up-ubuntu-16-04-cuda-gpu-for-deep-learning-with-python/(微软CV大佬Adrian)
[2] https://www.cnblogs.com/left4back/p/10952845.html
[3] https://blog.csdn.net/qiancaobaicheng/article/details/95096354
[4] https://blog.csdn.net/max_loo/article/details/81304949
[5] https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html