透過Nvidia官網下載的.run file安裝Nvidia驅動。可以自由選擇想要使用的驅動版本。它提供純CLI指令操作模式,方便大量部署使用。
支援的Linux發行版包含:Ubuntu、Debian、KylinOS、Fedora、RHEL、Rocky Linux、Amazon Linux、Azure Linux、SUSE Linux。
本文以Ubuntu為例。
警告: 這是萬策盡的時候才使用的方法。Linux跟Windows管理系統的思維不一樣,大部分Linux發行版開發者都不推薦使用這種方式安裝驅動。除了難以被Linux的套件管理器追蹤變更之外,日後要切換版本也很困難。以Ubuntu來說,應當優先使用套件管理器安裝Nvidia驅動
1. 前置條件#
不可混用APT與.run file版本的檔案。也就是說,如果你要用.run file安裝Nvidia驅動,則CUDA也只能用.run file安裝。
否則會產生一種吊詭的現象:要是你用.run安裝舊版驅動,結果用apt安裝cuda-toolkiy套件,cuda會因為依賴關係拉取新版Nvidia驅動套件下來,導致兩者驅動衝突!
2. 以.run file安裝Nvidia驅動#
- 為免衝突,安裝這個版本的Nvidia驅動之前,解除安裝系統所有的Nvidia相關套件
sudo apt purge *nvidia*到Nvidia官網依照顯示卡型號搜尋對應的Linux驅動,然後下載.run副檔名的installer檔案。例如我的Nvidia GTX1050Ti可以安裝到580版本驅動。


如果你要用指令下載的話,就對「下載」按鈕按右鍵,複製網址,再用wget指令下載
wget "網址"- 賦予執行權限
chmod +x ./NVIDIA-Linux-*.run- 以sudo權限執行installer,等待一下,它會解壓縮
sudo ./NVIDIA-Linux-*.runNvidia不推薦在有圖形環境(X Server)執行的時候安裝這個驅動,建議在tty模式安裝。這裡就忽略警告。使用方向鍵移動選項到Continue Installation,按Enter

剩下的全部同意

如果有需要,一併安裝32位元的驅動

以DKMS模式安裝驅動。日後會跟著Linux核心自動更新,也就不需要重新跑一次次安裝器。

更新initramfs

因為現在都是使用Wayland桌面比較多了,不需要使用nvidia-xconfig生成X.org設定檔。

安裝後,重開機。執行以下指令,檢查驅動版本。
nvidia-smi- 如果遇到
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沒有成功加入黑名單。觀察上面lshw指令輸出結果,如果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- 日後要解除安裝Nvidia驅動的話,在執行安裝器的時候加上以下參數:
sudo ./NVIDIA-Linux-*.run --uninstall3. 以.run file安裝CUDA套件#
參考Nvidia官網的CUDA支援列表,依照目前的Nvidia驅動,下載對應的CUDA版本。例如CUDA 13.1需要Nvidia 580以上版本的驅動,那就直接下載最新版CUDA。
到NVIDIA CUDA Toolkit官網,依照系統版本下載.run file。或者使用網頁的指令下載。

以sudo權限執行installer,等待一下,它會解壓縮
chmod +x cuda_*_linux.run
sudo sh cuda_*_linux.run輸入
accept同意EULA,再按Enter
選取要安裝的項目,通常維持預設就好,用方向鍵移動到Install再按Enter。CUDA會建議你使用最新版Nvidia驅動,因此會一併自動安裝。不過如果你之前已經用run file安裝Nvidia驅動,並且不希望升級的話,就用空白鍵取消勾選,不要安裝Nvidia驅動。

等待安裝完成。
重開機。用
nvcc --version指令確認CUDA版本如果顯示
Command nvcc not found,則編輯~/.bashrc。
vim ~/.bashrc- 加入以下兩條指令,將CUDA的路徑加入環境變數,撰文當下為CUDA 13.1。由於CUDA版本會一直更新,你可能要執行
ls /usr/local/查看CUDA的真正路徑,依照你的實際情況做修改。
export PATH=/usr/local/cuda-13-1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-13-1/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}- 再嘗試檢查一次版本
source ~/.bashrc
nvcc --version- 日後要解除安裝CUDA的話,執行:
sudo /usr/local/cuda-13.1/bin/cuda-uninstaller

