Ubuntu16.04安裝NVIDIA驅動時的一些坑與解決方案 ...
這幾天在新購置的筆記本上部署工作環境,在安裝NVIDIA驅動的時候遇到了不少坑,重裝了很多次,在Ubuntu論壇以及其他資料源看了很多大牛的分析,最終終於解決了一個又一個問題,過程比較艱辛。由於網路上的各種答案很多,大多數是不能完美解決問題的,所以決定寫一篇博客總結一下一些常見問題以及我親測有效的解決方案,溫故知新,如果正好能解答一些後來者的問題,那就再好不過了。
首先介紹一下我的安裝流程,我所採用的是PPA的安裝方式:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-378 nvidia-prime
我遇到的幾個坑:
一、迴圈登錄
主要表現為在登錄界面輸入密碼後依然跳轉回登陸界面,無限迴圈,這是我在使用.run文件安裝時遇到的問題,這裡有一個親測有效的解決方案:
當輸入安裝指令時,不要簡單地輸入 sudo ./....run,而是輸入:
sudo ./NVIDIA.run -no-x-check -no-nouveau-check -no-opengl-files
-no-x-check:安裝驅動時關閉X服務
-no-nouveau-check:安裝驅動時禁用nouveau
-no-opengl-files:只安裝驅動文件,不安裝OpenGL文件
這樣再reboot,就不會出現迴圈登錄的問題。
二、重啟黑屏
主要表現為reboot後開機無法進入圖形界面,而是直接黑屏,但是還可以進入命令行界面。親測有效的解決方案:
sudo cp ~/tmp/xorg.conf.nvidia-xconfig-original /etc/X11/xorg.conf
sudo gedit /etc/X11/xorg.conf
確保xorg.conf.nvidia-xconfig-original(也可能在etc/X11路徑中)與xorg.conf的內容為:
Section "ServerLayout"
Identifier "layout"
Screen 0 "nvidia"
Inactive "intel"
EndSection
Section "Device"
Identifier "intel"
Driver "intel"
BusID "PCI:0@0:2:0"
Option "AccelMethod" "SNA"
EndSection
Section "Screen"
Identifier "intel"
Device "intel"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:1@0:0:0"
Option "ConstrainCursor" "off"
EndSection
Section "Screen"
Identifier "nvidia"
Device "nvidia"
Option "AllowEmptyInitialConfiguration" "on"
Option "IgnoreDisplayDevices" "CRT"
EndSection
然後reboot,就可以解決黑屏問題。
三、驅動不工作
主要表現為可以進入圖形界面,但是驅動不工作,無論是nvidia-smi還是nvidia-prime都是無效的。
出現這個問題的可能原因是沒有Disable掉Secure Boot(就是安裝驅動時提示你Disable的東西),解決方法也很簡單,在安裝完驅動後,reboot時,在開機出現一個全藍界面
時按任意鍵,選擇第二項,也就是改變Secure Boot的狀態,然後依據提示將它Disable掉,然後boot就好。
如果之後要Enable這個東西的話,輸入指令:
sudo mokutil --enable-validation
然後reboot,在開機的時候就會再次出現那個全藍的界面,依然選擇第二項,根據提示Enable,然後boot即可。
總的來說Ubuntu和NVIDIA之間還是挺不對付的,上面三個問題也是比較常見的三個問題,因此將問題及解決方案記錄下來,希望能幫助到各位。