Ubuntu Server 20.04安装NVIDIA驱动

1,164 阅读3分钟

Ubuntu安装NVIDIA驱动

准备操作

确定系统识别到了显卡

root@master:~# lspci | grep -i nvidia
03:00.0 3D controller: NVIDIA Corporation TU104GL [Tesla T4] (rev a1)

列出已安装的NVIDIA软件包

dpkg -l | grep -i nvidia

安装方法不同,卸载方法也不同,建议都试试以下命令,确保卸载干净

sudo nvidia-uninstall
 
sudo apt remove --purge '^nvidia-.*'

安装必要依赖

sudo apt install gcc make

如果使用了显示管理器服务,则停止

sudo service lightdm stop

禁用nouveau显卡驱动

nouveau是第三方开发的开源显卡驱动,安装NVIDIA官方的显卡驱动之前,需要先禁用它。

编辑vim /etc/modprobe.d/blacklist.conf文件,末尾添加如下代码:

blacklist nouveau
options nouveau modeset=0

执行更新

sudo update-initramfs -u

重启

reboot

重启后通过以下命令验证,没有任何输出结果则代表禁用成功

lsmod | grep nouveau

安装NVIDIA显卡驱动

apt命令安装

执行如下命令,查看适合的驱动

root@master:~# ubuntu-drivers devices
ERROR:root:aplay command not found
== /sys/devices/pci0000:00/0000:00:0f.0 ==
modalias : pci:v000015ADd00000405sv000015ADsd00000405bc03sc00i00
vendor   : VMware
model    : SVGA II Adapter
manual_install: True
driver   : open-vm-tools-desktop - distro free

== /sys/devices/pci0000:03/0000:03:00.0 ==
modalias : pci:v000010DEd00001EB8sv000010DEsd000012A2bc03sc02i00
vendor   : NVIDIA Corporation
model    : TU104GL [Tesla T4]
driver   : nvidia-driver-418-server - distro non-free
driver   : nvidia-driver-535-server - distro non-free
driver   : nvidia-driver-535 - distro non-free recommended
driver   : nvidia-driver-450-server - distro non-free
driver   : nvidia-driver-525 - distro non-free
driver   : nvidia-driver-470-server - distro non-free
driver   : nvidia-driver-470 - distro non-free
driver   : nvidia-driver-525-server - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

软件源会推荐可以用于本机的驱动版本,建议选择系统recommend(推荐即最适合)的版本

执行如下命令即可安装驱动

root@master:~# apt-get install nvidia-driver-535
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:

安装包安装

进入NVIDIA官网,选择电脑类型和显卡型号,然后Search得到适配的版本 在这里插入图片描述 更改NVIDIA-Linux-x86_64-440.95.01.run权限

sudo chmod  777 NVIDIA-Linux-x86_64-440.95.01.run

执行NVIDIA-Linux-x86_64-440.95.01.run

sudo ./NVIDIA-Linux-x86_64-440.95.01.run

如果使用了GUI,则安装驱动时添加如下几个参数

sudo ./NVIDIA-Linux-x86_64-440.95.01.run -no-x-check -no-nouveau-check -no-opengl-files

禁用opengl后安装才不会出现循环登录的问题,后缀的参数说明如下:

-no-x-check:安装驱动时关闭X服务

-no-nouveau-check:安装驱动时禁用nouveau

-no-opengl-files:只安装驱动文件,不安装OpenGL文件

同时安装驱动和CUDA

访问地址:https://developer.nvidia.com/cuda-toolkit-archive,根据系统版本选择安装方式

在这里插入图片描述 根据安装类型不同,根据对应提示安装驱动即可。

wget https://developer.download.nvidia.com/compute/cuda/12.3.2/local_installers/cuda_12.3.2_545.23.08_linux.run

sudo sh cuda_12.3.2_545.23.08_linux.run

自动安装(推荐)

在Ubuntu中,执行如下命令,即可进行自动安装相关驱动,该命令快捷方便,推荐使用。

ubuntu-drivers autoinstall

编辑vim /etc/modprobe.d/nvidia.conf文件,末尾添加以下内容,解决重启后,执行nvidia-smi命令无效的一个兼容性问题

options nvidia NVreg_OpenRmEnableUnsupportedGpus=1

验证

安装成功后,执行以下命令验证驱动

root@master:~# nvidia-smi
Tue Jan  9 09:04:07 2024       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.146.02             Driver Version: 535.146.02   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  Tesla T4                       Off | 00000000:03:00.0 Off |                    0 |
| N/A   64C    P8              11W /  70W |      2MiB / 15360MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
                                                                                         
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|  No running processes found                                                           |
+---------------------------------------------------------------------------------------+