適用系統版本:Debian 13 Trixie以上
本文讓Ivon解說如何在Debian GNU/Linux系統安裝Nvidia驅動程式與CUDA套件。
在安裝Debian的時候,如果有Nvidia顯示卡,預設會載入開源的nouveau驅動。但是要使用CUDA技術,就得安裝Nvidia的閉源驅動。
nouveau是含在mesa套件裡面的,一般不需要刪除套件,在安裝Nvidia閉源驅動後nouveau就會自動被停用。
1. Nvidia驅動的版本差異#
根據Debian Wiki與Nvidia官方文件,Nvidia驅動裝法有以下途徑:
| 途徑 | 驅動版本 | 穩定性 | 適用情況 |
|---|---|---|---|
| Debian套件庫 | 舊 | 穩定 | 不在乎CUDA版本;穩定性為重。 |
| 使用Nvidia CUDA套件庫的.deb驅動 | 新 | 不穩定 | 需要最新版驅動與最新CUDA版本。 |
| 手動下載Nvidia官網的.deb檔案安裝驅動 | 新 | 不穩定 | 顯卡已經不受官方支援;需要特定版本的驅動;需要在完全離線的環境安裝。 |
| 手動執行Nvidia官網的.run檔案安裝驅動 | 新 | 不穩定 | 顯卡已經不受官方支援;需要特定版本的驅動;需要在完全離線的環境安裝。 |
Linux的Nvidia驅動不會一直都是官方發表的最新版本,要看你是從哪一種途徑安裝。
這裡的「穩定」是以Debian維護者的角度來看。事實上只要是Nvidia官方正式發表的驅動都是夠穩定的,上面寫不穩定只是相對Debian收錄的Nvidia驅動版本來說,這些套件沒有經過長時間測試。
需要注意的是,Debian套件庫打包的Nvidia驅動版本雖然被Debian開發者認為是「穩定的」但只是對於伺服器而言,不保證桌面的圖形驅動穩定。例如,Debian 13收錄的Nvidia驅動套件版本是550,對Wayland桌面的支援度不佳。若透過Nvidia CUDA套件庫,則可以取得針對Wayland相容性大幅改善的590版本驅動。
本文採用的是透過Debian套件庫安裝Nvidia驅動與CUDA。
2. 檢查Nvidia顯示卡相容性#
- 首先要到Nvidia官網查詢,檢查手上的顯示卡是否仍受Nvidia官方支援,如果有的話就直接裝最新版驅動。如果已經停止支援,則只能安裝舊版驅動。
舉例來說:NVIDIA GeForce GTX 1050屬於Turing架構以前的舊卡,那麼最高就只能裝到580版本的驅動。在Turing架構以後推出的NVIDIA GeForce GTX 1650,可以直接裝最新版的590驅動。但是在這篇文章中,我們沒有要使用Nvidia官網的驅動安裝器,所以這裡的資訊僅是作為參考。
- 查看現在Nvidia顯示卡是使用哪個驅動。
sudo lspci -k | grep -A 2 -i "NVIDIA"- 沒安裝Nvidia閉源驅動前,Linux應該會載入nouveau核心模組。
# 範例輸出
07:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1)
Subsystem: ASUSTeK Computer Inc. Device 85d6
Kernel modules: nouveau3. 安裝Nvidia閉源驅動#
桌電與伺服器#
- Debian官方非自由(non-free)的套件庫有收錄Nvidia驅動的套件。編輯
/etc/apt/sources.list,加上non-free與contrib,啟用非自由的套件庫
deb http://deb.debian.org/debian trixie main non-free-firmware non-free contrib
deb http://deb.debian.org/debian trixie-updates main non-free-firmware non-free contrib- 更新套件庫
sudo apt update - 接著以DKMS安裝Nvidia驅動,這會讓Nvidia驅動自動跟著Linux核心更新。註:你可以用
apt search nvidia-driver搜尋其他版本的Nvidia驅動程式。
Turing架構(含)以後的新卡,也就是RTX20系列之後,安裝以下版本的套件:
sudo apt install nvidia-open-kernel-dkms nvidia-driverTuring架構以前的舊卡,也就是RTX10系列之前,是安裝以下套件:
sudo apt install nvidia-kernel-dkms nvidia-driver安裝後重開機,執行
nvidia-smi指令查看目前驅動版本。再度執行lspci指令
sudo lspci -k | grep -A 2 -i "NVIDIA"- 查看nouveau是否已經變成nvidia。
# 範例輸出
07:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1)
Subsystem: ASUSTeK Computer Inc. Device 85d6
Kernel modules: nvidia_drm, nvidia執行
nvidia-smi指令,查看Nvidia驅動版本。如果遇到
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.錯誤,可能是nouveau沒有成功加入黑名單。觀察上面lspci指令輸出結果,如果Kernel modules:後面顯示nouveau,那麼就是沒有黑名單,nouveau驅動會跟Nvidia驅動搶控制權。此時,需要手動將nouveau加入開機禁止載入的核心模組黑名單,更新核心設定,並重開機:
echo "blacklist nouveau" | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf
echo "options nouveau modeset=0" | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf
sudo update-initramfs -u -k all- 對於Nvidia驅動550 ~ 580版本,登入Wayland桌面與顯示管理器,會黑螢幕,可能要在
/etc/default/grub新增GRUB_CMDLINE_LINUX="nvidia-drm.modeset=1,接著更新GRUB:sudo update-grub。
雙GPU筆電#
搭載Nvidia獨立顯示卡的筆電安裝顯示卡驅動的方式跟桌上型電腦一樣。
不過,像Intel + Nvidia這種的雙GPU筆電,即使裝了Nvidia驅動也可能繼續用Intel的GPU渲染3D,導致3D性能低下。
此時可以使用prime-select指令,指定用Nvidia顯示卡負責渲染作業。
sudo prime-select nvidia重開機後再使用指令:vulkaninfo --summary查看主顯示卡為何。
相關文章:Nvidia PRIME指令使用方式
4. 安裝CUDA#
必須先裝Nvidia閉源驅動才能裝CUDA。
- 從Debian套件庫安裝CUDA
sudo apt install nvidia-cuda-toolkit執行
nvcc --version指令查看CUDA版本。Debian Stable提供的
nvidia-driver套件版本可能有點舊,若需要新版,得從Nvidia CUDA的deb套件庫下載。


