一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

NVIDIA-Ubuntu-Driver-Guide:实践指南

时间:2026-09-10 20:38:01 编辑:袖梨 来源:一聚教程网

在项目中评估NVIDIA-Ubuntu-Driver-Guide,可以先看清用途边界:帮助您在 Ubuntu 系统上安装和管理 NVIDIA GPU 驱动程序的小指南。把它放到日常自动化流程中,最容易暴露的是输入边界、依赖和失败处理如果不清楚就很难稳定复用,不能只看演示是否顺利。我的评估方法是用一项范围明确的真实任务完成最小试跑,然后检查配置时间、输出质量、异常信息和维护痕迹是否与文档一致。编辑判断上,愿意先做小范围验证并复查原始文档的团队可以优先研究它;其他团队不必为了热门标签勉强接入。

NVIDIA Ubuntu 驱动指南

帮助您在 Ubuntu 系统上安装和管理 NVIDIA GPU 驱动程序的小指南

当我编写本指南时,我个人使用的是 Ubuntu 24.04.1,所以这主要是本指南适用的内容(尽管我相信它应该在较新的版本上正常工作,并且在不是很旧的旧版本 [something like Ubuntu 20.04+] 上也应该可以正常工作)

内容索引

  • 驱动安装
    • ⭐ 通过图形驱动程序 PPA 存储库 [RECOMMENDED]
    • 通过 Nvidia.com 网站上的官方 NVIDIA 安装程序
  • 驱动程序卸载
    • 通过图形驱动程序安装时 PPA 存储库
    • 通过 Nvidia.com 网站上的官方 NVIDIA 安装程序安装时
  • 安装 NVIDIA 驱动程序后遇到的问题以及如何解决这些问题
    • 修复重影“未知显示”问题
    • Wayland 在登录屏幕上不再可见 enabled/not
    • 修复 Wayland 问题(闪烁等)
  • 参考文献

⚠ Warning

请仔细遵循并阅读本指南的每个部分,以避免出现任何问题。

如果系统在任何重新启动步骤中看起来卡住,也不必担心。其实并没有卡住!重新启动最多需要 2 分钟才能完成。

驱动安装

⭐ 通过 graphics-drivers PPA 存储库安装 [RECOMMENDED]

这种安装方法是推荐的方法,它实际上是我用来在自己的系统上维护驱动程序安装的方法。

  1. 确保您已卸载任何以前安装的 NVIDIA 驱动程序:
    • 卸载从 APT 存储库安装的任何 Nvidia 驱动程序:
      sudo apt-get remove --purge '^nvidia-.*'
      sudo apt autoremove
      sudo apt install ubuntu-drivers-common -y
      reboot
      
    • 卸载使用官方 NVIDIA 安装程序(.run 文件)安装的任何 Nvidia 驱动程序: 驱动程序卸载
  2. 安装这些依赖项以确保 DKMS 支持和无问题的安装过程:
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 
  1. 添加存储库并安装驱动程序:
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 部分替换为您要安装的版本。

  1. 系统重新启动后,运行 nvidia-smi 以确认驱动程序已安装且没有任何问题。

通过 Nvidia.com 网站上的官方 NVIDIA 安装程序进行安装

此过程更高级,通常不推荐。不过,只要你耐心仔细地完成每一步,就一定会顺利的:)

  1. 确保您已卸载任何以前安装的 NVIDIA 驱动程序:

    • 卸载从 APT 存储库安装的任何 Nvidia 驱动程序:
      sudo apt-get remove --purge '^nvidia-.*'
      sudo apt purge libnvidia-*
      sudo apt autoremove
      sudo apt install ubuntu-drivers-common -y
      reboot
      
    • 卸载使用官方 NVIDIA 安装程序(.run 文件)安装的任何 Nvidia 驱动程序: 驱动程序卸载
  2. 确保您没有手动安装的 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
  1. 安装所需的依赖项:
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 
  1. 导航到 https://www.nvidia.com/Download/index.aspx?lang=en-us 并下载适合您的 GPU 和 Linux 架构的驱动程序。该网站应该为您提供一个以 .run 文件扩展名结尾的文件。

  2. Ctrl + Alt + F3 切换到系统的终端视图(如果这不能从 GUI 模式切换到终端模式,请尝试使用 Ctrl + Alt + F1Ctrl + Alt + F2 来代替不同的 tty)

  3. 停止GDM服务:

sudo systemctl stop gdm
sudo systemctl stop gdm3

如果这对您来说失败,请尝试 sudo systemctl stop lightdm

请注意,在整个驱动程序 installation/uninstallation 进程中停止 GNOME 显示管理器 (GDM) 服务非常重要,否则可能会导致问题。

  1. 使用 cd 更改为包含下载的 .run 文件的目录路径

  2. 运行安装程序:

chmod +x NVIDIA-Linux-x86_64-555.42.02.run
sudo sh ./NVIDIA-Linux-x86_64-555.42.02.run

(确保将文件名替换为您从 Nvidia 网站获得的实际文件名)

  1. 安装程序将指导您完成一切。请仔细阅读所有内容,并根据相应情况回答提示,以避免出现任何问题。 NOTE:如果安装程序要求您禁用Nouveau,请允许安装程序为您禁用它。此后您可能需要中止安装程序,然后运行 sudo update-initramfs -u && reboot,然后在系统完成重新启动后从步骤 5 重新开始。

  2. 安装程序完成驱动程序安装后,运行 sudo update-initramfs -u 来更新 initramfs。

  3. 使用 sudo nano /etc/default/grub 编辑 /etc/default/grub

  4. GRUB_CMDLINE_LINUX 中添加 nvidia-drm.modeset=1nvidia-drm.fbdev=1 (i.e.GRUB_CMDLINE_LINUX="nvidia-drm.modeset=1 nvidia-drm.fbdev=1")

  5. 运行sudo update-grub

  6. 重新启动系统

  7. 系统启动后,您新安装的驱动程序应该已启动并运行(您可以运行 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 安装程序安装时卸载驱动程序

  1. 为了确保卸载 Nvidia 驱动程序后我们可以通过 Nouveau 驱动程序以图形方式启动系统,请删除安装程序之前可能创建的所有 Nouveau 黑名单条目:
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-*
  1. /etc/default/grub 文件中删除与 NVIDIA 驱动程序(nvidia-drm.modesetnvidia-drm.fbdev 等)相关的任何条目。 (这很重要)。
  2. 使用 sudo update-grub 重建 GRUB 配置
  3. 运行卸载程序:
sudo nvidia-installer --uninstall
  1. 重建系统 initramfs:
sudo update-initramfs -u
  1. 卸载过程完成后重新启动系统。

安装 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 未在登录屏幕上显示为选项(或者登录屏幕的齿轮图标根本不显示)

  1. 使用 sudo nano /etc/gdm3/custom.conf 编辑 /etc/gdm3/custom.conf 文件
  2. 确保在该文件中设置了 WaylandEnable=true 并确保其未注释(不以 # 开头)
  3. 运行sudo ln -s /dev/null /etc/udev/rules.d/61-gdm.rules
  4. 重新启动系统

Wayland 上的体验不是最流畅(修复 Wayland 问题)

发生这种情况的原因有很多。一段时间以来,NVIDIA 已知与 Wayland 窗口系统存在问题。然而,NVIDIA 一直在努力改善这一点。 实际上,从 NVIDIA 驱动程序 555.42.02 开始,这已经变得更好了,该驱动程序添加了 显式同步 支持。

所以首先,请确保:

  • 版本 555.42.02 或更高版本的 Nvidia 驱动程序
  • Ubuntu 安装上的 GNOME 46.1 或更高版本

然后继续阅读以下内容,让体验更加顺畅:

  • 您的系统可能在 Wayland 会话上使用 Mesa 驱动程序而不是 NVIDIA 驱动程序。您可以通过输入“glxinfo”来确认这一点 | egrep "OpenGL 供应商|OpenGL 渲染器*"`

    为了解决这个问题:

    1. 使用 sudo nano /etc/default/grub 编辑 /etc/default/grub
    2. GRUB_CMDLINE_LINUX 中添加 nvidia-drm.modeset=1nvidia-drm.fbdev=1 (i.e.GRUB_CMDLINE_LINUX="nvidia-drm.modeset=1 nvidia-drm.fbdev=1")
    3. 运行sudo update-grub
    4. 重新启动系统
  • 您可能启用了 Nvidia 的 GSP 固件,已知这会导致驱动程序 beta 555.42.02 版本出现一些性能问题。也许这个问题将来会得到解决,但现在,如果需要,我们可以禁用 GSP 固件。

    您可以通过输入“nvidia-smi -q”来检查 GSP 固件是否启用 | grep "GSP Firmware"— if it saysN/A` 则固件未启用。否则(它显示 GSP 固件的版本),则固件已启用。

    要禁用 GSP 固件,请按照以下步骤操作:

    1. 使用 sudo nano /etc/default/grub 编辑 /etc/default/grub
    2. nvidia.NVreg_EnableGpuFirmware=0 添加到您的 GRUB_CMDLINE_LINUX
    3. 运行sudo update-grub
    4. 重新启动系统

    有关此问题的更多信息,请参阅 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”或“自动”。请按照以下步骤应用此操作:

    1. 转到 chrome://flags
    2. 搜索“首选臭氧平台”
    3. 将标志设置为“Wayland”或“auto”
    4. 重新启动浏览器
  • 对于某些 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` 或缺失,则该参数未启用。

    要启用保留视频内存分配模块参数,请按照以下步骤操作:

    1. 使用 sudo nano /etc/default/grub 编辑 /etc/default/grub
    2. nvidia.NVreg_PreserveVideoMemoryAllocations=1 添加到您的 GRUB_CMDLINE_LINUX
    3. 运行sudo update-grub
    4. 重新启动系统 5.运行sudo cat /proc/driver/nvidia/params | grep "PreserveVideoMemoryAllocations" 验证现在设置参数

    如果启用此模块参数后仍然遇到 suspend/resume 问题,您可能需要查看 Nvidia 的 电源管理文档,以仔细检查相关的 systemd 服务是否已安装并启用。

参考

  • https://askubuntu.com/questions/206283/how-can-i-uninstall-a-nvidia-driver-completely/206289#206289
  • https://askubuntu.com/questions/1391245/getting-the-latest-nvidia-graphics-driver-through-software-updates/1391250#1391250
  • https://askubuntu.com/questions/271613/am-i-using-the-nouveau-driver-or-the-proprietary-nvidia-driver
  • https://github.com/lutris/docs/blob/master/InstallingDrivers.md
  • https://askubuntu.com/questions/66328/how-do-i-install-the-latest-nvidia-drivers-from-the-run-file/66335#66335
  • https://askubuntu.com/questions/219942/how-to-uninstall-manually-installed-nvidia-drivers/220729#220729
  • https://askubuntu.com/questions/1403854/cant-use-wayland-with-nvidia-510-drivers-on-ubuntu-22-04-lts
  • https://bbs.archlinux.org/viewtopic.php?pid=2133404#p2133404
  • https://wiki.archlinux.org/title/NVIDIA
  • https://wiki.archlinux.org/title/NVIDIA#DRM_kernel_mode_setting
  • https://askubuntu.com/questions/68028/how-do-i-check-if-ubuntu-is-using-my-nvidia-graphics-card/624793#624793
  • https://www.reddit.com/r/linux_gaming/comments/17fn30q/comment/k6bug3m/
  • https://www.reddit.com/r/linux_gaming/comments/17ubgrl/nvidia_libnvidiaeglwayland1_do_i_need_to_install/
  • https://www.reddit.com/r/Fedora/comments/rkzp78/make_chrome_run_on_wayland_permanently/
  • https://www.reddit.com/r/Fedora/comments/1afkoge/how_to_make_vscode_run_in_wayland_mode/
  • https://us.download.nvidia.com/XFree86/Linux-x86_64/555.42.02/README/installationandconfiguration.html
  • https://www.reddit.com/r/archlinux/comments/1cxc36m/comment/l528uff/
  • https://forums.developer.nvidia.com/t/major-kde-plasma-desktop-frameskip-lag-issues-on-driver-555/293606
  • https://download.nvidia.com/XFree86/Linux-x86_64/510.39.01/README/gsp.html
  • https://download.nvidia.com/XFree86/Linux-x86_64/435.17/README/powermanagement.html
  • https://www.reddit.com/r/linux_gaming/comments/1bjhx8w/explicit_sync_protocol_just_merged_on_wayland/
  • https://www.reddit.com/r/linux_gaming/comments/1c9izpc/gnome_461_released_with_explicit_sync/
  • https://www.reddit.com/r/linux_gaming/comments/1cx8739/nvidia_555_driver_now_out_explicit_sync_support/
  • https://www.tecmint.com/install-nvidia-drivers-in-linux/
  • https://www.if-not-true-then-false.com/2015/fedora-nvidia-guide/
  • https://www.if-not-true-then-false.com/2015/fedora-nvidia-guide/3/

热门栏目