如何在 Debian 12 或 11 上安装 Nvidia 驱动程序

对于需要充分利用 NVIDIA GPU 功能的用户来说,在 Debian 上安装 NVIDIA 驱动程序至关重要,无论是用于游戏、图形渲染还是基于 CUDA 的计算任务。正确安装这些驱动程序可确保系统的最佳性能和稳定性,因此根据您的特定要求选择正确的安装方法至关重要。

在 Debian 12 或 11 上,可以使用两种主要方法安装 NVIDIA 驱动程序。第一种方法是使用 Debian 的默认存储库,它为大多数用户提供了稳定且简单的安装。对于需要最新功能、更新和 CUDA 支持的用户,第二种方法是添加 NVIDIA 的 CUDA APT 存储库镜像,它提供对最新驱动程序版本的访问。本指南将引导您完成这两种安装方法,确保您的 NVIDIA 驱动程序根据您的系统需求进行设置。

Nvidia 驱动程序安装前的预安装步骤

在安装 Nvidia 驱动程序之前更新 Debian 系统软件包

在继续本教程之前,最好确保您的系统已更新所有现有软件包。

sudo apt update

使用以下命令继续升级任何过时的软件包。

sudo apt upgrade

以前从 Debian 安装 Nvidia(情况)

当 Nvidia 驱动程序覆盖标准软件包时,可能会导致意外问题,尤其是当您从 Debian 的存储库安装 Nvidia 驱动程序,然后导入 Nvidia Cuda 存储库并尝试直接通过这些软件包重新安装或升级时。如果您使用一种方法,请坚持使用该方法,如果您想交换,请确保删除以前的安装以避免冲突。

下面,我将简要回顾一些删除以前的 Nvidia 驱动程序的选项。

示例 1:删除以前通过 APT 安装的 Nvidia 驱动程序

首先,使用一个命令删除系统上 Nvidia 安装的任何痕迹:

sudo apt autoremove nvidia* --purge

示例 2:通过 RUNFILE 删除以前安装的 Nvidia 驱动程序

第二种方法适用于使用“.run”文件安装 Nvidia 驱动程序的人。要删除 runfile 类型的安装,请使用以下命令:

sudo /usr/bin/nvidia-uninstall

示例 3:通过 RUNFILE 删除以前安装的 Nvidia Cuda 驱动程序

最后,使用以下命令删除 CUDA 工具包运行文件安装。

sudo /usr/local/cuda-X.Y/bin/cuda-uninstall

这几种方法可以删除 Nvidia 驱动程序。

启用 Contrib 和非免费存储库

第一个任务是 在你的 Debian 仓库中启用“contrib”和“non-free”仓库。从 Debian 12 Bookworm 开始,命令有所变化。请确保使用与您的 Debian 发行版版本相匹配的正确命令。

首先,确保您已在 Debian 系统上安装了以下内容:

sudo apt install software-properties-common -y

Debian 12 Bookworm 及以上版本:

sudo add-apt-repository contrib non-free-firmware

Debian 11 Bullseye 向下:

sudo add-apt-repository contrib non-free

添加后,使用以下命令更新您的 APT 缓存:

sudo apt update

方法 1:通过默认 APT 存储库安装 Nvidia 驱动程序

安装 Linux 内核头文件

在安装任何 Nvidia 驱动程序之前,您必须安装正确的内核头文件,以便 NVIDIA 驱动程序能够使用。您可以安装 64 位或 32 位,您可以通过运行 lscpu 命令来了解这一点:

lscpu | grep CPU

示例输出:

CPU op-mode(s):                  32-bit, 64-bit
CPU(s):                          2
On-line CPU(s) list:             0,1
CPU family:                      23
CPU MHz:                         3900.025
NUMA node0 CPU(s):               0,1

从输出来看,系统是 64 位的,因此需要安装以下标头:

sudo apt install linux-headers-amd64

32 位 Debian 系统,请改用以下命令:

注意:如果您使用的是 64 位系统,请不要使用以下命令。

非 PAE 内核:

sudo apt install linux-headers-686

PAE 内核:

sudo apt install linux-headers-686-pae

通过 Debian 的默认存储库安装 Nvidia 驱动程序

接下来,您可以安装“nvidia-detect”,它会自动为您的显卡推荐最佳软件包。

为此,请使用以下命令:

sudo apt install nvidia-detect

安装 Nvidia-detect 后,执行命令来识别您当前的 Nvidia 显卡:

nvidia-detect

输出显示示例机器配备了 GeForce GTX 1650 卡,并建议安装 nvidia-driver 包。不过,这仍然是一个建议。

接下来安装推荐的包:

sudo apt install nvidia-driver linux-image-amd64

您将看到一条提示,提示免费 Nouveau 显卡驱动程序与已安装的新驱动程序冲突。根据提示,您需要重新启动才能解决此问题;现在,请按“ENTER 键”继续。

重新启动并确认安装

安装完成后,重新启动系统:

sudo reboot

情况:安装 Nvidia 传统驱动程序(适用于较旧的显卡)

如果您的 Nvidia 显卡是 400 系列以下的旧款,则必须安装旧版驱动程序。安装过程相同,只需使用新的安装命令:

sudo apt install nvidia-legacy-390xx-driver firmware-misc-nonfree

完成后,不要忘记重新启动系统。

sudo reboot now

从技术上讲,您可以安装 340 系列,但它不再受支持,并且包含几个重大安全漏洞。尽管您可以考虑用 340xx 替换 390xx,但 Debian 建议不要这样做。

方法 2:通过 PPA 安装 Nvidia 驱动程序

第二种方法可让您从 Nvidia Cuda APT 存储库安装适用于您的台式机或服务器的最新驱动程序。我建议您使用这些驱动程序,因为您会在它们发布后立即获得更新。这种方法有利于安全性和性能,因为 Nvidia 经常发布更新。现在,您还可以选择安装开源版本。

在 Debian 上识别您的 Nvidia 显卡

如果您有较旧的 NVIDIA 显卡,请识别它以确保支持。但是,如果您拥有一张全新的卡,则可以跳过此部分,因为您的卡无疑受到支持。

现在,让我们识别你的显卡模块:

lspci | grep -e VGA

示例输出:

03:00.0 VGA compatible controller: NVIDIA Corporation TU117 [GeForce GTX 1650] (rev a1)

导入 Nvidia GPG 密钥

首先,使用此命令检查您是否已经安装了以下软件包:

sudo apt install dirmngr ca-certificates software-properties-common apt-transport-https dkms curl -y

接下来,导入 GPG 密钥,并确保导入与您的发行版本相匹配。

注意:如果 GPG 导入失败,请通过联系表单发表评论或给我发消息。Debian 有时会更改其 GPG 密钥。这种情况很少见,但确实会发生;如果发生,我会更新命令。

Debian 12 Bookworm 导入 Nvidia 的 GPG 密钥:

curl -fSsL https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/3bf863cc.pub | sudo gpg --dearmor | sudo tee /usr/share/keyrings/nvidia-drivers.gpg > /dev/null 2>&1

Debian 11 Bullseye 导入​​ Nvidia 的 GPG 密钥:

curl -fSsL https://developer.download.nvidia.com/compute/cuda/repos/debian11/x86_64/3bf863cc.pub | sudo gpg --dearmor | sudo tee /usr/share/keyrings/nvidia-drivers.gpg > /dev/null 2>&1

导入 Nvidia APT 存储库

其次,导入您的 Debian 系统的存储库,并再次确保导入正确的存储库以匹配您的 Debian 发行版。

Debian 12 Bookworm 导入 Nvidia CUDA APT 存储库:

echo 'deb [signed-by=/usr/share/keyrings/nvidia-drivers.gpg] https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/ /' | sudo tee /etc/apt/sources.list.d/nvidia-drivers.list

Debian 11 Bullseye 导入​​ Nvidia CUDA APT 存储库:

echo 'deb [signed-by=/usr/share/keyrings/nvidia-drivers.gpg] https://developer.download.nvidia.com/compute/cuda/repos/debian11/x86_64/ /' | sudo tee /etc/apt/sources.list.d/nvidia-drivers.list

安装 Nvidia 驱动程序 – 专有或开源选项

更新您的源列表以反映新添加的存储库。

sudo apt update

接下来,安装最新的 NVIDIA 驱动程序;下面是带有和不带有 CUDA 以及专有和开源版本的示例。

专有 Nvidia 驱动程序

安装不支持 Cuda 的 NVIDIA 驱动程序
sudo apt install nvidia-driver nvidia-smi nvidia-settings
安装支持 Cuda 的 NVIDIA 驱动程序 (所有权):
sudo apt install nvidia-driver cuda nvidia-smi nvidia-settings

开源 Nvidia 驱动程序

安装不支持 Cuda 的 NVIDIA 驱动程序(开源):

sudo apt install nvidia-driver nvidia-kernel-open-dkms nvidia-smi nvidia-settings

安装支持 Cuda 的 NVIDIA 驱动程序(开源):

sudo apt install nvidia-driver nvidia-kernel-open-dkms cuda nvidia-smi nvidia-settings

注意:下载文件很大,可能需要一段时间;鉴于这是一个通用版本,建议安装所有驱动程序,以避免 Debian 桌面上出现任何问题或不一致。

Nvidia 存储库安装的一个好处是,如果您忘记删除前一个,您将在继续安装之前看到针对已安装用户的提示。选择“是”以删除任何现有驱动程序。不这样做可能会导致系统不稳定。完成后,安装将完成。

重启

在安装的最后阶段,大多数用户通常会看到如下图所示的消息:

要激活安装,请重新启动系统。完成安装后,您可以使用以下命令:

sudo reboot

情况:安装 32 位 Nvidia 驱动程序支持

您可以先轻松启用并安装 32 位支持。然后,安装前面提到的 64 位驱动程序并按照以下步骤操作。

首先,使用以下命令激活 32 位架构:

sudo dpkg --add-architecture i386

更新 APT-CACHE 以反映架构的变化:

sudo apt update

安装 32 位支持,并为不需要它的用户删除 Cuda 包“libcuda1-i386”。

sudo apt install libcuda1-i386 nvidia-driver-libs-i386

重新启动电脑:

sudo reboot

确认 Nvidia 驱动程序安装

通过 CLI 命令验证 Nvidia 驱动程序

首先,通过运行 NVIDIA-SMI 来验证安装,如之前手动安装步骤所示。

nvidia-smi

如果成功,你也会看到类似的内容:

通过 GUI 验证 Nvidia 驱动程序

或者,您可以使用以下命令为桌面用户打开 GUI:

nvidia-settings

或者打开位于以下路径的应用程序图标:

活动 > 显示应用程序 > Nvidia X Server

在这里,您应该看到一个面板,其中包含所有可用的 Nvidia 驱动程序设置和系统信息。在此阶段,对于大多数人来说,您已在 Debian 上成功安装了您选择的 Nvidia 驱动程序。

以下是针对 Linux 新用户和使用 Nvidia 驱动程序的 Nvidia 设置 GUI 示例屏幕截图的更多屏幕截图:

结论和回顾

通过在 Debian 系统上安装 NVIDIA 驱动程序(无论是通过默认存储库还是 CUDA APT 存储库),您都可以确保您的 GPU 性能得到充分优化。Debian 存储库提供稳定且易于管理的安装,而 CUDA 存储库提供对最新功能和增强功能的访问。定期更新驱动程序(尤其是在使用 CUDA 存储库时)将有助于保持最佳性能和兼容性,从而使您能够在 Debian 上充分利用 NVIDIA 硬件。

Joshua James
跟我来
Joshua James 的最新帖子 (查看全部)

《How to Install Nvidia Drivers on Debian 12 or 11》有14条评论

  1. 非常感谢您的教程,并不断更新!不过有一个问题……32 位支持是 555 版,而 64 位支持是 560 版。是否会有更新,或者我可以安装 64 位版本 555 吗?

    回复
  2. 您好,感谢您的教程。写得非常好,易于理解。

    一切运行良好,但不幸的是,重新启动后,系统卡在登录屏幕上(不断返回到该屏幕)。
    该系统是全新的 Debian 12 KDE,带有 Nvidia 驱动程序(包括 Cuda 和 Wayland)。这是配备 GTX 2080 的双显示器设置。

    当我在登录时切换到 X11 时,我可以登录。但是,图形很不寻常:两个显示器上都有多个背景和窗口。我可以打开 CLI,键盘是 QWERTY 而不是 QWERTZ。但这是可以管理的。
    作为一名 Linux 新手,我有点迷茫,希望得到一些帮助。不幸的是,我在网上找不到合适的资料 🙁

    此致,
    埃尔玛

    回复
    • 你好,Elmar,

      非常感谢您对本教程的积极反馈。我很高兴听到它很容易理解。

      关于您的问题: 不幸的是,Debian 12 上对双显示器 Wayland 与 Nvidia 驱动程序的支持仍然不是最佳的。因此,建议暂时切换到 X11(Xorg)。

      关于不寻常的图形显示(两个显示器上都有多个背景和窗口): 可能是在安装 Nvidia 驱动程序时出现问题。您可以尝试以下步骤:

      检查驱动安装情况: 您是否安装了全新 Nvidia 驱动程序,还是之前的安装被覆盖了?确保没有旧驱动程序的残留非常重要。

      适当的驱动程序版本: GTX 2080 应该可以很好地与最新的 Nvidia 驱动程序 (550-555) 配合使用。但是,您也可以尝试使用更稳定的版本,例如 Nvidia 535。有时恢复到较旧的、经过验证的驱动程序版本会有所帮助。

      要卸载当前驱动程序并安装不同版本,您可以使用以下命令:

      sudo apt-get purge nvidia-*
      sudo apt-get install nvidia-driver-535

      检查配置: 确保 Xorg 配置文件设置正确。有时重置并重新生成配置文件会有所帮助。

      如果这些步骤不能解决您的问题,请告诉我。我们可以尝试其他诊断和配置选项。

      此致,
      约书亚

      回复
      • 你好,约书亚,

        非常感谢您的提示。我现在已经尝试了几次全新安装,并使用您的方法通过存储库和直接以 *.run 文件的形式安装了驱动程序。错误仍然相同。我现在要检查 udev.d 下是否存在所有规则(另一个论坛的提示指出了阻止 Nvidia 驱动程序的规则)。设置新系统并不需要很长时间。

        在 X11 下,NVIDIA 驱动程序存在,但区域设置被禁用。这将键盘布局设置为英语,我无法激活德语或添加语言,尽管之前可以使用德语。
        Wayland 对我很重要,因为我有不同尺寸的显示器,所有显示器都可以达到 4k 分辨率。我需要能够单独缩放它们;否则,我无法使用该设置来处理图形和视频。我需要 NVIDIA 驱动程序才能充分利用 Davinci Resolve。

        我会遵循你的提示并汇报。

        此致,
        埃尔玛

        回复
  3. 谢谢,在 debain 12 上我升级到了 545.23.08,遗憾的是我认为新的 6GB 3050 需要 550.40+

    检测到的 NVIDIA GPU:
    01:00.0 VGA 兼容控制器 [0300]: NVIDIA Corporation GA107 [GeForce RTX 3050 6GB] [10de:2584] (rev a1)

    检查卡:NVIDIA Corporation GA107 [GeForce RTX 3050 6GB](rev a1)
    哦哦。545.23.08 之前的驱动程序版本均不支持您的卡。
    较新的驱动程序可能会增加对您的卡的支持。
    较新的驱动程序版本可能以反向移植、不稳定或实验的形式提供。

    我想我正在冒着供应商运行/安装的风险

    回复
    • 以防持有相同卡片的人发现这条评论。

      我可以确认我直接从 nvidia 网站上的 nvidia 运行脚本中安装了 550.40.x 驱动程序,并且到目前为止它们在 Debian 12 上运行良好

      回复
      • 谢谢 Billy 发表的反馈。

        目前,我将此作为 Fedora Nvidia 驱动程序安装的方法,因为目前 Nvidia 和 Fedora 从 38 开始完全是一团糟。我将为 Debian 添加相同的方法,以及如果其他方法都失败则可选的备份方法。

        回复
  4. 效果非常好。我选择了“安装不支持 Cuda 的 NVIDIA 驱动程序(专有)”选项。
    通常我不会在网站/博客/论坛上发表评论。你帮我解决了困扰我 5 年多的问题,现在我终于可以用 HDMI 连接显示器了。互联网上提供的其他解决方案都不适合我(将 Debian 连接到外部显示器,同时使用混合 GPU(Nvidia/Intel))。我唯一的选择是选择 Linux Mint。

    非常感谢,继续保持这项好的工作!

    回复

发表评论