如何在 Debian 12 或 11 上安裝 Nvidia 驅動程式

對於需要充分利用 NVIDIA GPU 功能的使用者來說,無論是用於遊戲、圖形渲染還是基於 CUDA 的運算任務,在 Debian 上安裝 NVIDIA 驅動程式至關重要。正確安裝這些驅動程式可確保系統的最佳效能和穩定性,因此根據您的特定要求選擇正確的安裝方法至關重要。

在 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 驅動程式的任何人。若要刪除執行檔案類型的安裝,請使用下列命令:

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:透過 DEFAULT 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 驅動程式套件。然而,這仍然是一個建議。

接下來,安裝推薦的套件:

sudo apt install nvidia-driver linux-image-amd64

您將看到有關免費 Nouveau 圖形驅動程式與安裝的新驅動程式衝突的註釋。根據訊息,您需要重新啟動才能糾正此問題;現在,請按「ENTER KEY」繼續。

重新啟動並確認安裝

安裝後,重新啟動系統:

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

Nvidia 的 Debian 11 Bullseye 導入 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

情境:安裝 Nvidia 驅動程式的 32 位元支持

您可以先輕鬆啟用並安裝 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 驅動程式。

以下是 Nvidia 設定 GUI 範例螢幕截圖,供剛接觸 Linux 並使用 Nvidia 驅動程式的使用者使用:

結論與回顧

透過預設儲存庫或 CUDA APT 儲存庫在 Debian 系統上安裝 NVIDIA 驅動程序,您可以確保 GPU 的效能得到全面最佳化。 Debian 儲存庫提供穩定且易於管理的安裝,而 CUDA 儲存庫提供對最新功能和增強功能的存取。定期更新您的驅動程序,尤其是在使用 CUDA 儲存庫時,將有助於保持最佳效能和相容性,使您能夠在 Debian 上充分利用 NVIDIA 硬體。

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

在〈How to Install Nvidia Drivers on Debian 12 or 11〉中有 14 則留言

  1. 您好,謝謝您的教學。寫得很好而且很容易理解。

    一切正常,但不幸的是,重新啟動後,系統卡在登入畫面上(不斷返回)。
    該系統是全新的 Debian 12 KDE,帶有 Nvidia 驅動程序,包括 Cuda 和 Wayland。這是一個配備 GTX 2080 的 2 台顯示器設定。

    當我登入時切換到 X11 時,我可以登入。我可以打開 CLI,鍵盤是 QWERTY 而不是 QWERTZ。但這是可以管理的。
    作為一個 Linux 新手,我有點迷失,希望在這裡得到一些幫助。不幸的是,我在網路上找不到合適的東西🙁

    此致,
    埃爾瑪

    回覆
    • 你好,艾爾瑪,

      非常感謝您對本教程的積極回饋。我很高興聽到它很​​容易理解。

      關於你的問題: 不幸的是,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。

        我會按照您的提示進行操作並進行報告。

        此致,
        埃爾瑪

        回覆
  2. 謝謝,讓我在 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 上運行良好

      回覆
      • 感謝比利發布反饋。

        目前我將此作為 Fedora Nvidia 驅動程式安裝的方法,因為目前 Nvidia 和 Fedora 從 38 開始是一團糟。如果其他方法都失敗,我將為 Debian 添加相同的方法以及可選的備份方法。

        回覆
  3. 效果非常好。我選擇了“安裝 NVIDIA 驅動程式而不支援 Cuda(專有)”選項。
    通常我不會在網站/部落格/論壇上發表評論。您幫我解決了困擾我 5 年多的問題,現在我終於可以透過 HDMI 連接到顯示器了。網路上提供的其他解決方案都不適合我(將 Debian 連接到外部顯示器,同時擁有混合 GPU(Nvidia/Intel))。我唯一的選擇就是選擇 Linux Mint。

    非常感謝,讓這項好工作繼續下去!

    回覆

發佈留言