一、卸載驅動
卸載清理以前所有的nvidia*
sudo apt-get purge nvidia*
其他方法
sudo apt-get --purge remove nvidia*
sudo apt autoremove
sudo apt-get remove --purge nvidia-\*
二、安裝系統推薦的驅動
添加PPA源
sudo add-apt-repository ppa:graphics-drivers
更新
sudo apt-get update
預覽驅動列表
ubuntu-drivers devices
(上述驅動應該都是兼容的 任選一個版本即可)
安裝推薦的驅動
sudo apt-get install nvidia-driver-<version>
(一路摁Y即可)
重啟
sudo reboot
測試
nvidia-smi
(這是之前安裝的460版本,剛才安裝470只是示范)
三、3090顯卡重啟掉驅動的問題
可能是內核自動更新導致的不兼容問題,解決方法如下
參考:https://www.jianshu.com/p/4c9d0fdc376b
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.
中文意思:NVIDIA-SMI失敗了,因為它無法與英偉達驅動程序通信。請確保安裝並運行了最新的NVIDIA驅動程序。
-
禁用更新啊,內核不更新不就
-
重裝驅動啊,這不就是我原來的笨方法嗎
-
自動化重裝驅動啊,好的,重點來了
一個非常好的想法是我動態的根據內核版本來對我的驅動進行編譯(事實上就是重裝,但是期望他是自動執行的)。但是如何實現呢?
我可不會寫代碼啊,問題不大,前任已經寫好啦。吶:DKMS全稱是Dynamic Kernel Module Support,它可以幫我們維護內核外的這些驅動程序,在內核版本變動之后可以自動重新生成新的模塊。 不只是顯卡驅動是這個bug啊,多數都有這個毛病。
命令
sudo apt-get install dkms sudo dkms install -m nvidia -v 455.23.04 #455.23.04 是安裝驅動的版本 查看dkms管理的驅動 dkms status 顯示 沒有執行sudo dkms install -m nvidia -v 455.23.04之前 之后 nvidia, 455.23.04, 5.8.0-38-generic, x86_64: installed