xrandr 添加新 mode (Ubuntu)
今天開機發現 Ubuntu Mate 的桌面整個變大了,去設定頁面看顯示器的部份,最高的解析度居然變為 1024x768??
這有點奇怪,我最近明明沒有動到這些設定阿。自從兩個小鬼頭每天早上都到這搞破壞後,我的這台電腦就變成了『巧虎 DVD 專用播放機』。這麼一想,大概就知道兇手是誰了。沒辦法,還是要搞定。
還是來研究一下老朋友 xrandr
的用法好了,先來看一下目前的狀況。
ghill@grantce:~$ xrandr -q
Screen 0: minimum 8 x 8, current 1024 x 768, maximum 32767 x 32767
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
VGA1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.00*
800x600 60.32 56.25
848x480 60.00
640x480 59.94
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
界面是 VGA1
,目前是輸出 1024x768@60HZ。我現在用的螢幕是 CHIMEI CMV-938D
螢幕,是 19 寸寬的螢幕,所以他的面板解析度應該是 1440x900,這也是我希望的桌面解析度。
先用 cvt
這個指令來看 1440x900 的 Timing 。
ghill@grantce:~$ cvt
usage: cvt [-v|--verbose] [-r|--reduced] X Y [refresh]
-v|--verbose : Warn about CVT standard adherance.
-r|--reduced : Create a mode with reduced blanking (default: normal blanking).
X : Desired horizontal resolution (multiple of 8, required).
Y : Desired vertical resolution (required).
refresh : Desired refresh rate (default: 60.0Hz).
Calculates VESA CVT (Coordinated Video Timing) modelines for use with X.
ghill@grantce:~$ cvt 1440 900
# 1440x900 59.89 Hz (CVT 1.30MA) hsync: 55.93 kHz; pclk: 106.50 MHz
Modeline "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
ghill@grantce:~$
更新率 [refresh]
預設是 60HZ ,所以不用打沒關係。
Modeline ...
那一行就是我們要的 Timeing 參數。接著用 xrandr
來新增這個 mode 並切換到 1440x900@60HZ 。
ghill@grantce:~$ xrandr --newmode "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
ghill@grantce:~$ xrandr --addmode VGA1 "1440x900_60.00"
ghill@grantce:~$ xrandr --output VGA1 --mode 1440x900_60.00
ghill@grantce:~$ xrandr -q
Screen 0: minimum 8 x 8, current 1440 x 900, maximum 32767 x 32767
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
VGA1 connected 1440x900+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1440x900 59.89 +
1024x768 60.00
800x600 60.32 56.25
848x480 60.00
640x480 59.94
1440x900_60.00 59.89*
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
ghill@grantce:~$
這樣就設定好了,畫面若是有點偏,就按一下螢幕旁邊的 [AUTO] 按鍵自動調整一下。上面的 VGA1
會根據每個人用的 port 而不同,如 HDMI1
或其他。
但問題是重開機後,就又要在輸入一次上面那些指令,只好用一個最簡單的方法,將上面的指令加入 ~/.xprofile
。
$ nano ~/.xprofile
xrandr --newmode "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
xrandr --addmode VGA1 "1440x900_60.00"
xrandr --output VGA1 --mode 1440x900_60.00
這樣每次開機就會顯示 1440x900@60hz 的解析度了。