1.用lshw -c display先檢查是否有正常抓到顯卡,若出現 *-display UNCLAIMED表示沒有對應的驅動可以正常驅動Nvidia顯卡
*-display UNCLAIMED <==出現UNCLAIMED description: 3D controller product: GM108M [GeForce 840M] vendor: NVIDIA Corporation physical id: 0 bus info: pci@0000:0a:00.0 version: a2 width: 64 bits clock: 33MHz capabilities: pm msi pciexpress bus_master cap_list configuration: latency=0 <==沒有出現driver=nvidia resources: memory:b3000000-b3ffffff memory:a0000000-afffffff memory:b0000000-b1ffffff ioport:3000(size=128)
正常應如下:
2.用dkms status檢查kernel版本對應的nvidia模組是否存在,譬如安裝了nvidia-driver-430以及目前使用的為kernel 4.18.20,那應該要出現:
nvidia, 430.26, 4.18.0-20-generic, x86_64: installed
再用lsmod | grep nvidia檢查是否有出現nvidia相關訊息,若什麼都沒出現表示沒正常載入。
3.若出現上述二種其中一種狀況,表示Nvidia驅動沒有正常載入,或者上面這些狀況明明都正常,但驅動一樣沒有正常啟用,可以試試以下步驟,通常可以解決90%以上的Nvidia驅動載入不正常問題。若系統已經無法進入桌面了,可以改進Recovery Mode下指令。
4.先檢查系統預設c/c++ compiler是否為gcc/g++ (很重要,請不要用clang/llvm,否則在安裝編譯模組時會出事)
sudo update-alternatives --config cc
sudo update-alternatives --config c++
5.加入最新的Nvida Graphic Driver PPA並安裝driver:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
看看目前可使用的driver有哪些:
sudo ubuntu-driver list
先清除原本的Nvidia driver再重新安裝(很重要):
sudo apt-get purge nvidia* libnvidia*
若要自動安裝最新的Nvidia Driver:
sudo ubuntu-drivers autoinstall
若要手動指定driver版本安裝,:
sudo apt-get install nvidia-driver-430
sudo apt-get install libnvidia-gl-430:i386 (若需要32bit version)
6.再重新安裝一次kernel
先查看目前使用的kernel版本:
#uname -r
4.18.0-20-generic
重新再安裝一次目前使用的kernel,此時也會重新建立模組鏈結(常常是這問題)
sudo apt-get install --reinstall linux-image-4.18.0-20-generic
7.reboot重開機
重開機後,若無法正常進入開機畫面(black screen),試著再做以下步驟:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
sudo rm /etc/X11/xorg.conf
sudo apt install --reinstall nvidia-prime
sudo prime-select nvidia
sudo rm /lib/modprobe.d/blacklist-nvidia.conf /etc/modprobe.d/blacklist-nvidia.conf
grep nvidia /etc/modprobe.d/* /lib/modprobe.d/*
找出上面含有 options nvidia-drm modeset=1 的檔案,將1改為0
sudo update-initramfs -u
8.若想每次重開機固定使用kernel版本,可以修改grub記住每次的開機選項:
sudo vi /etc/default/grub
加入
GRUB_SAVEDEFAULT=true
GRUB_DEFAULT=saved
sudo update-grub
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
sudo rm /etc/X11/xorg.conf
sudo apt install --reinstall nvidia-prime
sudo prime-select nvidia
sudo rm /lib/modprobe.d/blacklist-nvidia.conf /etc/modprobe.d/blacklist-nvidia.conf
grep nvidia /etc/modprobe.d/* /lib/modprobe.d/*
找出上面含有 options nvidia-drm modeset=1 的檔案,將1改為0
sudo update-initramfs -u
8.若想每次重開機固定使用kernel版本,可以修改grub記住每次的開機選項:
sudo vi /etc/default/grub
加入
GRUB_SAVEDEFAULT=true
GRUB_DEFAULT=saved
ref:
沒有留言:
張貼留言