不少人在更新完Linux顯卡驅動後,出現分辨率顯示不正常的現象,遇到這類問題不用擔心,下面小編就教你如何解決Linux顯卡驅動安裝後分辨率無法正常顯示的問題,一起來學習下吧。
驅動安裝:
這裡得說明一下,安裝新的顯卡驅動也有不完美的地方,就是開機進入系統的時候沒有了進度圈的可視化圖案,而且很有可能要強制修改分辨率才能正常顯示,但安裝顯卡驅動後可以使用系統自帶的桌面特效(很炫),而使用默認的noveau則有可視化的進度圈,分辨率也是不正常的,也可以強制修改,但不能使用系統自帶的桌面特效。後面都有介紹方法,可自行選擇。
1.到NIVIDIA官方網下載對應顯卡型號的驅動(格式為xxxxx.run)
在Linux下查找自己顯卡信息的指令為:lspci | grep VGA
2.關閉系統默認安裝好的顯卡驅動nouveau:
1) vim/etc/modprobe.d/blacklist.conf,在文件最後加上blacklist nouveau
2) 重建image :
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname-r).img.bak
dracut -v /boot/initramfs-$(uname -r).img $(uname -r)
3.安裝 gcc kernel-devel(驅動編譯工具):
yum -y install gcckernel-devel
(這要求自己配好yum源,本blog也有簡單介紹配yum源的文章)
4.進入圖形化界面:
init 3
5.登錄root,進入xxx.run驅動程序所在的路徑,然後執行:sh xxx.run
(驅動安裝完後,會出現非常坑爹的情況,就是3D加速可渲染能夠使用了,即桌面特效可以用了,但是分辨率出超級小,異常的很,所以還要修改分辨率)
分辨率設置:
首先得說明,這裡的分辨率修改是不完美的,因為畢竟是強制性的修改,但是本人是強迫症患者,所以在強制修改後做了一些後期的補救,所以總的來說這個不完美的修改,比起扁得像一砣翔的分辨率來說,還是可以接受的。
這裡有兩種強制修改分辨率的方法:
一、使用默認的顯卡驅動nouveau
若使用默認的顯卡驅動,則不需要關閉nouveau,只需執行一下的命令即可強制修改分辨率:
1)cvt 1920 1080 60 //19201080是你想要的分辨率 60是刷新率
執行結果:
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16kHz; pclk: 173.00 MHz
Modeline “1920x1080_60.00” 173.00 1920 2048 2248 2576 10801083 1088 1120 -hsync +vsync
注意:173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync+vsync 這個數據很重要,後面需要用到
2)xrandr --newmode “1920x1080_60.00”173.00 1920 2048 2248 2576 10801083 1088 1120 -hsync +vsync
注意,這裡使用的數據“173.00 1920 20482248 2576 1080 1083 1088 1120 -hsync+vsync”就是上面第一步中得到的數據,而“1920x1080_60.00”是自己定義的新的模式的名稱,如果你想要的分辨率是800x600,當然你可以改為“800x600”或者“800x600_60.00”(60.00只是標明刷新率是60,不是必要的)
3)xrandr --addmode VGA-0 “1920x1080_60.00”
注意,這裡的VGA-0不是固定的,而是根據具體的設備定的,有可能是VGA-0,VGA-1又或者是DIV1,DIV0都有可能,可通過xrandr指令查看當前連接的是哪個設備,一般在xrandr指令輸出信息的前幾行可以看到有個***connected xxxx,這個***就是你要使用的設備,上述指令的“1920x1080_60.00”參數就是在第二步裡面添加的分辨率模式。
4)xrandr --output VGA-0 --mode“1920x1080_60.00”
VGA-0 和“1920x1080_60.00“參數意思同上,guess what.
這步做完,就會發現分辨率已經修改好了,但是一重啟之後,就會發現,又恢復到原來的低分辨率了,所以這裡可以做一個腳本,使每次登錄的時候都自動執行這個腳本,那麼只要一登錄就會自動地把分辨率改過來了,系統會報“xxx不正常”的錯誤,但這個並不會影響使用。
腳本編寫:
1.vim xrandr-config.sh
2.在xrandr-config.sh文件中輸入:
#!/bin/bash
xrandr --newmode “1920x1080_60.00” 173.00 1920 2048 2248 2576 10801083 1088 1120 -hsync +vsync;
xrandr --addmode VGA-0 “1920x1080_60.00”;
xrandr --output VGA-0 --mode“1920x1080_60.00”
(注意,這裡只是把上面的操作全部移到一個腳本中,但是裡面省略了第一步,即cvt xxxx 這一部,因為cvt xxx得出的結果是固定不變的,所以我們可以記錄下第一步的數據直接放到第二部中去使用)
3.保存推出後vim /etc/profile,在文件最後加上xrandr-config.sh所在的路徑及名稱,如我放在/root/Documents裡面,則在/etc/profile最後加上/root/Documents/xrand-config.sh
4.重啟,用戶登錄後就會自動執行腳本強制修改分辨率了。
二、安裝顯卡驅動後強制修改分辨率
步驟同上,重啟之後也有同樣的問題,這裡寫好的腳本重啟之後卻沒有任何效果,
但是卻有一個很好的解決方法,在安裝了Nvidia驅動後,系統會多了一個Nvidia x serversettings的程序,執行修改分辨率的腳本之後,點擊打開 Nvidia x server settings這個程序,然後在左側目錄選擇 x server display configuration ,這時在右下退出和幫助按鈕上面有個saveto x configuration file的按鈕,點擊一下保存,下次打開就可自動修改分辨率了!
最後還有一個問題就是在修改完分辨率後可能會遇到字體顯示很奇怪的情況,這只是因為字體小而以,只需要點擊右鍵選擇更改桌面背景,然後選擇字體,把所有字體都選大一兩號,就可以完美地顯示了。
上面就是Linux安裝顯卡驅動後分辨率顯示不正常的解決方法介紹了,通常遇到這個問題後可以使用兩種方法進行解決,改回原來使用的顯卡驅動或者強制修改分辨率。