當我們用Linux的案頭環境的時候,有時螢幕發生位移或分辯率太低,解決辦法總共有兩個,一個是安裝顯示卡的以驅動,另一個方法是通過xorg-x11軟體包所提供的工具 gtf 來調整。
一、顯示設定的管理工具
在Fedora 中,顯示器和顯示卡的組態工具是 system-config-display,存在於軟體包system-config-display中,如果您沒有這個命令或者在菜單上找不到這個工具,您可以自行安裝。
[beinan@localhost ~]# rpm -q system-config-display
system-config-display-1.0.29-1
如果沒有上面的提示,你可以通過軟體包管理工具 system-config-packages 來安裝此軟體。或者從光碟片映像中找出此包安裝。
[beinan@localhost ~]# rpm -ivh system-config-display*
調用方法:
[beinan@localhost ~]# system-config-display
或
[beinan@localhost ~]# /usr/bin/system-config-display
這個工具比較簡單,我們根據自己機器的配置就能配置得起來。值得注意的是如果您用液晶顯示器,一定要選擇LCD的。
二、顯示卡驅動
顯示卡的驅動能提供更強的功能,比如支援3D功能等。另外螢幕的解析度等問題,都與顯示卡是否有驅動有關。在系統預設安裝的狀況下,顯示卡的驅動都是不支援3D的。我們要讓系統支援3D,必須得有顯示卡驅動。
遺憾的是並不是所有的顯示卡都有官方發布的類Unix系統的驅動,目前看來NVidia顯示卡官方支援要強。ATI部份顯示卡能得到官方的支援,據AIT的官方的說明文檔得知,顯示卡版本必須高於8500的才有官方驅動可用。
如果您用的是Fedora Core 4.0 ,應該線上升級顯示卡驅動,請參考 《apt+synaptic 為Fedora core 4.0 中安裝Nvida晶片顯示卡及Ati 卡顯示驅動》。
我們可以用官方提供的顯示卡圖形調節工具來調整顯示內容。極為簡單,點滑鼠完成,和Windows類似。安裝完成ATI和NVIDIA驅動後,在菜單上有圖形的組態工具,自己找找看。
如果您用Intel 855整合顯示卡,可以參考《Intel 集在顯卡解析度調整工具 855resolution》
三、非NVidia 和ATI顯示卡或者並未被ATI廠家支援的案頭顯示問題的處理
如果您通過 system-config-display 並不能解決您的顯示方面的問題,比如螢幕位移,解析度上不去等問題。我們可以用gtf 工具來嘗試。
1、gtf工具來自哪個軟體包。
gtf 是來自軟體包 xorg-x11,一般的情況下,如果您安裝了案頭環境,就有這個工具。系統大多是預設安裝的。
2、什麼是gtf 。
gtf - calculate VESA GTF mode lines 中文的意思是計算顯示裝置VESA驅動GTF模式命令列工具。
什麼是gtf?gtf(generalized timing formula),一般程式時間,定義了產生畫面所需要的時間,包括了諸如畫面重新整理率等),另外gtf也是顯示裝置的一個工業標準。通過GTF則可以自動調節螢幕尺寸。
我們通過gtf 工具計算顯示器螢幕尺寸、解析度,然後我們把計算出來的值插入到 xorg.conf設定檔中,就能達到自動調節螢幕的顯示尺寸、位置 及解析度。
3、gtf的用法。
gtf h-resolution v-resolution refresh
[-v|--verbose] [-f|--fbmode] [-x|--xorgmode]
舉例:我的顯示器支援1024x768 ,能達到85HZ,在X模式下。
[beinan@localhost ~]# /usr/X11R6/bin/gtf 1024 768 85 -x
# 1024x768 @ 85.00 Hz (GTF) hsync: 68.60 kHz; pclk: 94.39 MHz
Modeline "1024x768_85.00"
94.39 1024 1088 1200 1376 768 769 772 807 -HSync +Vsync
把上面的輸出的資訊中Modeline一行,插入到/etc/X11/xorg.conf設定檔中的顯示器(Monitor)配置那段中。加入後類似。
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "LCD Panel 1280x1024"
HorizSync 31.5 - 67.0
VertRefresh 50.0 - 75.0
Option "dpms"
Modeline "1024x768_85.00"
94.39 1024 1088 1200 1376 768 769 772 807
-HSync +Vsync
EndSection
改動後,重啟X。重新進入桌面圖案。
4、 xdpyinfo工具。
我們通過gtf 工具調整了顯示器的屬性,我們通過觀察一般就知道是不是可行了。比如螢幕不閃動的過於厲害。顯示地區處於顯示屏正中等。但我們還有一個測試載入器xdpyinfo 來測試我們的調整 。
xdpyinfo - display information utility for X (用於X的顯示資訊測試載入器)。
[beinan@localhost ~]$ /usr/X11R6/bin/xdpyinfo
通過這個輸出,我們能查看到很多資訊,最重要的有如下一段。
default screen number: 0
number of screens: 1
screen #0:
dimensions: 1024x768 pixels (302x232 millimeters)
resolution: 86x84 dots per inch
depths (7): 24, 1, 4, 8, 15, 16, 32
root window id: 0x3f
depth of root window: 24 planes
我們可以在 xorg.conf中定義多個顯示螢幕,比如 1024x768;800x600等。顯示屏的定義的標識符號序列從0開始,以此類推。其實定義好一個就足夠用。預設的一般就行。如果我們自己調整,把1024x768類似的加入到screen 中色深為24那段的 Modes 行中。然後把預設色深設定為24就好。
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 16
Modes "800x600" "640x480"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024" "1152x864" "1152x768"
"1024x768" "800x600" "640x480"
EndSubSection
EndSection
其實上面的一段,我們足可以把色深為16的那段刪除或者下面的一段每行前面加#號注掉。因為我們用的是 24的。
SubSection "Display"
Viewport 0 0
Depth 16
Modes "800x600" "640x480"
EndSubSection
如果我們只有把 DefaultDepth 24 中的24改為16時,這段才起作用。