首页 » Linux » 如何在 Linux 上逐步安装专有 GPU 驱动程序
大多数驱动程序都集成在内核中,但对于 NVIDIA GPU 和特定硬件,安装专有驱动程序是值得的。
在 Ubuntu 系统中,ubuntu-drivers、apt 和官方 GPU PPA 简化了 NVIDIA 驱动程序的安装和更新。
Debian、Fedora 和 Arch 都从其官方或外部存储库提供专有驱动程序,并针对每个生态系统提供特定工具。
了解 lspci、dmesg 或 modprobe 等命令有助于诊断和排除检测、固件和已加载模块的问题。
如果你使用 Linux 进行游戏、视频编辑、人工智能工作,或者只是希望你的电脑运行流畅,那么迟早你都会遇到以下问题: 专有 GPU 驱动程序尤其是如果你的显卡是NVIDIA的。虽然现在操作越来越容易,但仍然有一些重要的细节需要了解,以避免黑屏、崩溃或性能下降等问题。
在本指南中,我们将冷静地审视…… 如何在 Linux 上安装专有 GPU 驱动程序 (主要针对NVIDIA显卡,但也涵盖AMD和其他显卡),内容涵盖图形工具和终端,以及不同的发行版:Ubuntu及其衍生版本、Debian、Fedora和Arch。我们还将回顾关于自由驱动程序和专有驱动程序的关键概念,何时应该更换驱动程序,以及如何解决常见问题。
专有驱动程序和开源驱动程序之间的区别
任何Linux系统的核心都是它的 内核已加载驱动程序它已经支持大量设备:从非常新的硬件到相当老旧的设备。在大多数情况下,您无需进行任何操作;系统会自动检测设备并应用相应的驱动程序。
但是,当我们谈论 专有驱动程序情况发生了变化。这些驱动程序由硬件制造商(NVIDIA、AMD、Broadcom 等)开发和维护,其代码不公开。这意味着只有供应商才能修复错误、提升性能或添加新功能,社区无法干预或审核驱动程序的实际运行情况。
另一方面,有 开源驱动程序这些定制内核大多由 Linux 社区创建或维护,有时会得到厂商的部分合作。它们的主要优势在于与系统集成度高,能够随内核一同更新,并且通常更加稳定。在大多数发行版中,当检测到兼容的硬件时,它们会自动安装。
问题在于,在某些硬件设备(尤其是)中 专用显卡开源驱动程序在性能、兼容性和功能方面都无法与专有驱动程序相媲美。这一点在NVIDIA显卡上尤为明显:开源的nouveau驱动程序虽然能够运行,但与官方驱动程序相比,它对GPU性能的发挥远不及后者。
哪些驱动程序值得手动安装?
超过95%的团队, 无需手动安装驱动程序。 因为内核本身已经包含了几乎所有必需的组件。但是,对于某些组件,安装专有驱动程序以充分发挥其性能确实是有意义的。
最明显的例子是 专用显卡尤其是NVIDIA显卡。如果你用电脑玩游戏、进行3D图形处理、视频编辑、渲染或GPGPU计算(CUDA、AI等),坚持使用开源驱动程序意味着你会损失GPU的大部分性能。在这些情况下,使用专有驱动程序往往能带来显著的差异。
安装特定的驱动程序也可能很有意义 网卡尤其是 Wi-Fi。专有驱动程序或制造商提供的驱动程序通常可以提高连接稳定性、降低延迟,并纠正诸如连接中断或网络无法正确检测等问题。
另一个常见的例子是 专用或高保真声卡虽然基本音频功能通常都能正常工作,但许多高级功能(处理、额外通道、特殊配置文件)只能通过制造商的官方驱动程序才能使用,如果 Linux 系统有官方驱动程序的话。
同 打印机和某些外围设备 (例如键盘、游戏鼠标等)Linux 通常使用通用驱动程序,可以直接使用。但如果您需要高级功能(例如特殊按钮、多媒体快捷键、RGB 灯光、DPI 配置文件),通常需要额外的驱动程序或工具。
通过图形界面在 Linux 上安装驱动程序
现代发行版极大地简化了这一过程。在诸如……的系统中 Ubuntu 及其衍生产品几乎所有基本驱动程序都会在系统安装过程中自动安装,就像 Windows 系统一样。对于普通用户来说,无需进行任何其他操作。
当你连接一个 打印机或标准外围设备通常情况下,系统会检测设备型号,下载或激活相应的驱动程序,然后自动运行。与 Windows 系统中安装厂商软件的理念不同,Linux 系统中几乎所有东西都是通过软件仓库进行管理的。
如果您想查看或更改 Ubuntu 计算机正在使用的专有驱动程序,可以转到应用程序菜单并打开它。 “软件和更新” 然后转到“更多驱动程序”或“附加驱动程序”选项卡。在那里,您将逐个组件地看到可用选项:开源驱动程序、推荐的专有驱动程序、其他版本等。
该面板主要列出了 可选专有驱动程序 (例如 GPU、Wi-Fi 和部分固件)。它还会显示这些组件是否处于活动状态、正在使用中,或者系统是否正在使用开源驱动程序。通常,您只需选择感兴趣的驱动程序,然后单击“应用更改”,该工具就会自动处理所有操作。
使用 ubuntu-drivers 在 Ubuntu 上安装 NVIDIA 专有驱动程序
在 Ubuntu LTS 系统(18.04、20.04、22.04 及更高版本)中,有三种非常常见的安装方式。 NVIDIA 专有驱动程序:使用 ubuntu-drivers 工具,从 NVIDIA 网站下载 .run 文件,或者直接使用 apt 和 nvidia-driver-XXX 软件包。
效用 ubuntu-drivers 它旨在检测可能需要额外驱动程序的设备(例如 GPU),并推荐相应的软件包。要查看系统检测到的显卡和驱动程序,您可以在终端中运行以下命令:
如何在 Putty 中运行 .sh 文件?sudo ubuntu-drivers devices
此命令会显示每个 GPU 的列表 可用且推荐的司机你会看到类似这样的条目 nvidia-driver-525, nvidia-driver-535以及“开放”或“服务器”变体,还有免费控制器 xserver-xorg-video-nouveau推荐的型号通常会有明确的标识。
如果您运行该命令时遇到类似这样的错误,请参考以下说明。 错误:root:未找到aplay命令只需安装相应的音频实用程序包即可:
sudo apt install alsa-utils
如需查看更具体的、针对 GPU 计算(例如,服务器)的选项列表,您可以使用:
sudo ubuntu-drivers list --gpgpu
让系统自动选择的最便捷方式是调用该功能。 自动安装只需一条命令,Ubuntu 即可选择适合您 GPU 的推荐驱动程序并安装所有必需组件:
sudo ubuntu-drivers autoinstall
完成后,重启系统,以便内核加载正确的模块:
sudo shutdown -r now
重启后,您可以使用 NVIDIA 命令行工具验证驱动程序是否已加载并正常工作:
nvidia-smi
如果您希望选择特定版本(例如,因为认证程序需要特定分支),您可以运行类似这样的命令:
sudo ubuntu-drivers install nvidia:535
再次提醒,安装完成后建议重启系统:
sudo shutdown -r now
从官方网站安装 NVIDIA 驱动程序到 Ubuntu
有些人更喜欢安装 直接从NVIDIA官方网站下载其专有驱动程序尤其当他们需要非常特定的版本,或者需要抢在发行版仓库提供版本之前获取时,这种方法就显得尤为重要。这种方法虽然更精细,但也更灵活。
在本地计算机上,访问 NVIDIA 网站的下载页面,从下拉菜单中选择您的 GPU 型号和 Linux 操作系统,然后点击“搜索”查看可用版本。接下来,下载 Linux 可执行文件,其名称通常类似于 [filename]。 nvidia-linux-x86_64-460.106.00.run.
如果您要在服务器或远程计算机上安装驱动程序,则需要: 上传 .run 文件 将文件复制到系统(例如,使用 scp、sftp 或 Linux 系统中常用的文件共享工具)。复制完成后,请确保系统拥有必要的构建软件包和图形库:
sudo apt install build-essential libglvnd-dev pkg-config
在许多情况下,这些软件包已经存在,但如果不存在,它们将立即安装。然后,只需授予该文件执行权限(如有必要),并使用 bash 运行它:
sudo bash NVIDIA-Linux-x86_64-460.106.00.run
交互式安装程序将引导您完成几个问题(接受许可协议、安装选项、管理 nouveau 等)。完成后,您需要重启系统以使新的内核模块加载。
sudo shutdown -r now
如果一切顺利, 官方NVIDIA驱动程序将安装并激活。您还可以再次使用以下方式进行验证 nvidia-smi GPU 已识别,驱动程序正在使用。
在 Ubuntu 上使用 apt 安装 NVIDIA 驱动程序
在 Ubuntu 及其衍生版本中,还有一种相当简洁的方法是 直接通过 apt 安装 NVIDIA 驱动程序使用来自官方软件仓库的软件包。首先,了解哪个驱动程序分支适合您的 GPU 非常重要,您可以通过以下命令找到它:
sudo ubuntu-drivers devices
此命令将显示不同的驱动程序分支(例如)。 nvidia-driver-525, nvidia-driver-535(开放版本、服务器版本等),以及哪种版本推荐用于您的显卡。每个版本都对应一个开发系列,具有不同的功能和支持。
重要的是要确保 内核模块 与该分支对应的组件将被安装。例如,如果您要在通用内核中使用分支 535,您可以执行以下操作:
sudo apt install linux-modules-nvidia-535-generic
获取模块后,即可安装驱动程序包本身:
sudo apt install nvidia-driver-535
当该过程完成后,重启计算机,以便加载 nvidia 模块而不是 nouveau 模块:
sudo shutdown -r now
要确认内核使用的是正确的模块,您可以列出已加载的模块并按 nvidia 进行筛选:
sudo lsmod | grep nvidia
如果你看到类似这样的条目 nvidia、nvidia_drm、nvidia_modeset 或 nvidia_uvm种种迹象表明专有驱动程序正在运行。再次强调。 nvidia-smi 它可以帮助您检查 GPU 的状态以及使用它的进程。
使用专有 GPU 驱动程序 PPA 安装 NVIDIA 驱动程序
根据您的 NVIDIA 显卡型号和 Ubuntu 版本,标准软件仓库可能无法提供所需的软件。 最新驱动程序版本为此,Ubuntu 官方提供了一个名为“专有 GPU 驱动程序”的 PPA,他们通常会在该 PPA 中发布最新的兼容版本。
思路很简单:添加 PPA 源,系统会自动处理依赖关系解析、软件包更新以及通过附加驱动程序工具提供相应的驱动程序。首先,我们添加 PPA 源并更新软件包索引:
sudo add-apt-repository ppa:graphics-drivers/ppa -y
sudo apt update
完成这些步骤后,你就可以去…… “系统设置 > 软件和更新 > 其他驱动程序” 您将看到适用于您显卡的最新NVIDIA驱动程序列表。例如,如果您使用的是GeForce 840M显卡,您可以访问NVIDIA网站查找最新的兼容驱动程序(假设版本为375.20),然后在该窗口中选择它。
选择您感兴趣的版本,然后点击 “实施变更” 请等待系统下载并安装驱动程序及其依赖项。通常不会花费太长时间,但在此期间最好不要进行任何操作。完成后,请重启系统以使更改生效。
纸艺有哪些种类?如果您愿意,也可以直接使用标准软件仓库中的驱动程序,这些驱动程序版本可能稍旧一两个版本,但仍然完全可用。如果您之前已经通过 Ubuntu 工具安装了 NVIDIA 驱动程序,那么添加此 PPA 源并进行更新通常会将驱动程序更新到 PPA 中提供的最新版本。
在 Debian 13 (Trixie) 中安装 NVIDIA 驱动程序
在 Debian 系统中,由于其特殊性,事情历来都比较微妙。 对自由软件的坚定承诺不过,在 Debian 13 中,从官方存储库安装专有 NVIDIA 驱动程序的过程已经大大简化。
首先是 识别已安装的GPU您可以使用如下命令 lspci 列出所有PCI设备,找到与显卡对应的那一行。找到显卡后,查看系统默认使用的驱动程序也很有帮助;大多数情况下,默认驱动程序是开源的nouveau驱动程序。
要安装专有驱动程序,您必须确保文件 /etc/apt/sources.list 各部分已启用 的contrib y 非自由 (或者根据版本不同,可能是非自由固件)。使用您喜欢的编辑器编辑该文件,并将这些组件添加到您的代码库中。
修改软件仓库后,请使用以下命令更新软件包索引:
sudo apt update
Debian 提供了一个能够……的实用程序 检测要安装的 NVIDIA 驱动程序版本首先,安装推荐的工具(根据您版本的官方文档),然后运行它来分析硬件并准确地告诉您需要哪个软件包。
在安装驱动程序之前,建议先准备好…… 内核头文件 安装时,NVIDIA 软件包可能需要编译或调整模块以适应所使用的内核。通常,类似这样的操作就足够了:
sudo apt install linux-headers-$(uname -r)
接下来,安装推荐的驱动程序(例如,一个软件包)。 nvidia-driver (或类似情况,具体取决于 Debian 选择的分支)。安装过程中,可能会出现警告,提示 nouveau 驱动程序已加载,并且可能与 NVIDIA 驱动程序冲突。
该信息通常仅具有告知作用: 重启系统后,将加载 NVIDIA 模块而不是 nouveau 模块。 冲突已自动解决。接受消息,完成安装过程,然后重新启动。
重新登录后,检查模块是否已加载。 lsmod | grep nvidia 或投掷 nvidia-smi如果您看到 GPU 信息和驱动程序版本,则表示专有驱动程序在 Debian 13 上运行正常。
笔记本电脑上的NVIDIA Optimus和HDMI/DisplayPort问题
许多配备NVIDIA独立显卡的现代笔记本电脑都采用了这项著名的技术。 擎天柱它将处理器的集成显卡(例如英特尔显卡)与专用显卡相结合,在两者之间切换以节省能源或提高性能。
在 Linux 系统中,这可能导致以下情况: NVIDIA显卡已正确安装,但HDMI或DisplayPort端口没有信号输出。因为该系统主要使用集成显卡进行视频处理。在这种情况下,安装专门的Optimus管理工具非常有用,它可以让你选择要使用的独立显卡。
借助这些实用程序,您可以配置计算机以使用 始终是 NVIDIA,但仅限于某些应用程序 或者根据您的需求,也可以与集成显卡配合使用。如果您想通过与独立显卡物理连接的端口使用外部显示器,那么它是关键组件。
使用终端安装驱动程序:何时以及为何要这样做
虽然在相对现代的设备中很少是必需的,但有时别无选择。 拉动端子以安装或调整驱动器尤其是在没有图形环境的系统、服务器,或者由于驱动程序冲突导致图形界面损坏的情况下。
如果您对 Linux 系统不太熟悉,建议您将终端视为…… 最后资源因为一条错误的命令就可能导致图形界面无法使用或系统不稳定。即便如此,掌握一些基本知识也能帮你省去很多麻烦。
第一步通常是使用 lspci (不要与常见的错误输入 lscpi 混淆)用于列出 PCI 设备并定位问题硬件。您可以将其与 | grep fabricante 筛选结果(例如,“NVIDIA”、“Broadcom”、“Realtek”)。
另一个有用的命令是 dmesg显示内核消息,包括与驱动程序检测和加载相关的消息。使用过滤器进行过滤 | grep nombre-del-fabricante 您可以查看内核是否检测到设备,以及加载驱动程序时是否存在任何错误。
如果您需要添加其他存储库(例如,来自特定制造商或项目),可以使用类似以下命令查看当前列表:
sudo gedit /etc/apt/sources.list
要从外部存储库导入 GPG 密钥,有时会使用如下组合:
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
然后添加相应的存储库行 /etc/apt/sources.list.d/,例如:
sudo sh -c 'echo "deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
添加新仓库后,请记得使用以下命令更新索引和软件包:
sudo apt update
sudo apt upgrade
从那一刻起,分发渠道将可以访问 最新驱动程序和软件 这些存储库中提供的程序可以解决与某些设备的兼容性问题。
在其他发行版(例如 Fedora 和 Arch)上安装驱动程序
并非所有发行版都以相同的方式处理驱动程序。 Fedora例如,专有驱动程序(包括 NVIDIA 的驱动程序)可以在称为 RPM Fusion 的额外存储库中找到,这些存储库分为“免费”和“非免费”两类。
佩德罗·巴勃罗是谁?要启用它们,通常需要运行类似这样的命令:
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
添加完成后,即可安装 支持可升级内核的 NVIDIA 驱动程序 使用合适的元包,例如:
sudo dnf install akmod-nvidia
sudo dnf install xorg-x11-drv-nvidia-cuda
如果您需要其他驱动程序(例如 HP 打印机的驱动程序),您可以使用 dnf search 找到正确的软件包并进行安装。一个典型的例子是:
sudo dnf install hplip
En Arch Linux 而衍生系统(例如 Manjaro,尽管它有自己的工具)则使用 pacman 和 AUR 进行软件包管理。要从官方仓库安装 NVIDIA 专有驱动程序,您可以使用:
sudo pacman -S nvidia nvidia-utils
如果您需要更具体的驱动程序,或者主仓库中没有的驱动程序(例如,特定的 Realtek Wi-Fi 模块),可以使用 AUR 以及 yay 等辅助工具。一个典型的例子是:
yay -S rtl8821ce-dkms-git
在 Linux 系统中更新驱动程序
手动安装驱动程序时(例如,NVIDIA .run 文件或从软件仓库之外下载的软件包),有时它会自带更新机制,但在许多情况下,您需要手动更新…… 自行监控新版本 并在您认为必要时重复此过程。
如果在制造商网站上找到比您已安装的驱动程序更新的版本,则操作步骤通常与最初使用的步骤相同:下载软件包,如有必要,卸载以前的版本,然后按照新安装程序的步骤进行操作。
然而,绝大多数控制器都是以下部分的一部分: 自己的 Linux 内核这意味着,要保持系统更新,您只需安装一个包含这些改进的较新内核版本即可。发行版更新内核时,也会同时包含新的驱动程序、错误修复和兼容性更新。
安装新内核并从启动管理器启动后,您可以放心,您的内置驱动程序已更新到该分支中包含的最新版本。
卸载或更改 NVIDIA 驱动程序版本
如果quieres 更改 NVIDIA 专有驱动程序版本 或者,如果您想停止使用它并返回 nouveau,最干净利落的做法是在安装不同版本之前清除相关软件包。
在基于 Debian/Ubuntu 的系统中,一种非常常见的组合是:
sudo apt purge nvidia-*
sudo apt update
sudo apt autoremove
这将移除不再需要的 NVIDIA 软件包及其依赖项。之后,您可以安装所需的新版本(例如,另一个 nvidia-driver-XXX 分支),或者如果免费驱动程序满足您的需求,也可以继续使用。
Linux 系统中常见驱动程序问题的故障排除
多年来,Linux 一直以其……而闻名。 操作某些部件时出现头痛尤其是在一些比较特殊或非常新的硬件上。如今,随着现代设备和发行版的普及,大多数此类问题已得到极大改善,但复杂情况仍然时有发生。
在新组装的系统中,通常会出现这种情况: 几乎所有驱动程序都会自动加载。 您无需进行任何操作。但如果您想充分发挥 GPU 在游戏或 3D 应用方面的性能,我们仍然强烈建议您安装官方的 NVIDIA 或 AMD 驱动程序,以确保与 Windows 系统性能相匹配。
然而,Linux 对某些游戏外设(例如带有特殊灯光效果、专有软件和高级宏功能的键盘和鼠标)的支持仍然存在不足。在很多情况下,您需要…… 调整使用 使用设备的物理按键或按钮来更改配置文件,或根据社区发现的内容手动编辑设置。
就鼠标而言,虽然你无法通过官方软件控制所有方面,但通常可以进行一些调整。 来自游戏或桌面环境的灵敏度调整垂直和水平灵敏度值,使其符合您的喜好。
对于非常老旧的电脑(超过 15 年),情况就有所不同了:现代发行版或许可以运行,但您可能需要寻找轻量级发行版,此外, 在论坛或维基百科中搜索特定驱动程序 如果当前内核不再完全支持某些非常老旧的硬件。
如果系统似乎完全无法识别某个设备,最好先检查内核是否至少能检测到该设备,可以使用如下命令:
lsusb
lspci
dmesg | tail
如果模块出现在列表中但无法正常工作,则可能是模块缺失。您可以尝试手动加载它:
sudo modprobe nombre_del_modulo
如果 Wi-Fi 连接不稳定或网络时断时续,建议使用以下命令检查与固件相关的内核消息:
sudo dmesg | grep firmware
如果固件未安装,您需要找到相应的软件包。例如,对于使用博通芯片的网卡,通常像这样的软件包就足够了:
sudo apt install bcmwl-kernel-source
然后使用以下命令重启网络管理器:
sudo systemctl restart NetworkManager
就这样, 网卡现在应该可以稳定工作了。前提是不存在其他硬件或网络配置问题。
掌握 Linux 系统中专有 GPU 驱动程序的安装和维护,需要理解开源驱动程序和专有驱动程序之间的区别,熟悉发行版提供的工具(例如 ubuntu-drivers、官方 PPA、RPM Fusion、pacman/AUR 等),并且不害怕使用终端来查看内核信息或调整软件仓库。一旦掌握了这些步骤,无论是在运行 Optimus 技术的台式机还是笔记本电脑上,安装和维护显卡驱动程序都将不再是件麻烦事,而会成为一项相当常规的任务。