显卡驱动安装
版本
实现 DKMS 公司 替代方案的驱动程序包。无需启用 EPEL 存储库 。这些驱动程序 kmod 包的源文件是预先编译的,然后在安装时链接,因此这些文件被称为“预编译驱动程序”
手动安装
- 安装
进入英伟达驱动下载官网
https://www.nvidia.cn/Download/index.aspx?lang=cn
选择你需要下载的对应的版本后,点击下载即可下载一个 .run
的驱动安装文件
根据提示安装即可
安装完之后用命令测试一下
若显示出显卡驱动框架则安装成功
- 卸载
卸载完之后
测试如果依然显示结果,则说明卸载失败;显示无此命令则代表卸载成功
卸载完成后需要重启服务器
通过包管理器安装
Rocky9
官方文档:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
安装需要的包
安装 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}}
开启持久化服务
安装第三方包
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的运行。方法如下:
创建新文件:
在文件里写入:
备份 initramfs
重建 initramfs
设置系统启动模式
> systemctl get-default
multi-user.target
# 如果是 graphical.target
# 需要执行:systemctl set-default multi-user.target
重启后查看