1. 服务器显卡驱动准备
这部分我会详细记录一下我踩过的坑及怎样拯救的,原谅啰嗦啦 ^_^
1.1 服务器旧配置
1.1.1 nvidia-smi
[xxxxxx@localhost ~]# nvidia-smi
Thu May 29 20:54:00 2025
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 530.30.02 Driver Version: 530.30.02 CUDA Version: 12.1 |
|-----------------------------------------+----------------------+----------------------+
| 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 NVIDIA H100 PCIe Off| 00000000:41:00.0 Off | 0 |
| N/A 33C P0 47W / 350W| 182MiB / 81559MiB | 13% Default |
| | | Disabled |
+-----------------------------------------+----------------------+----------------------+
| 1 NVIDIA H100 PCIe Off| 00000000:61:00.0 Off | 0 |
| N/A 34C P0 47W / 350W| 0MiB / 81559MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+----------------------+----------------------++---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| 0 N/A N/A 6436 G /usr/libexec/Xorg 63MiB |
| 0 N/A N/A 8528 G /usr/bin/gnome-shell 118MiB |
+---------------------------------------------------------------------------------------+
1.1.2 升级驱动之前更新一下yum库(不同的系统有不同的更新方式,我系统是RHEL,此处就不多说了)
[xxx@localhost ~]# yum update
上次元数据过期检查:3:15:44 前,执行于 2025年05月29日 星期四 17时56分08秒。
依赖关系解决。
无需任何处理。
完毕!
[xxx@localhost ~]# yum install gcc kernel-devel
上次元数据过期检查:3:15:58 前,执行于 2025年05月29日 星期四 17时56分08秒。
软件包 gcc-8.5.0-26.el8_10.x86_64 已安装。
软件包 kernel-devel-4.18.0-425.3.1.el8.x86_64 已安装。
软件包 kernel-devel-4.18.0-553.51.1.el8_10.x86_64 已安装。
软件包 kernel-devel-4.18.0-553.53.1.el8_10.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!
1.1.3 禁用Nouveau驱动(这个我没有操作)
编辑或者创建文件/etc/modprobe.d/blacklist-nouveau.conf
,并添加以下两行:
blacklist nouveau
options nouveau modeset=0
1.1.4 关闭图形界面
H100服务器通常在无头(无显示器)模式下操作,但是如果服务器启动了图形介面服务,先关闭它:
sudo systemctl stop gdm # 或者其他图形界面服务,如lightdm、sddm等
1.1.5 更新initramfs:
sudo dracut --force # 在RHEL/CentOS
1.1.6 卸载旧驱动
旧有驱动卸载不了,其实我不知道我什么时候把驱动版本降低了,本来是550-*的
[xxx@localhost ~]# ./NVIDIA-Linux-x86_64-530.30.02.run --uninstall
-bash: ./NVIDIA-Linux-x86_64-530.30.02.run: 没有那个文件或目录
正确卸载方式
[xxx@localhost ~]# ./NVIDIA-Linux-x86_64-550.144.03.run --uninstall
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 550.144.03........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
[xxx@localhost ~]# nvidia-uninstall
bash: nvidia-uninstall: 未找到命令...
此处我犯了一个错误,我此前已经更改了我的root账户名称!!!
[xxx@localhost ~]# sudo yum remove 'nvidia-*'
错误:运行此命令需要管理员特权(多数系统下是root用户)。
[xxx@localhost ~]# sudo yum remove 'nvidia-*'
错误:运行此命令需要管理员特权(多数系统下是root用户)。
[xxx@localhost ~]# su
此帐户目前不可用。
[xxx@localhost ~]# yum remove 'nvidia-*'
依赖关系解决。
==============================================================================================================================================================================================================
软件包 架构 版本 仓库 大小
==============================================================================================================================================================================================================
移除:nvidia-driver x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 80 Mnvidia-driver-NVML x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 1.7 Mnvidia-driver-NvFBCOpenGL x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 131 knvidia-driver-cuda x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 1.4 Mnvidia-driver-cuda-libs x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 227 Mnvidia-driver-devel x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 0 nvidia-driver-libs x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 421 Mnvidia-kmod-common noarch 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 2.7 knvidia-libXNVCtrl x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 50 knvidia-libXNVCtrl-devel x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 253 knvidia-modprobe x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 84 knvidia-persistenced x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 85 knvidia-settings x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 1.9 Mnvidia-xconfig x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 300 k
移除依赖的软件包:cuda x86_64 12.1.0-1 @cuda-rhel8-12-1-local 0
清除未被使用的依赖关系:cuda-12-1 x86_64 12.1.0-1 @cuda-rhel8-12-1-local 0 cuda-cccl-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 12 Mcuda-command-line-tools-12-1 x86_64 12.1.0-1 @cuda-rhel8-12-1-local 0 cuda-compiler-12-1 x86_64 12.1.0-1 @cuda-rhel8-12-1-local 0 cuda-cudart-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 723 kcuda-cudart-devel-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 6.1 Mcuda-cuobjdump-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 567 kcuda-cupti-12-1 x86_64 12.1.62-1 @cuda-rhel8-12-1-local 107 Mcuda-cuxxfilt-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 1.0 Mcuda-demo-suite-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 12 Mcuda-documentation-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 520 kcuda-driver-devel-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 121 kcuda-drivers x86_64 530.30.02-1 @cuda-rhel8-12-1-local 0 cuda-gdb-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 16 Mcuda-libraries-12-1 x86_64 12.1.0-1 @cuda-rhel8-12-1-local 0 cuda-libraries-devel-12-1 x86_64 12.1.0-1 @cuda-rhel8-12-1-local 0 cuda-nsight-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 113 Mcuda-nsight-compute-12-1 x86_64 12.1.0-1 @cuda-rhel8-12-1-local 7.3 kcuda-nsight-systems-12-1 x86_64 12.1.0-1 @cuda-rhel8-12-1-local 1.7 kcuda-nvcc-12-1 x86_64 12.1.66-1 @cuda-rhel8-12-1-local 164 Mcuda-nvdisasm-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 48 Mcuda-nvml-devel-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 619 kcuda-nvprof-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 11 Mcuda-nvprune-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 167 kcuda-nvrtc-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 61 Mcuda-nvrtc-devel-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 78 Mcuda-nvtx-12-1 x86_64 12.1.66-1 @cuda-rhel8-12-1-local 405 kcuda-nvvp-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 128 Mcuda-opencl-12-1 x86_64 12.1.56-1 @cuda-rhel8-12-1-local 90 kcuda-opencl-devel-12-1 x86_64 12.1.56-1 @cuda-rhel8-12-1-local 570 kcuda-profiler-api-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 71 kcuda-runtime-12-1 x86_64 12.1.0-1 @cuda-rhel8-12-1-local 0 cuda-sanitizer-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 36 Mcuda-toolkit-12-1 x86_64 12.1.0-1 @cuda-rhel8-12-1-local 3.0 kcuda-toolkit-12-1-config-common noarch 12.1.55-1 @cuda-rhel8-12-1-local 0 cuda-toolkit-12-config-common noarch 12.1.55-1 @cuda-rhel8-12-1-local 44 cuda-toolkit-config-common noarch 12.1.55-1 @cuda-rhel8-12-1-local 41 cuda-tools-12-1 x86_64 12.1.0-1 @cuda-rhel8-12-1-local 0 cuda-visual-tools-12-1 x86_64 12.1.0-1 @cuda-rhel8-12-1-local 0 dnf-plugin-nvidia noarch 2.0-1.el8 @cuda-rhel8-12-1-local 13 kegl-wayland x86_64 1.1.9-3.el8 @appstream 68 kgds-tools-12-1 x86_64 1.6.0.25-1 @cuda-rhel8-12-1-local 61 Mjava-1.8.0-openjdk x86_64 1:1.8.0.452.b09-2.el8 @appstream 1.3 Mkmod-nvidia-latest-dkms x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 68 MlibX11-devel x86_64 1.6.8-9.el8_10 @appstream 1.0 MlibXau-devel x86_64 1.0.9-3.el8 @appstream 6.4 klibcublas-12-1 x86_64 12.1.0.26-1 @cuda-rhel8-12-1-local 587 Mlibcublas-devel-12-1 x86_64 12.1.0.26-1 @cuda-rhel8-12-1-local 980 Mlibcufft-12-1 x86_64 11.0.2.4-1 @cuda-rhel8-12-1-local 185 Mlibcufft-devel-12-1 x86_64 11.0.2.4-1 @cuda-rhel8-12-1-local 383 Mlibcufile-12-1 x86_64 1.6.0.25-1 @cuda-rhel8-12-1-local 2.2 Mlibcufile-devel-12-1 x86_64 1.6.0.25-1 @cuda-rhel8-12-1-local 17 Mlibcurand-12-1 x86_64 10.3.2.56-1 @cuda-rhel8-12-1-local 92 Mlibcurand-devel-12-1 x86_64 10.3.2.56-1 @cuda-rhel8-12-1-local 94 Mlibcusolver-12-1 x86_64 11.4.4.55-1 @cuda-rhel8-12-1-local 476 Mlibcusolver-devel-12-1 x86_64 11.4.4.55-1 @cuda-rhel8-12-1-local 325 Mlibcusparse-12-1 x86_64 12.0.2.55-1 @cuda-rhel8-12-1-local 243 Mlibcusparse-devel-12-1 x86_64 12.0.2.55-1 @cuda-rhel8-12-1-local 526 Mlibglvnd-opengl x86_64 1:1.3.4-2.el8 @appstream 174 klibnpp-12-1 x86_64 12.0.2.50-1 @cuda-rhel8-12-1-local 233 Mlibnpp-devel-12-1 x86_64 12.0.2.50-1 @cuda-rhel8-12-1-local 242 Mlibnvjitlink-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 46 Mlibnvjitlink-devel-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 60 Mlibnvjpeg-12-1 x86_64 12.1.0.39-1 @cuda-rhel8-12-1-local 5.7 Mlibnvjpeg-devel-12-1 x86_64 12.1.0.39-1 @cuda-rhel8-12-1-local 5.9 Mlibnvvm-samples-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 121 klibvdpau x86_64 1.4-2.el8 @appstream 75 klibxcb-devel x86_64 1.13.1-1.el8 @appstream 2.6 Mmesa-vulkan-drivers x86_64 23.1.4-4.el8_10 @appstream 45 Mnsight-compute-2023.1.0 x86_64 2023.1.0.15-1 @cuda-rhel8-12-1-local 1.4 Gnsight-systems-2023.1.2 x86_64 2023.1.2.43_32377213v0-0 @cuda-rhel8-12-1-local 709 Mocl-icd x86_64 2.2.12-1.el8 @appstream 145 kopencl-filesystem noarch 1.0-6.el8 @appstream 0 ttmkfdir x86_64 3.0.9-54.el8 @appstream 124 kvulkan-loader x86_64 1.3.283.0-1.el8_10 @appstream 512 kxorg-x11-fonts-Type1 noarch 7.5-19.el8 @appstream 863 kxorg-x11-proto-devel noarch 2020.1-3.el8 @appstream 1.7 M事务概要
==============================================================================================================================================================================================================
移除 92 软件包
将会释放空间:8.1 G
确定吗?[y/N]: y
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务准备中 : 1/1 运行脚本: cuda-12.1.0-1.x86_64 1/1 删除 : cuda-12.1.0-1.x86_64 1/92 删除 : cuda-12-1-12.1.0-1.x86_64 2/92 删除 : cuda-toolkit-12-1-12.1.0-1.x86_64 3/92 删除 : cuda-compiler-12-1-12.1.0-1.x86_64 4/92 删除 : cuda-tools-12-1-12.1.0-1.x86_64 5/92 删除 : cuda-command-line-tools-12-1-12.1.0-1.x86_64 6/92 删除 : cuda-visual-tools-12-1-12.1.0-1.x86_64 7/92 删除 : cuda-libraries-devel-12-1-12.1.0-1.x86_64 8/92 删除 : cuda-nvvp-12-1-12.1.55-1.x86_64 9/92 运行脚本: cuda-nvvp-12-1-12.1.55-1.x86_64 9/92 删除 : cuda-cudart-devel-12-1-12.1.55-1.x86_64 10/92 删除 : cuda-runtime-12-1-12.1.0-1.x86_64 11/92 删除 : cuda-drivers-530.30.02-1.x86_64 12/92 删除 : cuda-libraries-12-1-12.1.0-1.x86_64 13/92 删除 : nvidia-driver-devel-3:530.30.02-1.el8.x86_64 14/92 删除 : nvidia-libXNVCtrl-devel-3:530.30.02-1.el8.x86_64 15/92 删除 : libX11-devel-1.6.8-9.el8_10.x86_64 16/92 删除 : libxcb-devel-1.13.1-1.el8.x86_64 17/92 删除 : libXau-devel-1.0.9-3.el8.x86_64 18/92 删除 : cuda-opencl-devel-12-1-12.1.56-1.x86_64 19/92 删除 : libnvjitlink-devel-12-1-12.1.55-1.x86_64 20/92 删除 : cuda-nsight-compute-12-1-12.1.0-1.x86_64 21/92 删除 : cuda-nsight-systems-12-1-12.1.0-1.x86_64 22/92 运行脚本: nsight-systems-2023.1.2-2023.1.2.43_32377213v0-0.x86_64 23/92 删除 : nsight-systems-2023.1.2-2023.1.2.43_32377213v0-0.x86_64 23/92 删除 : cuda-nsight-12-1-12.1.55-1.x86_64 24/92 删除 : nsight-compute-2023.1.0-2023.1.0.15-1.x86_64 25/92 运行脚本: nsight-compute-2023.1.0-2023.1.0.15-1.x86_64 25/92 删除 : xorg-x11-proto-devel-2020.1-3.el8.noarch 26/92 删除 : cuda-cccl-12-1-12.1.55-1.x86_64 27/92 删除 : cuda-nvdisasm-12-1-12.1.55-1.x86_64 28/92 删除 : cuda-profiler-api-12-1-12.1.55-1.x86_64 29/92 删除 : cuda-nvml-devel-12-1-12.1.55-1.x86_64 30/92 删除 : cuda-gdb-12-1-12.1.55-1.x86_64 31/92 删除 : cuda-sanitizer-12-1-12.1.55-1.x86_64 32/92 运行脚本: gds-tools-12-1-1.6.0.25-1.x86_64 33/92 删除 : gds-tools-12-1-1.6.0.25-1.x86_64 33/92 删除 : cuda-cuobjdump-12-1-12.1.55-1.x86_64 34/92 删除 : cuda-cuxxfilt-12-1-12.1.55-1.x86_64 35/92 删除 : cuda-nvprune-12-1-12.1.55-1.x86_64 36/92 删除 : cuda-documentation-12-1-12.1.55-1.x86_64 37/92 删除 : libnvvm-samples-12-1-12.1.55-1.x86_64 38/92 删除 : cuda-demo-suite-12-1-12.1.55-1.x86_64 39/92 删除 : nvidia-driver-cuda-3:530.30.02-1.el8.x86_64 40/92 删除 : nvidia-settings-3:530.30.02-1.el8.x86_64 41/92 删除 : libnvjitlink-12-1-12.1.55-1.x86_64 42/92 运行脚本: libnvjitlink-12-1-12.1.55-1.x86_64 42/92 删除 : cuda-opencl-12-1-12.1.56-1.x86_64 43/92 运行脚本: cuda-opencl-12-1-12.1.56-1.x86_64 43/92 删除 : cuda-cudart-12-1-12.1.55-1.x86_64 44/92 运行脚本: cuda-cudart-12-1-12.1.55-1.x86_64 44/92 删除 : java-1.8.0-openjdk-1:1.8.0.452.b09-2.el8.x86_64 45/92 运行脚本: java-1.8.0-openjdk-1:1.8.0.452.b09-2.el8.x86_64 45/92 删除 : xorg-x11-fonts-Type1-7.5-19.el8.noarch 46/92 运行脚本: xorg-x11-fonts-Type1-7.5-19.el8.noarch 46/92 删除 : nvidia-driver-NvFBCOpenGL-3:530.30.02-1.el8.x86_64 47/92 运行脚本: nvidia-driver-NvFBCOpenGL-3:530.30.02-1.el8.x86_64 47/92 删除 : nvidia-driver-cuda-libs-3:530.30.02-1.el8.x86_64 48/92 运行脚本: nvidia-driver-cuda-libs-3:530.30.02-1.el8.x86_64 48/92 删除 : nvidia-modprobe-3:530.30.02-1.el8.x86_64 49/92 删除 : nvidia-xconfig-3:530.30.02-1.el8.x86_64 50/92 运行脚本: nvidia-driver-3:530.30.02-1.el8.x86_64 51/92 删除 : nvidia-driver-3:530.30.02-1.el8.x86_64 51/92 运行脚本: nvidia-driver-3:530.30.02-1.el8.x86_64 51/92 运行脚本: kmod-nvidia-latest-dkms-3:530.30.02-1.el8.x86_64 52/92 删除 : kmod-nvidia-latest-dkms-3:530.30.02-1.el8.x86_64 52/92 运行脚本: nvidia-kmod-common-3:530.30.02-1.el8.noarch 53/92 删除 : nvidia-kmod-common-3:530.30.02-1.el8.noarch 53/92 运行脚本: nvidia-kmod-common-3:530.30.02-1.el8.noarch 53/92 删除 : nvidia-driver-libs-3:530.30.02-1.el8.x86_64 54/92 运行脚本: nvidia-driver-libs-3:530.30.02-1.el8.x86_64 54/92 删除 : mesa-vulkan-drivers-23.1.4-4.el8_10.x86_64 55/92 删除 : vulkan-loader-1.3.283.0-1.el8_10.x86_64 56/92 删除 : cuda-nvrtc-devel-12-1-12.1.55-1.x86_64 57/92 删除 : libcublas-devel-12-1-12.1.0.26-1.x86_64 58/92 删除 : libcublas-12-1-12.1.0.26-1.x86_64 59/92 运行脚本: libcublas-12-1-12.1.0.26-1.x86_64 59/92 删除 : libcufft-devel-12-1-11.0.2.4-1.x86_64 60/92 删除 : libcufft-12-1-11.0.2.4-1.x86_64 61/92 运行脚本: libcufft-12-1-11.0.2.4-1.x86_64 61/92 删除 : libcufile-devel-12-1-1.6.0.25-1.x86_64 62/92 运行脚本: libcufile-12-1-1.6.0.25-1.x86_64 63/92 删除 : libcufile-12-1-1.6.0.25-1.x86_64 63/92 运行脚本: libcufile-12-1-1.6.0.25-1.x86_64 63/92 删除 : libcurand-devel-12-1-10.3.2.56-1.x86_64 64/92 删除 : libcurand-12-1-10.3.2.56-1.x86_64 65/92 运行脚本: libcurand-12-1-10.3.2.56-1.x86_64 65/92 删除 : libcusolver-devel-12-1-11.4.4.55-1.x86_64 66/92 删除 : libcusolver-12-1-11.4.4.55-1.x86_64 67/92 运行脚本: libcusolver-12-1-11.4.4.55-1.x86_64 67/92 删除 : libcusparse-devel-12-1-12.0.2.55-1.x86_64 68/92 删除 : libcusparse-12-1-12.0.2.55-1.x86_64 69/92 运行脚本: libcusparse-12-1-12.0.2.55-1.x86_64 69/92 删除 : libnpp-devel-12-1-12.0.2.50-1.x86_64 70/92 删除 : libnpp-12-1-12.0.2.50-1.x86_64 71/92 运行脚本: libnpp-12-1-12.0.2.50-1.x86_64 71/92 删除 : libnvjpeg-devel-12-1-12.1.0.39-1.x86_64 72/92 删除 : dnf-plugin-nvidia-2.0-1.el8.noarch 73/92 删除 : opencl-filesystem-1.0-6.el8.noarch 74/92 删除 : libnvjpeg-12-1-12.1.0.39-1.x86_64 75/92 运行脚本: libnvjpeg-12-1-12.1.0.39-1.x86_64 75/92 删除 : cuda-toolkit-12-1-config-common-12.1.55-1.noarch 76/92 运行脚本: cuda-toolkit-12-1-config-common-12.1.55-1.noarch 76/92 删除 : cuda-toolkit-12-config-common-12.1.55-1.noarch 77/92 删除 : cuda-toolkit-config-common-12.1.55-1.noarch 78/92 删除 : cuda-nvrtc-12-1-12.1.55-1.x86_64 79/92 运行脚本: cuda-nvrtc-12-1-12.1.55-1.x86_64 79/92 删除 : egl-wayland-1.1.9-3.el8.x86_64 80/92 删除 : libglvnd-opengl-1:1.3.4-2.el8.x86_64 81/92 删除 : libvdpau-1.4-2.el8.x86_64 82/92 删除 : ttmkfdir-3.0.9-54.el8.x86_64 83/92 删除 : nvidia-libXNVCtrl-3:530.30.02-1.el8.x86_64 84/92 删除 : nvidia-driver-NVML-3:530.30.02-1.el8.x86_64 85/92 运行脚本: nvidia-driver-NVML-3:530.30.02-1.el8.x86_64 85/92 运行脚本: nvidia-persistenced-3:530.30.02-1.el8.x86_64 86/92 删除 : nvidia-persistenced-3:530.30.02-1.el8.x86_64 86/92 运行脚本: nvidia-persistenced-3:530.30.02-1.el8.x86_64 86/92 删除 : ocl-icd-2.2.12-1.el8.x86_64 87/92 运行脚本: ocl-icd-2.2.12-1.el8.x86_64 87/92 删除 : cuda-nvprof-12-1-12.1.55-1.x86_64 88/92 删除 : cuda-driver-devel-12-1-12.1.55-1.x86_64 89/92 删除 : cuda-cupti-12-1-12.1.62-1.x86_64 90/92 删除 : cuda-nvtx-12-1-12.1.66-1.x86_64 91/92 删除 : cuda-nvcc-12-1-12.1.66-1.x86_64 92/92 运行脚本: cuda-nvcc-12-1-12.1.66-1.x86_64 92/92 验证 : cuda-12.1.0-1.x86_64 1/92 验证 : cuda-12-1-12.1.0-1.x86_64 2/92 验证 : cuda-cccl-12-1-12.1.55-1.x86_64 3/92 验证 : cuda-command-line-tools-12-1-12.1.0-1.x86_64 4/92 验证 : cuda-compiler-12-1-12.1.0-1.x86_64 5/92 验证 : cuda-cudart-12-1-12.1.55-1.x86_64 6/92 验证 : cuda-cudart-devel-12-1-12.1.55-1.x86_64 7/92 验证 : cuda-cuobjdump-12-1-12.1.55-1.x86_64 8/92 验证 : cuda-cupti-12-1-12.1.62-1.x86_64 9/92 验证 : cuda-cuxxfilt-12-1-12.1.55-1.x86_64 10/92 验证 : cuda-demo-suite-12-1-12.1.55-1.x86_64 11/92 验证 : cuda-documentation-12-1-12.1.55-1.x86_64 12/92 验证 : cuda-driver-devel-12-1-12.1.55-1.x86_64 13/92 验证 : cuda-drivers-530.30.02-1.x86_64 14/92 验证 : cuda-gdb-12-1-12.1.55-1.x86_64 15/92 验证 : cuda-libraries-12-1-12.1.0-1.x86_64 16/92 验证 : cuda-libraries-devel-12-1-12.1.0-1.x86_64 17/92 验证 : cuda-nsight-12-1-12.1.55-1.x86_64 18/92 验证 : cuda-nsight-compute-12-1-12.1.0-1.x86_64 19/92 验证 : cuda-nsight-systems-12-1-12.1.0-1.x86_64 20/92 验证 : cuda-nvcc-12-1-12.1.66-1.x86_64 21/92 验证 : cuda-nvdisasm-12-1-12.1.55-1.x86_64 22/92 验证 : cuda-nvml-devel-12-1-12.1.55-1.x86_64 23/92 验证 : cuda-nvprof-12-1-12.1.55-1.x86_64 24/92 验证 : cuda-nvprune-12-1-12.1.55-1.x86_64 25/92 验证 : cuda-nvrtc-12-1-12.1.55-1.x86_64 26/92 验证 : cuda-nvrtc-devel-12-1-12.1.55-1.x86_64 27/92 验证 : cuda-nvtx-12-1-12.1.66-1.x86_64 28/92 验证 : cuda-nvvp-12-1-12.1.55-1.x86_64 29/92 验证 : cuda-opencl-12-1-12.1.56-1.x86_64 30/92 验证 : cuda-opencl-devel-12-1-12.1.56-1.x86_64 31/92 验证 : cuda-profiler-api-12-1-12.1.55-1.x86_64 32/92 验证 : cuda-runtime-12-1-12.1.0-1.x86_64 33/92 验证 : cuda-sanitizer-12-1-12.1.55-1.x86_64 34/92 验证 : cuda-toolkit-12-1-12.1.0-1.x86_64 35/92 验证 : cuda-toolkit-12-1-config-common-12.1.55-1.noarch 36/92 验证 : cuda-toolkit-12-config-common-12.1.55-1.noarch 37/92 验证 : cuda-toolkit-config-common-12.1.55-1.noarch 38/92 验证 : cuda-tools-12-1-12.1.0-1.x86_64 39/92 验证 : cuda-visual-tools-12-1-12.1.0-1.x86_64 40/92 验证 : dnf-plugin-nvidia-2.0-1.el8.noarch 41/92 验证 : egl-wayland-1.1.9-3.el8.x86_64 42/92 验证 : gds-tools-12-1-1.6.0.25-1.x86_64 43/92 验证 : java-1.8.0-openjdk-1:1.8.0.452.b09-2.el8.x86_64 44/92 验证 : kmod-nvidia-latest-dkms-3:530.30.02-1.el8.x86_64 45/92 验证 : libX11-devel-1.6.8-9.el8_10.x86_64 46/92 验证 : libXau-devel-1.0.9-3.el8.x86_64 47/92 验证 : libcublas-12-1-12.1.0.26-1.x86_64 48/92 验证 : libcublas-devel-12-1-12.1.0.26-1.x86_64 49/92 验证 : libcufft-12-1-11.0.2.4-1.x86_64 50/92 验证 : libcufft-devel-12-1-11.0.2.4-1.x86_64 51/92 验证 : libcufile-12-1-1.6.0.25-1.x86_64 52/92 验证 : libcufile-devel-12-1-1.6.0.25-1.x86_64 53/92 验证 : libcurand-12-1-10.3.2.56-1.x86_64 54/92 验证 : libcurand-devel-12-1-10.3.2.56-1.x86_64 55/92 验证 : libcusolver-12-1-11.4.4.55-1.x86_64 56/92 验证 : libcusolver-devel-12-1-11.4.4.55-1.x86_64 57/92 验证 : libcusparse-12-1-12.0.2.55-1.x86_64 58/92 验证 : libcusparse-devel-12-1-12.0.2.55-1.x86_64 59/92 验证 : libglvnd-opengl-1:1.3.4-2.el8.x86_64 60/92 验证 : libnpp-12-1-12.0.2.50-1.x86_64 61/92 验证 : libnpp-devel-12-1-12.0.2.50-1.x86_64 62/92 验证 : libnvjitlink-12-1-12.1.55-1.x86_64 63/92 验证 : libnvjitlink-devel-12-1-12.1.55-1.x86_64 64/92 验证 : libnvjpeg-12-1-12.1.0.39-1.x86_64 65/92 验证 : libnvjpeg-devel-12-1-12.1.0.39-1.x86_64 66/92 验证 : libnvvm-samples-12-1-12.1.55-1.x86_64 67/92 验证 : libvdpau-1.4-2.el8.x86_64 68/92 验证 : libxcb-devel-1.13.1-1.el8.x86_64 69/92 验证 : mesa-vulkan-drivers-23.1.4-4.el8_10.x86_64 70/92 验证 : nsight-compute-2023.1.0-2023.1.0.15-1.x86_64 71/92 验证 : nsight-systems-2023.1.2-2023.1.2.43_32377213v0-0.x86_64 72/92 验证 : nvidia-driver-3:530.30.02-1.el8.x86_64 73/92 验证 : nvidia-driver-NVML-3:530.30.02-1.el8.x86_64 74/92 验证 : nvidia-driver-NvFBCOpenGL-3:530.30.02-1.el8.x86_64 75/92 验证 : nvidia-driver-cuda-3:530.30.02-1.el8.x86_64 76/92 验证 : nvidia-driver-cuda-libs-3:530.30.02-1.el8.x86_64 77/92 验证 : nvidia-driver-devel-3:530.30.02-1.el8.x86_64 78/92 验证 : nvidia-driver-libs-3:530.30.02-1.el8.x86_64 79/92 验证 : nvidia-kmod-common-3:530.30.02-1.el8.noarch 80/92 验证 : nvidia-libXNVCtrl-3:530.30.02-1.el8.x86_64 81/92 验证 : nvidia-libXNVCtrl-devel-3:530.30.02-1.el8.x86_64 82/92 验证 : nvidia-modprobe-3:530.30.02-1.el8.x86_64 83/92 验证 : nvidia-persistenced-3:530.30.02-1.el8.x86_64 84/92 验证 : nvidia-settings-3:530.30.02-1.el8.x86_64 85/92 验证 : nvidia-xconfig-3:530.30.02-1.el8.x86_64 86/92 验证 : ocl-icd-2.2.12-1.el8.x86_64 87/92 验证 : opencl-filesystem-1.0-6.el8.noarch 88/92 验证 : ttmkfdir-3.0.9-54.el8.x86_64 89/92 验证 : vulkan-loader-1.3.283.0-1.el8_10.x86_64 90/92 验证 : xorg-x11-fonts-Type1-7.5-19.el8.noarch 91/92 验证 : xorg-x11-proto-devel-2020.1-3.el8.noarch 92/92 已移除:cuda-12.1.0-1.x86_64 cuda-12-1-12.1.0-1.x86_64 cuda-cccl-12-1-12.1.55-1.x86_64 cuda-command-line-tools-12-1-12.1.0-1.x86_64 cuda-compiler-12-1-12.1.0-1.x86_64 cuda-cudart-12-1-12.1.55-1.x86_64 cuda-cudart-devel-12-1-12.1.55-1.x86_64 cuda-cuobjdump-12-1-12.1.55-1.x86_64 cuda-cupti-12-1-12.1.62-1.x86_64 cuda-cuxxfilt-12-1-12.1.55-1.x86_64 cuda-demo-suite-12-1-12.1.55-1.x86_64 cuda-documentation-12-1-12.1.55-1.x86_64 cuda-driver-devel-12-1-12.1.55-1.x86_64 cuda-drivers-530.30.02-1.x86_64 cuda-gdb-12-1-12.1.55-1.x86_64 cuda-libraries-12-1-12.1.0-1.x86_64 cuda-libraries-devel-12-1-12.1.0-1.x86_64 cuda-nsight-12-1-12.1.55-1.x86_64 cuda-nsight-compute-12-1-12.1.0-1.x86_64 cuda-nsight-systems-12-1-12.1.0-1.x86_64 cuda-nvcc-12-1-12.1.66-1.x86_64 cuda-nvdisasm-12-1-12.1.55-1.x86_64 cuda-nvml-devel-12-1-12.1.55-1.x86_64 cuda-nvprof-12-1-12.1.55-1.x86_64 cuda-nvprune-12-1-12.1.55-1.x86_64 cuda-nvrtc-12-1-12.1.55-1.x86_64 cuda-nvrtc-devel-12-1-12.1.55-1.x86_64 cuda-nvtx-12-1-12.1.66-1.x86_64 cuda-nvvp-12-1-12.1.55-1.x86_64 cuda-opencl-12-1-12.1.56-1.x86_64 cuda-opencl-devel-12-1-12.1.56-1.x86_64 cuda-profiler-api-12-1-12.1.55-1.x86_64 cuda-runtime-12-1-12.1.0-1.x86_64 cuda-sanitizer-12-1-12.1.55-1.x86_64 cuda-toolkit-12-1-12.1.0-1.x86_64 cuda-toolkit-12-1-config-common-12.1.55-1.noarch cuda-toolkit-12-config-common-12.1.55-1.noarch cuda-toolkit-config-common-12.1.55-1.noarch cuda-tools-12-1-12.1.0-1.x86_64 cuda-visual-tools-12-1-12.1.0-1.x86_64 dnf-plugin-nvidia-2.0-1.el8.noarch egl-wayland-1.1.9-3.el8.x86_64 gds-tools-12-1-1.6.0.25-1.x86_64 java-1.8.0-openjdk-1:1.8.0.452.b09-2.el8.x86_64 kmod-nvidia-latest-dkms-3:530.30.02-1.el8.x86_64 libX11-devel-1.6.8-9.el8_10.x86_64 libXau-devel-1.0.9-3.el8.x86_64 libcublas-12-1-12.1.0.26-1.x86_64 libcublas-devel-12-1-12.1.0.26-1.x86_64 libcufft-12-1-11.0.2.4-1.x86_64 libcufft-devel-12-1-11.0.2.4-1.x86_64 libcufile-12-1-1.6.0.25-1.x86_64 libcufile-devel-12-1-1.6.0.25-1.x86_64 libcurand-12-1-10.3.2.56-1.x86_64 libcurand-devel-12-1-10.3.2.56-1.x86_64 libcusolver-12-1-11.4.4.55-1.x86_64 libcusolver-devel-12-1-11.4.4.55-1.x86_64 libcusparse-12-1-12.0.2.55-1.x86_64 libcusparse-devel-12-1-12.0.2.55-1.x86_64 libglvnd-opengl-1:1.3.4-2.el8.x86_64 libnpp-12-1-12.0.2.50-1.x86_64 libnpp-devel-12-1-12.0.2.50-1.x86_64 libnvjitlink-12-1-12.1.55-1.x86_64 libnvjitlink-devel-12-1-12.1.55-1.x86_64 libnvjpeg-12-1-12.1.0.39-1.x86_64 libnvjpeg-devel-12-1-12.1.0.39-1.x86_64 libnvvm-samples-12-1-12.1.55-1.x86_64 libvdpau-1.4-2.el8.x86_64 libxcb-devel-1.13.1-1.el8.x86_64 mesa-vulkan-drivers-23.1.4-4.el8_10.x86_64 nsight-compute-2023.1.0-2023.1.0.15-1.x86_64 nsight-systems-2023.1.2-2023.1.2.43_32377213v0-0.x86_64 nvidia-driver-3:530.30.02-1.el8.x86_64 nvidia-driver-NVML-3:530.30.02-1.el8.x86_64 nvidia-driver-NvFBCOpenGL-3:530.30.02-1.el8.x86_64 nvidia-driver-cuda-3:530.30.02-1.el8.x86_64 nvidia-driver-cuda-libs-3:530.30.02-1.el8.x86_64 nvidia-driver-devel-3:530.30.02-1.el8.x86_64 nvidia-driver-libs-3:530.30.02-1.el8.x86_64 nvidia-kmod-common-3:530.30.02-1.el8.noarch nvidia-libXNVCtrl-3:530.30.02-1.el8.x86_64 nvidia-libXNVCtrl-devel-3:530.30.02-1.el8.x86_64 nvidia-modprobe-3:530.30.02-1.el8.x86_64 nvidia-persistenced-3:530.30.02-1.el8.x86_64 nvidia-settings-3:530.30.02-1.el8.x86_64 nvidia-xconfig-3:530.30.02-1.el8.x86_64 ocl-icd-2.2.12-1.el8.x86_64 opencl-filesystem-1.0-6.el8.noarch ttmkfdir-3.0.9-54.el8.x86_64 vulkan-loader-1.3.283.0-1.el8_10.x86_64 xorg-x11-fonts-Type1-7.5-19.el8.noarch xorg-x11-proto-devel-2020.1-3.el8.noarch 完毕!
1.1.8 检查删除干净没有
[xxx@localhost ~]# nnidia-smi
bash: nnidia-smi: 未找到命令...
[XAlab_F16_1@localhost ~]# nvidia-smi
-bash: /usr/bin/nvidia-smi: 没有那个文件或目录
1.1.9 检查和清理模块
使用rmmod卸载这些模块(在停止图形服务后操作)。
[xxx@localhost ~]# systemctl stop gdm
[xxx@localhost ~]# lsmod | grep nvidia
nvidia_uvm 1429504 0
nvidia_drm 73728 6
nvidia_modeset 1269760 3 nvidia_drm
nvidia 55697408 315 nvidia_uvm,nvidia_modeset
drm_kms_helper 176128 4 drm_vram_helper,ast,nvidia_drm
drm 565248 15 drm_kms_helper,drm_vram_helper,ast,nvidia,drm_ttm_helper,nvidia_drm,ttm
在尝试卸载NVIDIA内核模块时,你收到"模块正在使用"的错误,这表明某些进程或服务当前依赖于这些模块。为了安全卸载这些模块,通常需要先停止正在使用这些模块的进程或服务。
[xxx@localhost ~]# rmmod nvidia_drm nvidia_modeset nvidia_uvm nvidia
rmmod: ERROR: Module nvidia_drm is in use
rmmod: ERROR: Module nvidia_modeset is in use by: nvidia_drm
rmmod: ERROR: Module nvidia is in use by: nvidia_modeset
再次尝试卸载NVIDIA模块: 在停止相关服务和进程后,尝试再次卸载模块。如果仍然遇到问题,确保所有与NVIDIA相关的进程都已终止。lsmod | grep nvidia
如果无输出,说明所有模块已成功卸载。
[xxx@localhost ~]# rmmod nvidia_drm nvidia_modeset nvidia_uvm nvidia
rmmod: ERROR: Module nvidia_uvm is not currently loaded
[xxx@localhost ~]# rmmod nvidia_drm
rmmod: ERROR: Module nvidia_drm is not currently loaded
[xxx@localhost ~]# rmmod nvidia_modeset
rmmod: ERROR: Module nvidia_modeset is not currently loaded
[xxx@localhost ~]# rmmod nvidia
rmmod: ERROR: Module nvidia is not currently loaded
[xxx@localhost ~]# lsmod | grep nvidia
查找并终止使用NVIDIA模块的进程: 首先找到哪些进程正在使用这些模块,并终止它们。这将列出所有正在使用 /dev/nvidia* 设备节点的进程。你可以使用 kill 命令终止这些进程。kill <process_id>
(其实终止图形服务下面的gdm任务也就停了,如果你还有其他相关任务请留意)
[xxx@localhost ~]# fuser -v /dev/nvidia*用户 进程号 权限 命令
/dev/nvidia0: xxx 6436 F...m Xorggdm 8528 F...m gnome-shell
/dev/nvidia1: xxx 6436 F...m Xorggdm 8528 F...m gnome-shell
/dev/nvidiactl: xxx 6436 F...m Xorggdm 8528 F...m gnome-shell
/dev/nvidia-modeset: xxx 6436 F.... Xorggdm 8528 F.... gnome-shell
如果某些模块仍然不能卸载,可能需要:
(1) 进一步终止可能依赖模块的进程:
使用fuser和ps命令找出并终止可能使用这些模块的任何残留进程。
(2) 强制重启图形环境或关机重启:
确保所有依赖模块的服务已关闭然后重启系统。
如果你在文本模式下重启图形界面或系统,有可能彻底卸载这些模块。
卸载与NVIDIA相关的软件包
在RHEL/CentOS,列出所有NVIDIA相关软件包,如果列表中没有相关的NVIDIA软件包或数量极少,则可能已卸载掉。
[xxx@localhost ~]# rpm -qa | grep nvidia
pcp-pmda-nvidia-gpu-5.3.7-22.el8_10.x86_64
[xxx@localhost ~]# rpm -e pcp-pmda-nvidia-gpu
检查库文件:查看存放共享库的目录,由于/usr/lib/nvidia-*路径通常包含了NVIDIA的库文件,你可以检查该目录是否已经被清空或被删除。
[xxx@localhost ~]# ls /usr/lib/nvidia-*
ls: 无法访问'/usr/lib/nvidia-*': 没有那个文件或目录
检查X11配置:查阅/etc/X11/xorg.conf文件,确保已移除指定使用NVIDIA驱动的配置。
[xxx@localhost ~]# vi /etc/X11/xorg.conf
更新系统的initramfs,确保在移除内核模块和清理软件包后,更新initramfs以便下次启动时不会加载这些模块:
[xxx@localhost ~]# dracut --force
dracut 是一个用于生成 Linux initramfs(initial RAM filesystem)的命令行工具。在 Linux 系统启动过程中,initramfs 起到非常重要的作用,它是在硬盘上的操作系统未加载之前用于载入内核模块和启动环境的重要组成部分。
dracut --force 的作用:dracut --force 命令用于强制重新生成 initramfs。具体作用如下:
(1) 重新构建 initramfs:
dracut 会使用当前系统环境和配置来重建 initramfs 文件。这包含所有基本的内核模块、驱动程序和文件系统支持。强制重建确保了即使在之前的生成中有错误或遗漏,也能取得一个干净更新的initramfs。
(2) 应用最新的系统变更:
当系统内核、驱动程序或硬件配置发生变化时,通常需要重新生成 initramfs 以确保这些变更在下次启动时被正确应用。例如,安装或卸载内核模块、硬件配置的改变(如磁盘的设备名称改变)等情况就需要更新 initramfs。
(3) 修复可能的启动问题:
在某些情况下,如果系统无法正常启动,重建一个新的 initramfs 可以解决由于损坏或不兼容的 initramfs 文件而导致的启动问题。
(4) 移除或添加特定模块:
当模块发生改变,或者在处理与显卡驱动相关的问题时(如切换禁用 Nouveau 或重新安装 NVIDIA 驱动),更新 initramfs 能确保正确的模块被加载。
总结:使用 dracut --force 对系统 initramfs 进行强制更新在转换驱动、升级内核或遇到启动问题进行故障排除时尤其有用。通过确保 initramfs 包含最新配置和模块,系统可以成功加载必要的驱动并顺利启动。
除此之外:(如果需要)
手动移除NVIDIA文件:
手动查找并删除与NVIDIA相关的库和文件,通常会在以下目录:
/usr/local/cuda
/usr/lib/nvidia-current
/etc/modprobe.d/nvidia-*
/etc/X11/xorg.conf(如果已创建它来指定NVIDIA驱动)
系统重启(其实我并没有重启,不过最好还是重启一下)
在尝试这些操作后,重启通常是确保系统正确配置的有效方法:
sudo reboot
通过上述过程进一步检查和卸载模块,以确保系统是处于干净状态,如果还是遇到不能卸载的问题,查看系统日志可能提供更多线索:
journalctl -xe
日志记录中可能会有已经阻止模块卸载的具体进程甚至服务提示。为确保系统良好运行环境,你可以通过阅读日志以了解更多详细的信息。
1.1.10 下载合适的驱动版本:
从NVIDIA官网获取与你显卡和系统版本匹配的最新驱动。!!!
1.1.11 设置执行权限并安装:
chmod +x NVIDIA-Linux-x86_64-XXX.XX.run
sudo ./NVIDIA-Linux-x86_64-XXX.XX.run
安装过程中会遇到一些问题,能跳过就跳过,能yes直接yes就行
WARNING: This NVIDIA driver package includes Vulkan components, but no Vulkan ICD loader was detected on this system. The NVIDIA Vulkan ICD will not function without the loader. Most distributions package the Vulkan loader; try installing the "vulkan-loader", "vulkan-icd-loader", or "libvulkan1" package.
警告:此NVIDIA驱动程序包包含Vulkan组件,但当前系统未检测到Vulkan ICD加载器。若没有加载器,NVIDIA Vulkan ICD将无法工作。大多数Linux发行版都会提供Vulkan加载器包,请尝试安装"vulkan-loader"、"vulkan-icd-loader"或"libvulkan1"软件包。
该警告信息表明:
背景:NVIDIA显卡驱动程序中包含支持Vulkan API的组件
问题:系统缺少关键组件 - Vulkan ICD加载器(Installable Client Driver loader)
后果:没有这个加载器,NVIDIA的Vulkan驱动将无法正常工作
解决方案建议:
不同Linux发行版中这个加载器可能有不同的包名称
推荐安装三个可能的包之一(不同发行版可能使用不同名称)
技术说明:
Vulkan:新一代跨平台图形API
ICD加载器:负责管理多个Vulkan驱动的核心组件
典型应用场景:在Linux系统安装NVIDIA驱动时出现,需要额外安装依赖项才能启用Vulkan支持
Would you like to register the kernel module sources with DKMS? This will allow DKMS to automatically build a new module, if your kernel changes later.
您希望向 DKMS 注册内核模块源码吗?这样,如果以后您的内核发生更改,DKMS 将能自动构建新模块。
解释:
背景:
DKMS(Dynamic Kernel Module Support) 是 Linux 的一个框架,用于在系统内核升级时自动重新编译和安装第三方内核模块(如显卡驱动、虚拟化工具等)。
此提示通常在安装 NVIDIA 驱动或其他需要内核模块的软件时出现。
问题核心:
如果选择 注册,则 DKMS 会跟踪该模块的源码,并在未来内核更新后自动重新编译适配,确保驱动持续可用。
如果选择 不注册,则内核升级后可能需要手动重新安装驱动。
建议:
推荐注册(除非有特殊需求),以避免因内核升级导致驱动失效,需手动修复。
例如,Linux 系统在更新内核后,NVIDIA 驱动若未通过 DKMS 管理,可能会无法加载,导致图形界面异常。
技术说明:
内核模块(Kernel Module):动态加载到内核的驱动程序(如 nvidia.ko)。
DKMS 作用:维护模块源码与内核版本的兼容性,自动化编译流程。
WARNING: Unable to determine the path to install the libglvnd EGL vendor library config files. Check that you have pkg-config and the libglvnd development libraries installed, or specify a path with --glvnd-egl-config-path.
警告:无法确定安装 libglvnd EGL 供应商库配置文件的路径。请检查是否已安装 pkg-config 和 libglvnd 开发库,或使用 --glvnd-egl-config-path 参数手动指定路径。
(1)背景:libglvnd(GL Vendor-Neutral Dispatch)是 Linux 上的一个 OpenGL/EGL 库,用于管理不同 GPU 厂商(如 NVIDIA、AMD、Intel)的图形驱动兼容性。EGL 是用于图形渲染和显示管理的接口,常用于 Wayland、X11 和嵌入式系统。在安装 NVIDIA 驱动或其他 GPU 相关软件时,系统需要正确配置 libglvnd 的 EGL 配置文件,以确保 GPU 驱动能正常工作。
(2)问题原因:系统缺少 pkg-config(用于查找库和头文件的工具)或 libglvnd 开发库(libglvnd-dev 或 libglvnd-devel,具体名称取决于 Linux 发行版)。或者,安装程序无法自动检测 EGL 配置文件的安装路径(通常位于 /usr/share/glvnd/egl_vendor.d/ 或类似目录)。
(3)解决方案:
方法 1:安装依赖项(适用于大多数情况):
# Debian/Ubuntu
sudo apt install pkg-config libglvnd-dev
# RHEL/CentOS/Fedora
sudo dnf install pkgconfig libglvnd-devel
# Arch Linux
sudo pacman -S pkg-config libglvnd
方法 2:手动指定路径(如果依赖已安装但仍报错):
在安装命令后添加 --glvnd-egl-config-path=/usr/share/glvnd/egl_vendor.d/(具体路径可能因系统而异)。
(4)影响:如果忽略此问题,NVIDIA 驱动的 EGL 支持可能无法正常工作,导致某些图形应用(如 Wayland 会话、Vulkan/OpenGL 程序)运行异常。
(5)技术说明:
pkg-config:帮助构建工具查找库的路径和编译选项。
libglvnd:使多个 GPU 驱动(如 NVIDIA + Intel 核显)能在同一系统共存并正确切换。
EGL 配置文件:告诉系统如何加载不同厂商的 EGL 实现(如 10_nvidia.json 对应 NVIDIA 驱动)。
总结:此警告表示 NVIDIA 安装程序无法自动配置 EGL,需检查 pkg-config 和 libglvnd 开发库是否安装,或手动指定路径。修复后,GPU 的 OpenGL/EGL 支持才能正常运作。
[xxx@localhost ~]# ./NVIDIA-Linux-x86_64-570.124.06.run --extract-only
-bash: ./NVIDIA-Linux-x86_64-570.124.06.run: 权限不够
[xxx@localhost ~]# sha256sum NVIDIA-Linux-x86_64-570.124.06.run
1818c90657d17e510de9fa032385ff7e99063e848e901cb4636ee71c8b339313 NVIDIA-Linux-x86_64-570.124.06.run
[xxx@localhost ~]# sudo -l
匹配 %2$s 上 %1$s 的默认条目:!visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANGLC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS_XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin用户 xxx 可以在 localhost 上运行以下命令:(ALL) ALL
[xxx@localhost ~]# chmod +x NVIDIA-Linux-x86_64-570.124.06.run
[xxx@localhost ~]# ./NVIDIA-Linux-x86_64-570.124.06.run --extract-only
Creating directory NVIDIA-Linux-x86_64-570.124.06
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 570.124.06.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
安装驱动:NVIDIA-Linux-x86_64-570.124.06.run
[xxx@localhost ~]# ./NVIDIA-Linux-x86_64-570.124.06.run --dkms --no-x-check
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 570.124.06.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
[xxx@localhost ~]# nvidia-smi
Fri May 30 10:19:58 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 570.124.06 Driver Version: 570.124.06 CUDA Version: 12.8 |
|-----------------------------------------+------------------------+----------------------+
| 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 NVIDIA H100 PCIe Off | 00000000:41:00.0 Off | 0 |
| N/A 43C P0 83W / 350W | 1MiB / 81559MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
| 1 NVIDIA H100 PCIe Off | 00000000:61:00.0 Off | 0 |
| N/A 45C P0 88W / 350W | 1MiB / 81559MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------++-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+
2. 获取alphafold3源代码与运行环境准备
2.1 git资源获得
git clone https://github.com/google-deepmind/alphafold3.git
2.2 下载数据库
cd alphafold3 && mkdir databases
bash ./fetch_databases.sh databases
下载完成后,生成配体处理的pickle file:
build_data
2.3 alphafold3运行环境准备
中途遇到了一些问题,主要是由于我的GPU驱动版本相对于低了跟alphafold3所需的依赖不匹配导致的!!!
升级驱动后,按照正常步骤安装依赖就可以
2.3.1 conda 环境准备
conda create -n alphafold3 python=3.11
conda activate alphafold3
2.3.2 pip 安装依赖
使用conda安装支持的GCC版本:
conda install gxx_linux-64 gxx_impl_linux-64 gcc_linux-64 gcc_impl_linux-64=12.4.0 -c conda-forge
pip install -r dev-requirements.txt
对于pip安装失败的包,使用pip补充安装
pip install pint pydantic msgpack qcelemental optking matplotlib edgembar joblib ndfes
2.3.3 源码安装部分
mkdir hmmer_build hmmer
wget http://eddylab.org/software/hmmer/hmmer-3.4.tar.gz --directory-prefix ./hmmer_build
cd hmmer_build
tar zxf ./hmmer_build/hmmer-3.4.tar.gz
cd hmmer-3.4
./configure --prefix ../../hmmer
make -j8
make install
cd easel && make install
将安装位置加入PATH:
export PATH=path/to/hmmer/bin/:$PATH
参考:
(1)AlphaFold v3.0.1 conda版本详细安装与使用
(2)正确解决libstdc++.so.6: version `GLIBCXX_3.4.26‘ not found问题(出现这个问题我的原因是因为cuda版本不匹配导致的,我升级了驱动,升级后的驱动与之匹配的cuda版本更新,cuda对以往的版本是兼容的,所以conda在alphafold3环境安装的cuda可以使用了。)
(3)jaxlib.xla_extension.XlaRuntimeError: FAILED_PRECONDITION: DNN library initialization failed #15361(出现这个问题我的原因是因为cuda版本与jax版本不匹配导致的,解决方法如上,其实解决了首要问题,比如我的驱动版本和cuda版本问题,一些问题也跟着解决了。)
(4)JAX: 库安装和GPU使用,解决不能识别gpu问题
(5)jaxlib.xla_extension.XlaRuntimeError:FAILED_PRECONDITION: No visible GPU devices. #352(我把这个问题的链接放在这里,以防有的朋友不是因为跟我一样的问题导致的错误)
这里有一个命令可以看看jax能否识别GPU,如果识别不了,我的问题出在版本问题
(5)jaxlib.xla_extension.XlaRuntimeError: FAILED_PRECONDITION: DNN library initialization failed #15361
python -c "import jax; print(jax.devices())"
[gpu(id=0), gpu(id=1)]
(6)how to detect if GPU is being used? (feature request) #971
(7)“CUDA_ERROR_NOT_FOUND: named symbol not found” in Docker container #68711
(8)Pytorch Cuda returns Error 500: named symbol not found
(9)cudaErrorSymbolNotFound : named symbol not found #24749
3. 模型参数获取
我是用的自己的谷歌账号申请的参数af3.bin.zst
4. 安装alphafold3
不要忘记,否则程序会说你什么什么文件没有!!!
build_data
从当前目录安装 AlphaFold3 包,--no-deps
但不自动安装它的依赖,使用--verbose
输出更详细的日志信息
pip install . --no-deps --verbose
参考
(1)chemical_component_sets.pickle error #222
(2)conda installation fails on manjaro because of libcifpp,also a brief conda installation guide. #49
(3)AlphaFold3使用conda安装
(4)alphafold3本地部署(不使用docker)
(5)通过conda安装AlphaFold3
(6)Not succesful excecution Alphafold3 #405
(7)使用虚拟环境conda安装不同版本(指定版本)的cuda,cudnn,pytorch
(8)Nvidia-smi简介及常用指令及其参数说明
(9)AlphaFold3中文使用说明
(10)AlphaFold3中文安装教程
完整数据库的下载总大小 ~252 GB,解压缩后的总大小为 ~630 GB。请确保有足够的硬盘空间、带宽和时间进行下载。建议使用固态硬盘,以获得更好的基因搜索性能和更快的运行速度。建议在screen或tmux会话中运行,因为下载和解压数据需要一些时间。
(11)alphafold安装及使用(保姆级教程、conda环境)
(12)AlphaFold 3 安装与使用(根据已经构建好的Docker容器来构建 singularity 镜像)
(13)JAX: 库安装和GPU使用,解决不能识别gpu问题
(14)通过conda安装AlphaFold 3的经验与技巧