![如何在 Ubuntu 20.04 上正确安装 nvidia 470 驱动程序?](https://linux22.com/image/941943/%E5%A6%82%E4%BD%95%E5%9C%A8%20Ubuntu%2020.04%20%E4%B8%8A%E6%AD%A3%E7%A1%AE%E5%AE%89%E8%A3%85%20nvidia%20470%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%EF%BC%9F.png)
我尝试使用“软件和更新/附加驱动程序”功能切换到“nvidia-driver-470”,但它总是说不会安装软件包。
如果我选择带有 synaptic 的 nvidia-driver-470,它会安装所有必需的软件包,但有些奇怪:
它需要较旧的内核 5.4.0-1053-gcp(Google Cloud Platform),而最后一个是 5.11.0-38-generic!
如果我尝试在默认选项 5.11.0-38-generic 上启动,nvidia 驱动程序将不会加载,分辨率将仅为 640x480!
如果我尝试 5.4.0-1053-gcp 内核(与 nvidia 470 兼容),它将无法启动!尝试 initramfs 时它会停止启动,然后几分钟后打开 busybox 控制台...
安装 470 删除了几个较旧的 nvidia 软件包...还好我有一个用 rsync 制作的根(和启动)备份(https://unix.stackexchange.com/a/626503/30352),这样我就可以快速直接使用以前工作的操作系统副本和/或快速将其恢复回来(我所做的)。
我看到有适用于 5.11.0-38-generic 软件包的 nvidia 470,但我无法安装它们,因为
linux-modules-nvidia-470-5.11.0-38-generic
需要
nvidia-kernel-common-470 >= 470.74
,但唯一可用的软件包是
nvidia-kernel-common-470 470.63.01-0ubuntu0.20.04.2
,如果我下载https://launchpad.net/ubuntu/+archive/primary/+files/nvidia-kernel-common-470_470.74-0ubuntu0.20.04.1_amd64.deb,
gdebi-gtk
无法启用它的安装按钮!(我猜是因为我的版本显然是 20.04.2,而软件包是针对 20.04.1 的)
但有报告称它可以安装:
暂停 Ubuntu 20.04.3 LTS 后 NVIDIA 470 驱动程序不起作用(是的,为什么我的最新更新显然是 20.04.2??)
470 不稳定吗?尽管附加驱动程序显示它已经过“测试”?
我需要升级,因为 UE4Editor 崩溃并出现 VK_ERROR_INITIALIZATION_FAILED “VkResult=-3”https://answers.unrealengine.com/questions/896820/out-of-memory-bug-running-422x-on-linux-with-vulka.html
答案1
我目前遇到了同样的错误,不知何故,ubuntu 提供的 nvidia 驱动程序 470 版本不适用于内核 5.11.0-38,降级到 460 驱动程序解决了该问题。
sudo apt remove '^nvidia'
sudo apt autoremove
重启
sudo apt install nvidia-driver-460
答案2
我遵循了 Octal 启发的类似步骤。首先,我运行
sudo apt update
sudo apt remove '^nvidia'
sudo apt autoremove
在上面的命令中,请确保在删除 nvidia 软件包之前运行“sudo apt update”。如果没有该更新命令,此问题将无法修复。然后,我运行
sudo apt-get purge 'nvidia*'
sudo apt autoremove
然后我重新启动(这一步非常非常重要。请勿在未重新启动的情况下立即安装驱动程序)。
之后我跑了
sudo apt install nvidia-driver-460
并且重新启动,nvidia-smi 应该不再会导致任何错误。
此外,我同意 Octal 的观点,我认为 nvidia-driver-470、Ubuntu 20.04 和内核 5.11.xxx 之间存在兼容性问题,因为在我运行完上述步骤后,我尝试安装 nvidia-driver-470,但返回了 nvidia-smi 错误。
编辑:完成上述步骤后,第二天启动 PC 时我遇到了同样的问题。解决此问题的方法是卸载操作系统中的 bbswitch-dkms 包。然后您需要重新启动。
如果重启后,您的登录菜单不知为何没有显示,请尝试拔出 HDMI 线,然后登录菜单应该会显示出来。登录后,再次插入 HDMI 线。
答案3
升级到最新版本时,我遇到了类似的错误。就我而言,这是从 465 升级到 470,错误是由于驱动程序不匹配。最后,我遵循了 Octal 的建议,但在重启后我尝试了:
sudo apt install nvidia-driver-470 libnvidia-gl-470 libnvidia-compute-470 libnvidia-decode-470 libnvidia-encode-470 libnvidia-ifr1-470 libnvidia-fbc1-470
再次重启后,它似乎可以正常工作nvidia-smi
。
注意:已sudo apt remove '^nvidia'
为我删除其他内容。您可以跟踪受影响的软件包,apt list --installed '*nvidia*'
以便相应地重新安装。