這幾天在新購置的筆記本上部署工作環境,在安裝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"EndSectionSection "Device"Identifier "intel"Driver "intel"BusID "PCI:[email protected]:2:0"Option "AccelMethod" "SNA"EndSectionSection "Screen"Identifier "intel"Device "intel"EndSectionSection "Device"Identifier "nvidia"Driver "nvidia"BusID "PCI:[email protected]:0:0"Option "ConstrainCursor" "off"EndSectionSection "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之間還是挺不對付的,上面三個問題也是比較常見的三個問題,因此將問題及解決方案記錄下來,希望能幫助到各位。  

1、首先需要解除安裝系統自帶的NVIDIA相關驅動:.
$ sudo apt-getpurge remove nvidia-glx nvidia-glx-new
$ sudo apt-getpurge remove nvidia-settings nvidia-kernel-common
2、原有驅動刪除之後,還需要將Ubuntu整合的開源驅動加入黑名單,即修改/etc/modprobe.d/blacklist.conf檔案:
sudo gedit /etc/modprobe.d/blacklist.conf
在該檔案中增加如下兩行:
blacklist nouveau
options nouveau modeset=0
3、為了能夠編譯CUDA提供的例子,還需要再安裝如下包:
sudo apt-get install freeglut3
安裝好後建立軟連結
sudo ln -s /usr/lib/x86_64-linux-gnu/libglut.so.3 /usr/lib/libglut.so
深度學習工具caffe詳細安裝指南


nvidia.ko問題

如果出現找不到nvidia.ko的問題,參照前面,安裝一次受限制驅動列表(源)便可。

【解決】Ubuntu安裝NVIDIA驅動後桌面迴圈登入問題


直接移除這個驅動(備份出來)

#    mv /lib/modules/3.0.0-12-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko /lib/modules/3.0.0-12-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko.org

重新載入一下    

#     update-initramfs -u

重啟發現字型已經變大了,解除安裝成功。

用官方驅動安裝,將驅動拷到主資料夾,然後按Ctrl+Alt+F1退到終端並登入

sudo /etc/init.d/gdm stop 停止介面服務

然後執行sudo sh ./Nv.......(驅動軟體名)

依次按照提示進行

成功


問題背景,debian系統,xfce 桌面手殘裝nvidia驅動,沒看仔細,執行了幾遍nvidia-xconfig,重啟進不去圖形..但是可以ctrl+alt+f2切換多工..
問題分析,把xorg配置檔案弄殘了,恢復如下..
問題解決,不算解決,算是恢復,接著繼續解決nvidia..
1.sudo Xorg -configure (生成檔案 ~/xorg.conf.new)

2. mv ~/xorg.conf.new /etc/X11/xorg.conf

3.reboot
#安裝一個依賴檔案,並更新系統
sudo apt-get install linux-headers-generic
sudo apt-get update
sudo apt-get upgrade
#查詢NVIDIA顯示卡驅動,並安裝
sudo apt-cache search nvidia*
#選擇一個你需要的,如nvidia 367 375
sudo apt-get install nvidia-367
sudo nvidia-xconfig
sudo reboot
sudo apt-get remove --purge nvidia-*
sudo apt-get install ubuntu-desktop
sudo rm /etc/X11/xorg.conf
echo 'nouveau' | sudo tee -a /etc/modules
#重啟系統
sudo reboot
sudo ubuntu-drivers devices

作者:king high
連結:https://www.zhihu.com/question/22504465/answer/111528441
來源:知乎
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。
Linux中禁用nouveau kernel driver後,導致系統無法進入的解決方案 在安裝cuda的時候,由於涉及到NVIDIA驅動的安裝,使得nouveau驅動與NVIDIA驅動衝突,為了能夠

在安裝cuda的時候,由於涉及到NVIDIA驅動的安裝,使得nouveau驅動與NVIDIA驅動衝突,為了能夠繼續安裝,必須禁用此驅動。禁用步驟如下:

1)把nouveau驅動加入黑名單,即在/etc/modprobe.d/blacklist.conf的後面加入:

blacklist nouveau 

2)備份initramfs檔案

sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bat

3)重新建立initramfs檔案

sudo dracut -v /boot/initramfs-$(uname -r).img $(uname -r)

4)檢查nouveau驅動,確保沒有被載入

lsmod | grep nouveau

5)執行相應的cuda安裝檔案(例如:cuda-*.run)

在禁用nouveau驅動後,重啟系統,如果無法進入,這時可以採用如下方法——

該方法有兩個前提:

1.你的電腦中擁有多個Linux系統,這裡簡稱為Linux1和Linux2;

2.在禁用nouveau驅動的時候,備份了initramfs檔案。

Linux1由於禁用nouveau驅動,導致開機無法進入系統。此時,先進入Linux2,然後執行如下命令:

注意:這裡的$(uname -r)指的是Linux1中的核心名稱,需要手動輸入,不然結果就是Linux2的核心名稱

1)sudo cp /boot/initramfs-$(uname -r).img.bat /boot/initramfs-$(uname -r).img

2)sudo dracut -v /boot/initramfs-$(uname -r).img $(uname -r)

最後重新啟動,就可以成功進入Linux1系統了。

ubuntu 16.04 解除安裝舊網絡卡noveau裝新的網絡卡驅動