目录
一、nouveau开源驱动禁用
1.检查是否已经将其禁用
2.禁用nouveau显卡驱动(该步骤仅针对步骤一中有输出的情况)
二、NVIDIA显卡驱动安装
1、查看当前系统内核(重要)
2、安装驱动
3、问题(未出现问题的忽略此步):更换介质:请把标有…… DVD 的盘片插入驱动器“/media/cdrom/”再按回车键
4、问题(未出现问题的忽略此步):重启电脑后,无法进入桌面,黑屏,左上角有光标在闪
三、cuda10.0(10.1)和cudnn7.6.5安装
1.下载cuda10.0、cuda10.1和它们对应的cudnn7.6.5
2.查看gcc编译器,cuda10.0、cuda10.1在高版本编译器(gcc-9以上)下无法安装,因此需要查看已安装的gcc版本,并根据需要安装gcc-7.
3.安装cuda10.0和cudnn7.6.5(系统中没有cuda)
4.安装cuda10.1和cudnn7.6.5(系统中有一个cuda)
5.切换cuda版本
lsmod | grep nouveau
如果没有任何输出,则该驱动已经禁用;如果输出了nouveau的信息,则还未禁用。
gedit /etc/modprobe.d/blacklist-nouveau.conf
在打开的文件末尾加入以下内容:
blacklist nouveau
options nouveau modeset = 0
保存并关闭gedit。退回到终端后,重新生成内核配置。
sudo update-initramfs -u
生成成功后重启电脑。
重启后,参照步骤一.1检查是否禁用成功,如果没有禁用成功,切不可进行以下步骤!禁用成功后方可进行以下步骤。
查看当前系统内核,一定要记住当前系统内核的版本!
uname -a
后续安装显卡驱动时,会自动安装高版本内核,容易造成显卡驱动与内核不匹配的情况,造成开机后无法进入桌面。目前还没有确切的内核与驱动的对应关系表,所以没办法,只能试。
查看当前可安装的NVIDIA驱动
ubuntu-drivers devices
此处,很多博主推荐安装带有recommend字样的驱动,但是经过尝试,安装该驱动很容易造成无法进入桌面的错误。所以这里,我们选择较为稳定的4xx(例如410、470等,我的显卡是RTX1050TI,安装510也成功了)版本的驱动。我的内核版本是 5.15.0-43-generic,大家酌情选择显卡驱动版本。如果没选对也没关系,后面还可以改,就是比较麻烦。
选择好驱动后用以下命令安装(其中XXX为版本号)
sudo apt install nvidia-driver-XXX
驱动安装成功后,重启电脑。
如果在执行安装驱动的命令后,终端提示你
更换介质:请把标有…… DVD 的盘片插入驱动器“/media/cdrom/”再按回车键
你会卡在这里无法继续,此时
sudo gedit /etc/apt/sources.list
并注释掉deb cdrom开头的一行(一般在第一行)
#deb cdrom:……
保存并关闭后更新源
sudo apt-get update
完成后即可正常安装驱动。
出现此问题的原因是内核版本与驱动版本不匹配。为了正常进入系统
(1)长按电源键关机
(2)重新开始后选择ubuntu高级选项,并选择二.1中的内核版本进入系统
(3)进入系统后查看显卡驱动是否工作
nvidia-smi
如果输出的是一个显卡工作信息表格,那么显卡驱动正常工作;如果输出的是一句话,则显卡驱动没有正常工作。
(4)如果显卡驱动正常工作,卸载跟随驱动一起安装的内核
#查看已安装的内核版本
dpkg --get-selections | grep linux
保留二(1)中的内核,卸载新内核
卸载后重启电脑即可。
(5)如果显卡驱动没有正常工作,卸载现有驱动,安装其他驱动,重复二.2到二.4.(4)的过程,直到成功。
cuda下载
cudnn下载
ls /usr/bin/gcc*
如果gcc版本全部高于gcc-7,则安装gcc-7
sudo apt install gcc-7
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
没有可用的软件包 gcc-7,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到
E: 软件包 gcc-7 没有可安装候选
安装时出错,没有可安装候选
vim /etc/apt/sources.list
#在sources.list中添加如下内容
deb [arch=amd64] http://archive.ubuntu.com/ubuntu focal main universe
#更新源
sudo apt-get update
#安装gcc-7和g++-7
sudo apt-get install -y gcc-7 g++-7
多版本gcc、g++切换
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 100
#切换gcc版本
sudo update-alternatives --config gcc
#切换g++版本
sudo update-alternatives --config g++
将gcc和g++版本全部切换为7,则可以开始安装cuda。
sudo sh cuda_10.0.130_410.48_linux.run
如果提示权限不够,则sudo chmod +x cuda文件 赋予权限。下面是一些选项。
-----------------
Do you accept the previously read EULA?
accept/decline/quit: accept
You are attempting to install on an unsupported configuration. Do you wish to continue?
(y)es/(n)o [ default is no ]: yes
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?
(y)es/(n)o/(q)uit: n
Install the CUDA 10.0 Toolkit?
(y)es/(n)o/(q)uit: y
Enter Toolkit Location
[ default is /usr/local/cuda-10.0 ]:
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y
Install the CUDA 10.0 Samples?
(y)es/(n)o/(q)uit: n
Installing the CUDA Toolkit in /usr/local/cuda-10.0 ...
查看cuda版本
cat /usr/local/cuda/version.txt
安装cudnn
#解压文件
tar -zxvf cudnn-10.0-linux-x64-v7.6.5.32.tgz
#复制解压后的文件到cuda中
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
查看cudnn版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
安装的具体步骤与三.3相同,下面主要说一下如何切换cuda版本、
┌──────────────────────────────────────────────────────────────────────────────┐
│ CUDA Installer │
│ - [ ] Driver │
│ [ ] 418.39 │
│ + [X] CUDA Toolkit 10.1 │
│ [ ] CUDA Samples 10.1 │
│ [X] CUDA Demo Suite 10.1 │
│ [X] CUDA Documentation 10.1 │
│ Install │
│ Options │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ Up/Down: Move | Left/Right: Expand | 'Enter': Select | 'A': Advanced options │
└──────────────────────────────────────────────────────────────────────────────┘
查看当前版本cuda,由于我们在安装cuda10,1时选择创建了软连接,所以此时的版本是10.1.
cat /usr/local/cuda/version.txt
我个人更新换通过修改软连接的方法来切换cuda版本,这样不需要更改.bashrc文件,不容易导致系统的错误。
#删除原有软连接
sudo rm -rf cuda
#为想要的版本建立软连接
sudo ln -s /usr/local/cuda-10.1 /usr/local/cuda