Linux安裝NVIDIA顯示卡驅動的正確姿勢
Linux安裝NVIDIA顯示卡驅動的正確姿勢
可能想玩Linux系統的童鞋,往往死在安裝NVIDIA顯示卡驅動上,所以這篇文章幫助大家以正常的方式安裝NVIDIA驅動。
本文將介紹四種NVIDIA驅動安裝方式。具體選擇需要根據你的情況而定。
- 使用標準Ubuntu倉庫進行自動化安裝
- 使用PPA倉庫進行自動化安裝
- 使用官方的NVIDIA驅動進行手動安裝
什麼是nouveau驅動?
nouveau,是一個自由及開放原始碼顯示卡驅動程式,是為Nvidia的顯示卡所編寫,也可用於屬於系統晶片的NVIDIA Tegra系列,此驅動程式是由一群獨立的軟體工程師所編寫,Nvidia的員工也提供了少許幫助。
該專案的目標為利用逆向工程Nvidia的專有Linux驅動程式來創造一個開放原始碼的驅動程式。
所以nouveau開源驅動基本上是不能正常使用的,效能極低,所以網上有很多人都在罵:乾死黃仁勳!!
想了解歷史的可以去看看這篇知乎,騰訊和AMD是linux的罪人嗎?。
好了不扯了,正式開始講安裝把!
檢測NVIDIA驅動是否成功安裝
- 使用nvidia-setting命令
nvidia-setting
終端執行這個命令會調出NVIDIA的驅動管理程式,如下:
如果出現這個介面可以看到 NVIDIA Driver Version:390.48,這就代表nvidia-setting安裝正常。
- 使用nvidia-smi命令測試
英偉達系統管理介面(NVIDIA System Management Interface, 簡稱 nvidia-smi
nvidia-smi
執行這條命令將會打印出當前系統安裝的NVIDIA驅動資訊,如下:
我們可以看到我們顯示卡的型號,我的是GTX 960M,包括視訊記憶體大小都可以看見。
- 系統資訊檢視
這一步不重要,因為有時候系統資訊裡面顯示的可能會有誤,只顯示集顯不顯示獨顯的情況。
比如我的就沒有顯示出獨顯,如下:
這裡面不顯示沒有關係,可以略過。
- 命令列搜尋集顯和獨顯
開啟終端執行以下命令:
lspci | grep VGA # 檢視整合顯示卡
lspci | grep NVIDIA # 檢視NVIDIA顯示卡
如果都能搜尋到說明正常。
檢視nouveau是否啟動執行可以執行下面命令:
lsmod | grep nouveau
沒有返回代表沒有執行。
集顯與獨顯的切換
當我們需要切換獨顯與集顯的時候,一般就是外出的時候,想節省電量,增長待機時間。下面講解兩種切換方式。
- 使用nvidia-setting切換
終端執行nvidia-setting,在彈的介面中選擇獨顯與集顯:
- 命令列切換
NVIDIA提供了一個切換顯示卡的命令:
sudo prime-select nvidia # 切換nvidia顯示卡
sudo prime-select intel # 切換intel顯示卡
sudo prime-select query # 檢視當前使用的顯示卡
注意: 每一次切換顯示卡都需要重新啟動電腦才能生效。
使用標準倉庫進行自動化安裝
在安裝的發行版中,如 ubuntu, Linux Mint等,找到附加驅動管理軟體,下面是Linux Mint介面:
選擇推薦的驅動安裝,點選應用更改,等待下載然後重啟即可。
這種安裝方式有如下缺點:
如果你的顯示卡比較新可能會出現安裝低版本的NVIDIA驅動而造成即可安裝完成,但是並沒有真正安裝成功,可能會出現迴圈登入,關機宕機等等原因。
當你更換驅動的時候可能原有的NVIDIA驅動刪除不乾淨。
當然這種方式也是有優點的:
- 不需要手動禁止nouveau
- 操作方便
可能有的童鞋還使用過命令列的方式安裝:
sudo apt-get install nvidia*
如圖:
這種方式安裝同樣也是使用ubuntu官方源的形式安裝的,你可以選擇不同的驅動版本來安裝,但是本質上和標準倉庫進行自動化安裝是一樣的。
其實ubuntu自帶命令列版本安裝工具ubuntu-drivers,終端輸入:
ubuntu-drivers devices # 查詢所有ubuntu推薦的驅動
這路我是有一個推薦安裝的驅動,那就是nvidia-driver-390,明顯我已經安裝完成了。
然後就可以使用下面一條命令安裝所有推薦的驅動程式:
sudo ubuntu-drivers autoinstall
安裝完成後重啟就可以了,這裡要注意,這種安裝方式和驅動管理器軟體安裝的效果是一樣的,就是一個是UI版本,一個是命令列版本。
使用PPA倉庫進行自動化安裝
使用圖形驅動程式PPA儲存庫允許我們安裝NVIDIA beta驅動程式,這有可能會出現相容性的問題,但是有些時候必須使用這種方式,比如顯示卡比較新,使用上面所講的方式檢測驅動的安裝情況,如果不正常那麼只能使用這種方式安裝最新的NVIDIA驅動。
- 新增PPA到我們的系統:
sudo add-apt-repository ppa:graphics-drivers/ppa
更新系統源:
sudo apt update
此時我們就可以下載最新的NVIDIA驅動了:
安裝的方式有以下三種,其實前面已經講過,這裡總結一下:
- 附加驅動管理軟體
- sudo apt-get install nvidia-xxx
- ubuntu-drivers方式
這三種都可以,選擇一個版本安裝,然後重啟即可。
使用官方的NVIDIA驅動進行手動安裝
這種安裝方式我認為是比較野蠻的,也是最正規,最原始的的方式,當然難度是最高的。你可以來挑戰一下!!!!
1. 檢視當前電腦的顯示卡型號
lshw -numeric -C display
執行完畢後我的顯示卡型號為 GTX 960M,如下圖:
2. 下載NVIDIA官方驅動
到NVIDIA的官方驅動網站下載對應顯示卡的驅動程式,下載後的檔案格式為run。
下載好之後放到使用者目錄下,等下後面會用到。
3. 刪除原有的NVIDIA驅動程式
如果你沒有安裝過,或者已經解除安裝,可以忽略:
sudo apt-get remove –purge nvidia*
4. bios禁用禁用secure boot,也就是設定為disable
如果沒有禁用secure boot,會導致NVIDIA驅動安裝失敗,或者不正常。
5. 禁用nouveau
開啟編輯配置檔案:
sudo gedit /etc/modprobe.d/blacklist.conf
在最後一行新增:
blacklist nouveau
這一條的含義是禁用nouveau第三方驅動,之後也不需要改回來。
由於nouveau是構建在核心中的,所以要執行下面命令生效:
sudo update-initramfs -u
6. 重啟
reboot
重啟之後,可以檢視nouveau有沒有執行:
lsmod | grep nouveau # 沒輸出代表禁用生效
7. 停止視覺化桌面:
為了安裝新的Nvidia驅動程式,我們需要停止當前的顯示伺服器。最簡單的方法是使用telinit命令更改為執行級別3。執行以下linux命令後,顯示伺服器將停止,因此請確保在繼續之前儲存所有當前工作(如果有):
sudo telinit 3
之後會進入一個新的命令列會話,使用當前的使用者名稱密碼登入
8. 安裝驅動
給驅動檔案增加可執行許可權:
sudo chmod a+x NVIDIA-Linux-x86_64-390.48.run
然後執行安裝:
sudo ./NVIDIA-Linux-x86_64-390.48.run –no-opengl-files
安裝完成後重啟即可,記得驗證是否安裝成功,參考前面所講。
–no-opengl-files 引數必須加否則會迴圈登入,也就是loop login
引數介紹:
- –no-opengl-files 只安裝驅動檔案,不安裝OpenGL檔案。這個引數最重要
- –no-x-check 安裝驅動時不檢查X服務
- –no-nouveau-check 安裝驅動時不檢查nouveau
後面兩個引數可不加。
注意:
- 安裝CUDA時一定使用runfile檔案,這樣可以進行選擇。不再選擇安裝驅動,以及在彈出xorg.conf時選擇NO
到此NVIDIA的安裝方式講解完了。。。。
END