在项目中评估NVIDIA-Ubuntu-Driver-Guide,可以先看清用途边界:帮助您在 Ubuntu 系统上安装和管理 NVIDIA GPU 驱动程序的小指南。把它放到日常自动化流程中,最容易暴露的是输入边界、依赖和失败处理如果不清楚就很难稳定复用,不能只看演示是否顺利。我的评估方法是用一项范围明确的真实任务完成最小试跑,然后检查配置时间、输出质量、异常信息和维护痕迹是否与文档一致。编辑判断上,愿意先做小范围验证并复查原始文档的团队可以优先研究它;其他团队不必为了热门标签勉强接入。
NVIDIA Ubuntu 驱动指南
帮助您在 Ubuntu 系统上安装和管理 NVIDIA GPU 驱动程序的小指南
当我编写本指南时,我个人使用的是 Ubuntu 24.04.1,所以这主要是本指南适用的内容(尽管我相信它应该在较新的版本上正常工作,并且在不是很旧的旧版本 [something like Ubuntu 20.04+] 上也应该可以正常工作)
内容索引
⚠ Warning
请仔细遵循并阅读本指南的每个部分,以避免出现任何问题。
如果系统在任何重新启动步骤中看起来卡住,也不必担心。其实并没有卡住!重新启动最多需要 2 分钟才能完成。
驱动安装
⭐ 通过 graphics-drivers PPA 存储库安装 [RECOMMENDED]
这种安装方法是推荐的方法,它实际上是我用来在自己的系统上维护驱动程序安装的方法。
sudo apt-get remove --purge '^nvidia-.*'
sudo apt autoremove
sudo apt install ubuntu-drivers-common -y
reboot
.run 文件)安装的任何 Nvidia 驱动程序: 驱动程序卸载sudo apt install pkg-config libglvnd-dev dkms build-essential libegl-dev libegl1 libgl-dev libgl1 libgles-dev libgles1 libglvnd-core-dev libglx-dev libopengl-dev gcc make
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-driver-570
reboot
NOTE:在本指南上次更新时,570 是存储库中可用的驱动程序的最新测试版本。
导航到 https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa 检查驱动程序的最新版本是什么,然后将 driver-570 部分替换为您要安装的版本。
nvidia-smi 以确认驱动程序已安装且没有任何问题。通过 Nvidia.com 网站上的官方 NVIDIA 安装程序进行安装
此过程更高级,通常不推荐。不过,只要你耐心仔细地完成每一步,就一定会顺利的:)
确保您已卸载任何以前安装的 NVIDIA 驱动程序:
sudo apt-get remove --purge '^nvidia-.*'
sudo apt purge libnvidia-*
sudo apt autoremove
sudo apt install ubuntu-drivers-common -y
reboot
.run 文件)安装的任何 Nvidia 驱动程序: 驱动程序卸载确保您没有手动安装的 libnvidia-egl-wayland1 版本(特别是如果您要安装 555+ 版本的 Nvidia 驱动程序)。驱动程序已包含它,如@ https://us.download.nvidia.com/XFree86/Linux-x86_64/555.42.02/README/installedcomponents.html所述
sudo apt remove libnvidia-egl-wayland1
sudo apt install pkg-config libglvnd-dev dkms build-essential libegl-dev libegl1 libgl-dev libgl1 libgles-dev libgles1 libglvnd-core-dev libglx-dev libopengl-dev gcc make
导航到 https://www.nvidia.com/Download/index.aspx?lang=en-us 并下载适合您的 GPU 和 Linux 架构的驱动程序。该网站应该为您提供一个以 .run 文件扩展名结尾的文件。
按 Ctrl + Alt + F3 切换到系统的终端视图(如果这不能从 GUI 模式切换到终端模式,请尝试使用 Ctrl + Alt + F1 或 Ctrl + Alt + F2 来代替不同的 tty)
停止GDM服务:
sudo systemctl stop gdm
sudo systemctl stop gdm3
如果这对您来说失败,请尝试 sudo systemctl stop lightdm。
请注意,在整个驱动程序 installation/uninstallation 进程中停止 GNOME 显示管理器 (GDM) 服务非常重要,否则可能会导致问题。
使用 cd 更改为包含下载的 .run 文件的目录路径
运行安装程序:
chmod +x NVIDIA-Linux-x86_64-555.42.02.run
sudo sh ./NVIDIA-Linux-x86_64-555.42.02.run
(确保将文件名替换为您从 Nvidia 网站获得的实际文件名)
安装程序将指导您完成一切。请仔细阅读所有内容,并根据相应情况回答提示,以避免出现任何问题。
NOTE:如果安装程序要求您禁用Nouveau,请允许安装程序为您禁用它。此后您可能需要中止安装程序,然后运行 sudo update-initramfs -u && reboot,然后在系统完成重新启动后从步骤 5 重新开始。
安装程序完成驱动程序安装后,运行 sudo update-initramfs -u 来更新 initramfs。
使用 sudo nano /etc/default/grub 编辑 /etc/default/grub
在 GRUB_CMDLINE_LINUX 中添加 nvidia-drm.modeset=1 和 nvidia-drm.fbdev=1 (i.e.GRUB_CMDLINE_LINUX="nvidia-drm.modeset=1 nvidia-drm.fbdev=1")
运行sudo update-grub
重新启动系统
系统启动后,您新安装的驱动程序应该已启动并运行(您可以运行 nvidia-smi 进行确认)。
驱动程序卸载
通过 graphics-drivers PPA 存储库安装时卸载驱动程序
运行:
sudo apt-get remove --purge '^nvidia-.*'
sudo apt autoremove
sudo apt install ubuntu-drivers-common -y
reboot
通过 Nvidia.com 网站上的官方 NVIDIA 安装程序安装时卸载驱动程序
sudo rm -rf /lib/modprobe.d/nvidia-installer-*
sudo rm -rf /etc/modprobe.d/nvidia-installer-*
sudo rm -rf /usr/lib/modprobe.d/nvidia-installer-*
/etc/default/grub 文件中删除与 NVIDIA 驱动程序(nvidia-drm.modeset、nvidia-drm.fbdev 等)相关的任何条目。 (这很重要)。sudo update-grub 重建 GRUB 配置sudo nvidia-installer --uninstall
sudo update-initramfs -u
安装 NVIDIA 驱动程序后遇到的问题以及解决方法
GNOME 显示设置上有一个幽灵“未知显示”(特别是如果您遵循 graphics-drivers PPA 存储库安装过程)。
这似乎是 https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-535/+bug/2063222 报告的错误
解决方法是:
[ Workaround ]
1. sudo rm /dev/dri/card0
2. Log in again.
Wayland 未在登录屏幕上显示为选项(或者登录屏幕的齿轮图标根本不显示)
sudo nano /etc/gdm3/custom.conf 编辑 /etc/gdm3/custom.conf 文件WaylandEnable=true 并确保其未注释(不以 # 开头)sudo ln -s /dev/null /etc/udev/rules.d/61-gdm.rulesWayland 上的体验不是最流畅(修复 Wayland 问题)
发生这种情况的原因有很多。一段时间以来,NVIDIA 已知与 Wayland 窗口系统存在问题。然而,NVIDIA 一直在努力改善这一点。 实际上,从 NVIDIA 驱动程序 555.42.02 开始,这已经变得更好了,该驱动程序添加了 显式同步 支持。
所以首先,请确保:
然后继续阅读以下内容,让体验更加顺畅:
您的系统可能在 Wayland 会话上使用 Mesa 驱动程序而不是 NVIDIA 驱动程序。您可以通过输入“glxinfo”来确认这一点 | egrep "OpenGL 供应商|OpenGL 渲染器*"`
为了解决这个问题:
sudo nano /etc/default/grub 编辑 /etc/default/grubGRUB_CMDLINE_LINUX 中添加 nvidia-drm.modeset=1 和 nvidia-drm.fbdev=1 (i.e.GRUB_CMDLINE_LINUX="nvidia-drm.modeset=1 nvidia-drm.fbdev=1")sudo update-grub您可能启用了 Nvidia 的 GSP 固件,已知这会导致驱动程序 beta 555.42.02 版本出现一些性能问题。也许这个问题将来会得到解决,但现在,如果需要,我们可以禁用 GSP 固件。
您可以通过输入“nvidia-smi -q”来检查 GSP 固件是否启用 | grep "GSP Firmware"— if it saysN/A` 则固件未启用。否则(它显示 GSP 固件的版本),则固件已启用。
要禁用 GSP 固件,请按照以下步骤操作:
sudo nano /etc/default/grub 编辑 /etc/default/grubnvidia.NVreg_EnableGpuFirmware=0 添加到您的 GRUB_CMDLINE_LINUX 中sudo update-grub有关此问题的更多信息,请参阅 https://forums.developer.nvidia.com/t/major-kde-plasma-desktop-frameskip-lag-issues-on-driver-555/293606。
您可能缺少 libnvidia-egl-wayland1 软件包(通常推荐)。尝试使用 sudo apt install libnvidia-egl-wayland1 安装软件包(如果您安装了 555+ 版本的 Nvidia 驱动程序,请不要执行此操作,因为驱动程序安装程序已经为您安装了它。PPA 存储库软件包也会默认安装它。)。
对于 Google Chrome(以及一般基于 Chromium 的浏览器),您可能需要将“首选 Ozone 平台”标志切换为“Wayland”或“自动”。请按照以下步骤应用此操作:
对于某些 Electron 应用程序,您可能需要传递与我们上面相同的 Ozone 平台标志。例如 Visual Studio Code 的 code --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform-hint=auto
您可能没有启用保留视频内存分配模块参数,这可能会导致问题,特别是在挂起和恢复系统时,通常表现为图形伪影或桌面环境损坏。
您可以通过输入“sudo cat /proc/driver/nvidia/params”来检查模块参数是否启用 | grep "PreserveVideoMemoryAllocations". If the value is 0` 或缺失,则该参数未启用。
要启用保留视频内存分配模块参数,请按照以下步骤操作:
sudo nano /etc/default/grub 编辑 /etc/default/grubnvidia.NVreg_PreserveVideoMemoryAllocations=1 添加到您的 GRUB_CMDLINE_LINUX 中sudo update-grubsudo cat /proc/driver/nvidia/params | grep "PreserveVideoMemoryAllocations" 验证现在设置参数如果启用此模块参数后仍然遇到 suspend/resume 问题,您可能需要查看 Nvidia 的 电源管理文档,以仔细检查相关的 systemd 服务是否已安装并启用。
参考