前述
与安装 NVIDIA 显卡驱动相比,卸载驱动相对简单。然而,卸载驱动的方式会因安装方法的不同而有所变化。对于通过离线方式安装的 NVIDIA 显卡驱动,可以直接使用 /usr/bin/nvidia-uninstall
命令进行卸载。对于通过在线方式安装的 NVIDIA 显卡驱动,如果安装的是 nvidia-driver:560
,可以采用与离线方式相同的卸载方法。如果安装的是 nvidia-driver:560-dkms
,则需要结合 dkms
命令进行卸载。
卸载 NVIDIA 显卡驱动
卸载驱动建议使用 NVIDIA 官方自带的卸载脚本 /usr/bin/nvidia-uninstall
进行卸载,对于可能存在的未清理干净的驱动,可以使用 dnf remove
等命令进行删除。
[root@gpu-server-001 ~]# /usr/bin/nvidia-uninstall
# 根据提示,选择是否备份配置
If you plan to no longer use the NVIDIA driver, you should make sure that no X screens are configured to use the NVIDIA X driver in your X configuration file. If you used nvidia-xconfig to configure X, it may have created a backup of your original configuration. Would you like to run `nvidia-xconfig --restore-original-backup` to attempt restoration of the original X configuration file?
# 如果您计划不再使用 NVIDIA 驱动程序,则应确保 X 配置文件中没有配置任何 X 屏幕以使用 NVIDIA X 驱动程序。如果您使用 nvidia-xconfig 配置 X,它可能已创建原始配置的备份。您是否要运行“nvidia-xconfig --restore-original-backup”以尝试恢复原始 X 配置文件?
# 驱动过滤
[root@gpu-server-001 ~]# rpm -qa | grep nvidia
libnvidia-ml-550.107.02-1.el9.x86_64
libnvidia-cfg-550.107.02-1.el9.x86_64
dnf-plugin-nvidia-2.2-1.el9.noarch
# 删除不需要的包
[root@gpu-server-001 ~]# dnf remove *nvidia*
# 文件过滤
[root@gpu-server-001 ~]# ls -l /usr/bin/ | grep nvidia
-rwsr-xr-x 1 root root 41448 Jul 19 11:27 nvidia-modprobe
-rwxr-xr-x 1 root root 63848 Jul 19 11:27 nvidia-persistenced
-rwxr-xr-x 1 root root 208584 Jul 19 11:27 nvidia-xconfig
# 删除不需要的文件
[root@gpu-server-001 ~]# rm -rf /usr/bin/nvidia-*
# 查看日志确认卸载成功
[root@gpu-server-001 ~]# tail -n 1 /var/log/nvidia-installer.log
# 查看内核模块没有加载闭源驱动
[root@gpu-server-001 ~]# lsmod | grep nvidia
# 如果不重启计算机,也可以直接删除已经加载的驱动
[root@gpu-server-001 ~]# rmmod nvidia
dkms 卸载驱动
对于 dkms
驱动,可以使用以下两条命令进行卸载。
# 移除特定版本的 NVIDIA 驱动内核模块。
[root@gpu-server-001 ~]# dkms remove nvidia/550.90.07 --all
# 卸载 NVIDIA 驱动
[root@gpu-server-001 ~]# dnf remove kmod-nvidia-latest-dkms nvidia-driver
# 查看内核模块没有加载闭源驱动
[root@gpu-server-001 ~]# lsmod | grep nvidia
# 如果不重启计算机,也可以直接删除已经加载的驱动
[root@gpu-server-001 ~]# rmmod nvidia
启用开源驱动
在卸载闭源驱动后,为保证显卡能够正常使用,需要将前期禁用的开源驱动启用。
# 移除内核层禁用的 nouveau 开源驱动
[root@gpu-server-001 ~]# grubby --update-kernel ALL --remove-args rd.driver.blacklist=nouveau
# 验证移除成功
[root@gpu-server-001 ~]# grubby --info DEFAULT
index=0
kernel="/boot/vmlinuz-5.14.0-427.31.1.el9_4.x86_64"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M rd.lvm.lv=rl/root"
root="/dev/mapper/rl-root"
initrd="/boot/initramfs-5.14.0-427.31.1.el9_4.x86_64.img"
title="Rocky Linux (5.14.0-427.31.1.el9_4.x86_64) 9.4 (Blue Onyx)"
id="599d42b6cdc74c4687b38239a3e9b672-5.14.0-427.31.1.el9_4.x86_64"
# 删除开源驱动黑名单文件
[root@gpu-server-001 ~]# rm -rf /etc/modprobe.d/blacklist-nouveau.conf
# 重新启动计算机生效配置
[root@gpu-server-001 ~]# reboot
# 重启后,确保默认已经加载开源驱动
[root@gpu-server-001 ~]# lsmod | grep nouveau
nouveau 3010560 0
mxm_wmi 16384 1 nouveau
drm_exec 16384 1 nouveau
gpu_sched 57344 1 nouveau
drm_display_helper 212992 1 nouveau
video 73728 2 dell_wmi,nouveau
drm_ttm_helper 16384 1 nouveau
ttm 98304 2 drm_ttm_helper,nouveau
drm_kms_helper 245760 4 drm_display_helper,nouveau
drm 741376 8 gpu_sched,drm_kms_helper,drm_exec,drm_display_helper,drm_ttm_helper,ttm,nouveau
i2c_algo_bit 16384 2 igb,nouveau
wmi 45056 6 video,dell_wmi,dell_smbios,dell_wmi_descriptor,mxm_wmi,nouveau
至此,卸载闭源驱动成功,并启用开源驱动。
参考文献
[1] CUDA Installation Guide for Linux
[2] CUDA GPUs – Compute Capability | NVIDIA Developer
[3] docs.nvidia.com/cuda/pdf/CUDA_Installation_Guide_Linux.pdf
版权声明:「自由转载-保持署名-非商业性使用-禁止演绎 3.0 国际」(CC BY-NC-ND 3.0)
用一杯咖啡支持我们,我们的每一篇[文档]都经过实际操作和精心打磨,而不是简单地从网上复制粘贴。期间投入了大量心血,只为能够真正帮助到您。
暂无评论