跳转至

显卡驱动安装

版本

实现 DKMS 公司 替代方案的驱动程序包。无需启用 EPEL 存储库 。这些驱动程序 kmod 包的源文件是预先编译的,然后在安装时链接,因此这些文件被称为“预编译驱动程序”

手动安装

  • 安装

进入英伟达驱动下载官网

https://www.nvidia.cn/Download/index.aspx?lang=cn

选择你需要下载的对应的版本后,点击下载即可下载一个 .run 的驱动安装文件

根据提示安装即可

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

安装完之后用命令测试一下

nvidia-smi

若显示出显卡驱动框架则安装成功

  • 卸载
/usr/bin/nvidia-uninstall

卸载完之后

nvidia-smi

测试如果依然显示结果,则说明卸载失败;显示无此命令则代表卸载成功

卸载完成后需要重启服务器

通过包管理器安装

Rocky9

官方文档:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html

安装需要的包

dnf install kernel-devel-$(uname -r) kernel-headers-$(uname -r)

安装 cuda 仓库

export distro=rhel9
export arch=x86_64

dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/$distro/$arch/cuda-$distro.repo

安装 cuda

dnf module install -y nvidia-driver:latest-dkms
# 卸载方式:
# dnf module remove --all nvidia-driver
# dnf module reset nvidia-driver

dnf install -y cuda

# GDS
dnf install -y nvidia-gds

安装指定版本

dnf module enable -y nvidia-driver:550-open
dnf install -y nvidia-driver-550.90.07-1.el9.x86_64 \
  nvidia-driver-NVML-550.90.07-1.el9.x86_64 \
  cuda-drivers-550.90.07-1.x86_64.rpm \
dnf install -y cuda-12-4-12.4.1-1.x86_64

配置 share 库的软链,部分库可能会用到

ls -al /usr/lib{,64}/nvidia
ls -al /usr/lib/libcuda.so /usr/lib64/libcuda.so

# 如果没有,再执行:
# ln -s /usr/lib/nvidia/libcuda.so /usr/lib/libcuda.so
# ln -s /usr/lib64/nvidia/libcuda.so /usr/lib64/libcuda.so

安装完成后:

export PATH=/usr/local/cuda-12.1/bin${PATH:+:${PATH}}

export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

开启持久化服务

systemctl enable --now nvidia-persistenced

安装第三方包

dnf install -y freeglut-devel libX11-devel libXi-devel libXmu-devel \
  make mesa-libGLU-devel freeimage-devel

遇到的问题

Nouveau driver 被占用

安装驱动时,有时会提示由于 Nouveau kernel driver 在运行,所以驱动安装不成功

ERROR: The Nouveau kernel driver is currently in use by your system.  This driver is incompatible with the NVIDIA driver, and must be disabled before proceeding.  Please consult the NVIDIA driver README and your Linux
         distribution's documentation for details on how to correctly disable the Nouveau kernel driver.

这时需要手动禁止Nouveau kernel driver的运行。方法如下:

创建新文件:

vim /etc/modprobe.d/blacklist-nouveau.conf

在文件里写入:

# generated by nvidia-installer
blacklist nouveau
options nouveau modeset=0

备份 initramfs

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak

重建 initramfs

dracut -v /boot/initramfs-$(uname -r).img $(uname -r)

设置系统启动模式

> systemctl get-default

multi-user.target

# 如果是 graphical.target
# 需要执行:systemctl set-default multi-user.target

重启后查看

lsmod | grep nouveau