如何在 Fedora 29 Linux 上安装 NVIDIA 驱动程序
NVIDIA 驱动程序是您的 NVIDIA 图形 GPU 以更好的性能运行所需的程序。它在您的 Linux 操作系统(在本例中为 Fedora 29 Linux)和您的硬件(NVIDIA 图形 GPU)之间进行通信。
在本文中,您将了解如何在 Fedora 29 Linux 上安装 NVIDIA 驱动程序。我们将首先禁用默认的 nouveau 开源 NVIDIA 驱动程序,然后提供有关如何在 Fedora 29 上成功安装官方 NVIDIA 驱动程序的分步说明。
要在其他 Linux 发行版上安装 Nvidia 驱动程序,请遵循我们的 Nvidia Linux 驱动程序指南。
在本 NVIDIA 驱动程序安装指南中,您将了解到:
如何识别操作系统上的 NVIDIA 显卡型号。
哪里可以下载 Fedora 29 的 NVIDIA 驱动程序包。
如何安装在 Fedora 29 上成功编译和安装 Nvidia 驱动程序的先决条件。
如何禁用
nouveau
驱动程序。如何在 Fedora 29 Linux 操作系统上成功安装 NVIDIA 驱动程序。
在运行显卡基准测试的 Fedora 29 Linux GNOME 桌面上安装了 Nvidia 驱动程序。
如何在 Fedora 29 Linux 上安装官方 NVIDIA 驱动程序分步说明
打开终端并通过执行以下命令识别您的 Nvidia 显卡型号:
$ lspci -vnn | grep VGA 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] [10de:1c03] (rev a1) (prog-if 00 [VGA controller])
使用基于您的 Nvidia 卡型号和 Linux 操作系统的搜索条件从 nvidia.com 下载 Nvidia 驱动程序包。或者,如果您知道自己在做什么,则可以直接从 Nvidia Linux 驱动程序列表下载驱动程序。准备好后,您应该会得到一个类似于下图所示的文件:
$ ls NVIDIA-Linux-x86_64-* NVIDIA-Linux-x86_64-410.73.run
安装成功编译和安装 Nvidia 驱动程序的所有先决条件。
$ sudo dnf groupinstall "Development Tools" $ sudo dnf install dkms "kernel-devel-uname-r == $(uname -r)"
通过更改配置
/etc/default/grub
文件禁用nouveau
驱动程序。将nouveau.modeset=0
添加到以GRUB_CMDLINE_LINUX
开头的行中。您可以在下面找到反映之前建议的更改的 grub 配置文件示例:GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="resume=UUID=df614470-884d-4992-a13c-1665fb0a230e rhgb quiet nouveau.modeset=0" GRUB_DISABLE_RECOVERY="true"
上面的 第 6 行 确保在下次启动 Fedora 29 Linux 系统时禁用
nouveau
驱动程序。准备就绪后,执行以下命令以应用新的 GRUB 配置更改。根据您的启动方法,选择以下选项之一:
BIOS: $ sudo grub2-mkconfig -o /boot/grub2/grub.cfg EFI: $ sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
重新启动 Fedora 29 Linux 系统。
$ sudo reboot
必须在 Xorg 服务器停止时安装 Nvidia 驱动程序。通过以下方式切换到文本模式:
$ sudo systemctl isolate multi-user.target
执行以下命令安装 Nvidia 驱动程序:
$ sudo bash NVIDIA-Linux-x86_64-*
再次重新启动系统。
$ sudo reboot
警告
登录后使用 GDM 显示管理器时,您可能会看到黑屏。请注意,在撰写本文时,此问题属于GDM
,建议您暂时切换到其他显示管理器,例如sddm
:$ sudo dnf install sddm $ sudo systemctl disable gdm $ sudo systemctl enable sddm $ sudo reboot