安裝nvidia 390/387/384顯示卡驅動出現登入死迴圈問題的參考解決方法
阿新 • • 發佈:2019-01-21
1080ti的nvidia顯示卡驅動好端端突然不能用,出現登入死迴圈的問題。這次,簡單重灌驅動還是解決不了問題,測試百度近期的解決方案均無法解決。我排除了其他可能性,這是新的bug,和最新版的驅動有關,百度上17年的舊方法均無法解決。
這個坑,不需重灌系統。具體的問題描述和解決方法重點如下:
問題描述
最新官網檢索1080ti-linux-64位顯示推薦提供了 384、387、 390 三個版本的驅動,匹配核心均需要 kernel 4.4.0.116,按照run檔案直接安裝或者apt-get方法安裝,沒有安裝這個版本核心的Linux系統,均會在安裝驅動前自動補裝4.4.0-116核心,導致最後出現錯誤:
nvidia:versionmagic‘4.4.0-116-generic SMP mod_unload modversions ….retpoline’
這個BUG在nvidia官網報道,目前給出的兩種(不可靠的)建議:
1:升級gcc到最新版後在再重新安裝核心,接著安裝驅動
(親測如何核心衝突,再怎麼升級gcc也沒用。我的電腦gcc由版本5.4.0降到4.9都無法成功安裝384以上的顯示卡驅動,最終均提示kernel version error或gcc version error)
2:核心直接降級核心到穩定版本4.4.0-112,再安裝驅動
(親測112版本的kernel與384以上版本的顯示卡驅動不相容)
綜合以上,選擇退而求其次:
安裝4.4.0-112版本kernel,再安裝低版本的381或者378版本的nvidia顯示卡驅動
解決方案
1:檢視本機核心安裝列表 $sudo dpkg --get-selections |grep linux-image linux-image-4.4.0-116-generic install linux-image-4.4.0-112-generic deinstall linux-image-4.4.0-109-generic deinstall 2:檢視當前使用的核心 $uname -r 4.4.0-116-generic 3:升級/安裝核心 $sudo apt-get install linux-image-4.4.0-112-generic 4:刪除核心 $sudo apt-get remove linux-image-4.4.0-116-generic $sudo apt-get autoremove **{tip:刪除當前版本重啟會使用低一級的已安裝核心,如果是最後一個核心版本刪除之後重啟會進入BIOS介面。 也可以不刪除當前版本,直接在/etc/default/grub中修改 GRUB_DEFAULT=0 為 GRUB_DEFAULT="Ubuntu, Linux 4.4.0-112-generic"}** 5:安裝與核心匹配的linux-headers $sudo apt-get install linux-headers-$(uname -r) 6:重啟 $reboot
二、安裝驅動
1.如果是第一次裝nvidia:
準備操作包括:
更新gcc到5.3版本及以上。
編輯grub檔案禁用nouveau,並:
&sudo update-grub
編輯blacklist將nouveau相關模組加入黑名單。
檢視是否成功禁用nouveau。
官網下載驅動安裝檔案,如以run為字尾(如果用ppa安裝的可以跳過這一步)。
tty1模式下關閉x-window:
$sudo service lightdm stop
直接執行run檔案或者用ppa安裝。
重啟x-window:
$sudo service lightdm restart
發現桌面解析度極大提升,不再出現迴圈登入的情況。
控制檯輸入nvidia-smi檢視驅動安裝情況。
2.如果從前有裝過nvidia,也就是已經禁用過預設驅動nouveau:
準備操作包括:
tty1模式下:
$sudo service lightdm stop
解除安裝原有nvidia驅動:
sudo apt-get -purge nvidia*
sudo apt-get autoremove
重啟x-windows檢視是否可以成功登入桌面,如果迴圈登入,說明nvidia沒有解除安裝乾淨。
解除安裝完成後,返回tty1,再次關閉x-window。
直接執行run檔案(或者用ppa安裝)。
重啟x-window:
&sudo service lightdm restart
發現桌面解析度極大提升,不再出現迴圈登入的情況。否則,再找方法解決。
控制檯輸入nvidia-smi檢視驅動安裝情況。