Linux設備配置之顯卡配置
Linux下設備的配置過程是指在檢測到設備類型、設備當前工作參數等信息之后,使用這些信息來配置設備的驅動程序,工作方式等,(設備的檢測過程參見 《如何在Linux下實現硬件的自動檢測》)。要完成這樣的任務,需要做兩方面的工作:
其一是需要一個詳盡的設備信息文件,這個文件描述了設備標識、與設備標識對應的設備驅動程序、設備配置參數(設備選項)、設備設置的詳細描述、設備配置方法描述、設備對應的別名、設備的主設備號等信息。
其二是需要根據設備的類型,以及安裝的linux系統版本(不同的Linux發行版對于同一設備的配置腳本文件存在差異),設置設備對應的配置腳本文件。
窗口系統(XFree86)的配置過程
1. 顯示卡的描述文件介紹(CardDB)
CardDB是X配置程序使用的顯示卡數據文件。在對XFree86進行配置時,配置程序一般都需要讀取其上的內容完成顯示卡的配置。它的內容與使用的XFree86的版本密切相關。一般而言,它保存的位置是在/usr/X11R6/lib/X11/目錄下。現在我們就對XFree86 4.1.0的CardDB文件進行簡單的介紹:
NAME
顯示卡的描述名稱
CHIPSET
描述顯示卡使用的芯片集
SERVER
為了和3.x版本的XFree86向下兼容,由此字段指定此顯示卡在XFree86 3.x下的X服務器,例如VGA16,SVGA等。
DRIVER
描述在4.x版本的XFree86下顯示卡的驅動程序模塊。
LINE
設置顯示卡特定的選項信息,這樣的選項信息出現在XF86Config的Device節,對應設備的Option參數。
SEE
是指此顯示卡的配置信息與SEE字段所制定的顯示卡完全相同,例如
NAME Number Nine GXE64 with S3 Trio64
SEE S3 Trio64 (generic)
表示Number Nine GXE64的顯示卡配置與S3 Trio64 (generic)的配置完全相同。
RAMDAC
RAM直接存取控制的控制芯片型號
DACSPEED
直接存取控制的速度
CLOCKCHIP
此顯示卡的時鐘芯片的
NOCLOCKCHIP
此顯示卡無時鐘芯片
UNSUPPORTED
此類型的顯卡,此版本的XFree86不能提供支持
COMMENT
注釋
例如,對于RIVA TNT顯卡,XFree86 4.1.0中的信息如下:
NAME RIVA TNT
CHIPSET RIVATNT
SERVER SVGA
DRIVER nv
NOCLOCKPROBE
2. 顯示器信息檢測
顯示器的信息在XFree86系統中時非常重要的,它對應XFree86配置文件的Monitor節。在這一節中包含監視器的水平掃描頻率范圍,垂直掃描頻率范圍,顯示器支持的顯示模式等信息。同樣的,顯示器的自動檢測也就是通過程序自動讀出顯示器的上述信息。它的正確設置對于XFree86能否正常顯示起到很重要的作用。
對于顯示器的信息檢測,要求它必須支持vbe(VESA的BIOS級擴展)。在顯示器支持此擴展時,通過系統實模式下的BIOS調用INT 10H,可以取得顯示器的詳細信息。
可能需要的BIOS子功能調用為:
AH = 0x4F00
獲得關于監視器的VESA的BIOS級擴展信息
AH = 0x4F01
獲得監視器支持的特定顯示模式
AH = 0x4F02
設置當前的視頻模式
AH = 0x4F03
獲得當前的視頻模式
AH = 0x4F04
保存/還原svga顯示方式
AH = 0x4F15
獲得監視器的EDID擴展信息
一般的顯示器使用上述中斷的方式是:先檢查顯示器是否支持VESA的BIOS級擴展,如果顯示器支持BIOS級擴展,就查看顯示器支持的顯示模式,然后獲得顯示器的EDID擴展信息。在讀出的EDID擴展信息中,可以查出顯示器的垂直回掃頻率范圍和水平回掃頻率范圍,也可以計算出顯示器的大小,對于一部分顯示器還可以從此信息中讀出監視器的制造商信息。
由顯示器讀出的信息可以設置XF86Config的Monitor節,對于設置了正確的垂直回掃頻率范圍和水平回掃頻率范圍的顯示器,X自動設置為當前顯示分辨率下支持的最高掃描頻率的顯示模式(此顯示模式要求有對應的Modeline)。
但是如果您的顯示器不支持EDID擴展信息,那么您就只有根據經驗來設置顯示器的垂直回掃頻率范圍和水平回掃頻率范圍。如果設置的范圍高于監視器的實際支持范圍,那么顯示器會出現黑屏的現象。
對于編程實現,如果您要調用上述bios中斷,那么必須使用lrmi這個實模式接口,并設置正確的寄存器信息,完成系統調用。具體的檢測顯示器信息的例子,您可以參考Xconfigurator下ddcprobe的源程序,也可以參考Mandrake系統下的ddcxinfos命令的源程序。
3. 窗口系統的配置過程
要正確的在linux下配置窗口系統,實際上就是生成正確的XFree86配置文件,這個文件一般保存在/etc/X11/下,在X版本是3.x時,它的文件名為XF86Config,在X版本是4.x時,它的文件名一般為XF86Config-4。在現在的發行版本中,處于硬件兼容性的考慮,他們一般都讓這兩個版本的XFree86包共存。因此,您也可以在/etc/X11目錄下,發現這兩個文件同時存在,這時使用那個文件就要看系統的X服務器的版本了。
無論是那個版本的XF86Config文件都是由許多節(Section)構成的,但是這些節描述的內容主要包括:鍵盤、鼠標、顯示器、顯示卡、字體(顏色)等。
在X版本是3.x時,鍵盤和鼠標的描述分別對應Keyboard和Pointer節。而在X版本是4.x時,鍵盤和鼠標的描述都對應InputDevice節,只是對應不同的驅動模塊,鍵盤的驅動模塊是keyboard,鼠標的驅動模塊是mouse。配置這兩節所需要的信息可以從/etc/sysconfig/keyboard和/etc/sysconfig/mouse中獲得,它們的詳細內容,本文的前面章節已作了介紹。
配置顯示器實際上是生成XF86Config文件的Monitor節,需要配置的信息一般包括:水平掃描頻率范圍、垂直掃描頻率范圍、監視器支持的顯示模式、制造商信息。對于支持vbe和edid擴展的顯示器,可以根據從顯示器上讀出的信息設置對應字段的值。但是如果顯示器不支持上述擴展,則顯示卡的設置必須由用戶手動完成。如果您在配置XFree86時不指定這一節,那么XFree86會設置顯示模式為640x480,垂直掃描頻率為60hz的方式。不同顯示模式的掃描頻率:
顯示分辨率 垂直掃描頻率(Hz) 水平掃描頻率(kHz)
640x480 60 31.50
640x480 72 36.50
640x480 75 37.50
640x480 85 43.27
800x600 60 37.80
800x600 72 48.00
800x600 85 55.84
800x600 100 64.02
1024x768 60 48.40
1024x768 70 56.50
1024x768 76 62.50
1024x768 85 70.24
1024x768 100 80.21
1280x1024 61 64.20
1280x1024 70 74.59
1280x1024 74 78.85
1280x1024 76 81.13
1280x1024 85 91.15
1280x1024 100 107.16
1600x1200 60 75.00
1600x1200 70 87.50
1600x1200 75 93.75
1600x1200 85 105.77
表 6-1
從上表可以看出,您要設置顯示器達到某一分辨率,那么與此相對應,它的掃描頻率范圍也要包含上表中此分辨率的最低掃描頻率。如果您的顯示器達不到這個范圍,那么XWindow將無法正常工作。如果您設置的掃描頻率高于顯示器實際的掃描頻率范圍,由于XFree86會尋找對應分辨率下最高掃描頻率進行顯示,所以此時XWindow將極有可能黑屏。
在生成配置腳本時,掃描頻率的范圍也不是越低越好。設置較低的掃描頻率范圍對于部分LCD顯示器就不合適。比如,一部分LCD顯示器在800x600分辨率時,最低支持的垂直掃描頻率為70Hz,那么您這時指定的水平回掃范圍一定要包含48kHz。
在配置完顯示器之后,您就需要生成與顯示卡對應的描述了。這樣的描述信息對應XF86Config文件的Device節。這一節主要描述的顯示卡信息包括:顯示卡對應的X服務器(X版本在3.x),對應的X設備模塊(X版本為4.x),顯示卡的設備信息(供應商、型號、支持顯存存取方式和顯存大小等),以及此顯示卡支持的設備選項,比如顯示卡是否支持硬件加速、是否支持軟光標等。生成窗口系統的配置過程一般是先由pci的設備標識(檢測過程見)獲得顯示卡的類型,由此在XFree86的配置文件CardDB(這個文件可在/usr/X11R6/lib/X11/目錄下找到)中查得它對應的顯示卡描述,由此信息可以設置此節的描述。
字體和調色板信息描述的是字體和調色板所存放的路徑,您如果新加入字體時,需要在此加入正確的字體路徑。設置字體路徑時,如果指定它為unix:-1,那么就是說您在啟動X服務器之前,必須首先啟動字體服務器xfs,然后由字體服務器完成字體的訪問請求。
在您正確的設置了上述信息之后,您必須將這些信息存放在Screen節中。這一節描述的是完成顯示對應的顯示卡,顯示器,分辨率和缺省深度等信息。
最后,您還必須生成ServerLayout節,由它描述整個系統所使用的顯示卡配置節、監視器配置節、鼠標配置節、鍵盤配置節等信息。
在生成了/etc/X11/XF86Config(XF86Config-4)文件后,您就可以測試一下此配置文件是否正確了。例如,對于XFree86 4.x,生成的配置文件為/etc/X11/XF86Config.test,測試使用如下命令:
XFree86 -xf86config /etc/X11/XF86Config.test :9
-xf86config /etc/X11/XF86Config.test表示使用指定的配置文件啟動X服務器
:9 表示在終端9上運行X服務器
一般而言,如果是編程實現X的配置過程的話,則要以子進程的方式(系統調用fork)運行上述命令,在成功啟動X服務器之后,運行一個小的圖形化程序,讓用戶選擇配置是否成功。
當然,如果您不能得到顯卡的詳細的設備參數的話,您也可以使用probeonly選項獲得顯示卡的詳細信息。例如,對于XFree86 4.x測試使用如下命令:
XFree86 -probeonly :9
對于正常的啟動XFree86之后,系統輸出的信息,您可以通過讀取/var/log/XFree86.x.log獲得。x是指XFree86啟動的終端,一般設置此x為0。
在XF86Config文件配置之后,您可以使用startx啟動XFree86。這個文件會運行您的登錄目錄下的.xinitrc文件來修改X Window系統的初始顯示狀態。這個文件是一個腳本文件。如果這個文件不存在,系統就會默認使用/usr/X11R6/lib/X11/xinit/xinitrc。同時,startx還要查找/etc/X11/X,這個文件是一個鏈接文件,它指向真正的X服務程序,現在這個程序一般都指向Xwrappers,它?嵌訶服務程序的封裝。當然,這個文件也可以直接指向X服務程序XFree86。
#p#
4. 支持FrameBuffer方式的顯卡的配置過程
幀緩沖(FrameBuffer)設備是指一種不帶視頻加速的X11支持設備。啟動此方式的優點主要有三點:其一是在控制臺方式工作時,您能設置更大的控制臺顯示區,比如設置1024x768分辨率大小的控制臺;其二是可以在其上啟動XF86_FBDev(對于XFree86 4.x下,使用啟動模塊fbdev);其三是可以在啟動時顯示啟動徽標(一只胖胖的企鵝)。
在有時顯示卡對應的XFree86驅動程序不能正常工作時,而您又需要比較豐富的色彩時,啟動FrameBuffer往往是必須的選擇。啟動FrameBuffer時,XFree86啟動的分辨率由FrameBuffer的啟動模式決定。
能夠啟動FrameBuffer的設備是intel結構下與vesa 2.0標準兼容顯卡的幀緩沖設備,但是現在不能在支持vesa 1.2的顯卡上支持FrameBuffer。這是因為vesa 1.2不支持線性幀緩沖(線性幀緩沖意味著CPU能訪問顯卡的每一位)。您可以下載補丁,以使vesafb支持vesa 1.2的顯卡,比如一些較老的s3系列顯卡。
現在支持vesa 2.0的顯卡主要有:
ATI PCI VideoExpression 2MB (max. 1280x1024 @ 8bit)
ATI PCI All-in-Wonder
Matrox Millennium PCI - BIOS v3.0
Matrox Millennium II PCI - BIOS v1.5
Matrox Millennium II AGP - BIOS v1.4
Matrox Millennium G200 AGP - BIOS v1.3
Matrox Mystique & Mystique 220 PCI - BIOS v1.8
Matrox Mystique G200 AGP - BIOS v1.3
Matrox Productiva G100 AGP - BIOS v1.4
All Riva 128 based cards
Diamond Viper V330 PCI 4MB
Genoa Phantom 3D/S3 ViRGE/DX
Hercules Stingray 128/3D with TV output
Hercules Stingray 128/3D without TV output - needs BIOS upgrade (free from
support@hercules.com)
SiS 6326 PCI/AGP 4MB
STB Lightspeed 128 (Nvida Riva 128 based) PCI
STB Velocity 128 (Nvida Riva 128 based) PCI
Jaton Video-58P ET6000 PCI 2MB-4MB (max. 1600x1200 @ 8bit)
Voodoo2 2000
主板集成顯示卡:
Trident Cyber9397
SiS 5598
啟動FrameBuffer必須設置內核的啟動顯示模式,設置這個參數是通過內核參數vga=實現的。比如,設置啟動之后的分辨率為640x480下的16位色時,傳遞的參數為vga=785(十進制數)。您也可以在/etc/lilo.conf文件中設置此參數,由lilo傳遞內核參數。
內核支持的FrameBuffer顯示模式如下表:
顯示深度 640x400 640x480 800x600 1024x768 1152x864 1280x1024 1600x1200
4 bits 0x302
8 bits 0x300 0x301 0x303 0x305 0x161 0x307 0x31C
15 bits 0x310 0x313 0x316 0x162 0x319 0x31D
16 bits 0x311 0x314 0x317 0x163 0x31A 0x31E
24 bits 0x312 0x315 0x318 0x31B 0x31F
32 bits 0x164
表 6-2
向內核傳遞vesa選項還包括:
video=vesa:option,多個選項之間可用逗號隔開;
可接受的選項:
ypan
使用vesa保護模式接口顯示,可視屏幕是視頻內存的一個窗口。
pro
快速的整屏卷滾,允許回滾。
kontra
部分卷滾,可產生一些閃動效果。
ywrap
比ypan速度快,但是兼容性差。
redraw
缺省使用,通過重繪受影響的屏幕區進行重畫。
vgapal
缺省使用,標準的vga調色版寄存器。
pmipal
使用保護模式的調色版接口。
例如,下面的操作設置FrameBuffer設備的顯示:
export FRAMEBUFFER=/dev/fb1
fbset -fb /dev/fb1 -vyres 600
fbset -fb $FRAMEBUFFER 1024x768@60
startx -- :0 -bpp 16 vt06
在虛擬控制終端6以16為顏色深度啟動X服務器。
如果您要對幀緩沖設備編程,則可以象使用/dev/mem一樣,讀、寫、定位以及mmap()此設備。不同的是,您此時操作的設備內存位于視頻設備內存中。/dev/fb*設備也支持幾種ioctl操作,由此可以獲得或設置設備信息。顏色表的處理使用ioctl()。
5. XF86Config文件格式(版本為4.x系列)
5.1 文件的基本組成
文件的每節都是由下述的部分組成:
Section "SectionName"
SectionEntry
…
EndSection
SectionName包括:
Files 文件路徑名
ServerFlags 服務器標志
Module 動態模塊加載
InputDevice 輸入設備描述
Device 圖形設備描述
VideoAdaptor Xv視頻卡描述
Monitor 監視器描述
Modes 視頻模式描述
Screen 屏幕配置
ServerLayout 全面的層疊
DRI DRI特定的配置
Vendor 供應商特定的配置
出于向下兼容的目的,下列項雖已廢除但是配置文件仍能識別。在新的配置文件中,應使用新的InputDevice項。
Keyboard 鍵盤配置
Pointer 指針/鼠標配置
老的XInput節已經被廢除。
ServerLayout在最高層。它們綁定的輸入輸出設備會在這一節里使用。輸入設備由InputDevice描述,輸出設備通常有多個獨立的組件組成。多個組件組成Screen節。每個Screen節將圖形板和監視器綁定在一起。顯示卡由Device節描述,監視器由Monitor節描述。
5.2 Files節
Files節指定X服務器的字體路徑、調色板路徑和模塊路徑。
* FontPath "path"
設置字體的查詢路徑。對于字體服務器的表示采用下述的形式:
若此節不指定,則缺省的字體路徑是:
/usr/X11R6/lib/X11/fonts../misc/
/usr/X11R6/lib/X11/fonts/Speedo/
/usr/X11R6/lib/X11/fonts/Type1/
/usr/X11R6/lib/X11/fonts/CID/
/usr/X11R6/lib/X11/fonts/75dpi/
/usr/X11R6/lib/X11/fonts/100dpi/
一般而言,推薦的字體路徑是:
/usr/X11R6/lib/X11/fonts/local/
/usr/X11R6/lib/X11/fonts../misc/
/usr/X11R6/lib/X11/fonts/75dpi/:unscaled
/usr/X11R6/lib/X11/fonts/100dpi/:unscaled
/usr/X11R6/lib/X11/fonts/Type1/
/usr/X11R6/lib/X11/fonts/CID/
/usr/X11R6/lib/X11/fonts/Speedo/
/usr/X11R6/lib/X11/fonts/75dpi/
/usr/X11R6/lib/X11/fonts/100dpi/
* RGBPath "path"
rgb顏色數據庫的路徑,缺省值為:/usr/X11R6/lib/X11/rgb。
* ModulePath "path"
設置可加載的X服務器模塊的查找路徑。
5.3 ServerFlags節
ServerFlags節用于指定全局的X服務器選項,在一般情況下這個部分是空的。
* Option "NoTrapSignals" "boolean"
此選項可以阻止X服務器捕獲未期待的致命信號并干凈的退出。X服務器退出并擦除core文件。
* Option "DontZap" "boolean"
打開此選項之后,可以禁止Ctrl+Alt+Backspace的使用。
* Option "DontZoom" "boolean"
打開此選項,可以禁止鍵Ctrl+Alt+Keypad-Plus and Ctrl+Alt+Keypad-Minus來切換視頻模式。
* Option "DisableVidModeExtension" "boolean"
可以用來禁止VidMode擴展。
* Option "AllowNonLocalXvidtune" "boolean"
打開允許xvidtune客戶從其他的主機連接。
* Option "DisableModInDev" "boolean"
關閉可以禁止XFree86-Misc擴展(可用于動態修改輸入設備的設置)。
* Option "AllowNonLocalModInDev" "boolean"
允許客戶連接另一臺主機并且在運行的服務器上改變鍵盤和鼠標的設置。
* Option "AllowMouseOpenFail" "boolean"
即使鼠標設備不能被打開/初始化也允許X服務器啟動。
* Option "VTInit" "command"
在服務器所用的VT被打開之后運行命令。此命令被傳到"/bin/sh -c",以與此VT設置的stdin和stdout相同的真正用戶id運行。
* Option "VTSysReq" "boolean"
使非SYSV系統的VT能支持SYSV風格的切換序列。這意味著在Alt-SysRq之后緊接著功能鍵(Fn)。這阻止X服務器捕獲用于缺省VT的切換序列鍵(已使客戶能夠存取它們)。
* Option "BlankTime" "time"
設置黑屏屏保的超時時間。time以分鐘為單位,缺省10分鐘。(xset進行動態設置)
* Option "StandbyTime" "time"
* Option "SuspendTime" "time"
* Option "OffTime" "time"
設置進入DPMS的等待狀態的時間,這僅適于支持VESA DPMS兼容方式的監視器。缺省時間是20分鐘。(屏幕設置有DPMS選項設置)
* Option "Pixmap" "bpp"
設置象素格式使用深度為24的格式。
* Option "NoPM" "boolean"
禁止電源管理
* Option "Xinerama" "boolean"
使能或禁止XINERAMA擴展
5.4 Module節
此節用于指定加載的X服務器模塊。此節在X服務器以靜態方式建立時是被忽略的。在此節中加載的模塊一般為X服務器擴展模塊和光柵字體模塊。大多數其他模塊在需要時自動加載。
Load "modulename"
例如:Type 1光柵字體模塊由下列入口加載:
Load "type1"
SubSection "modulename"
Option "moduleoption"
EndSubSection
5.5 Inputdevice節
這一節寫入的信息是從/etc/sysconfig/mouse和/etc/sysconfig/keyboard中讀出的,并且要求兩者的設置基本保持一致。一般而言,都存在兩種輸入設備:其一是核心鍵盤,另一是核心指針,指針設備主要是指鼠標,但也可以是觸摸屏等其他設備。
Section "InputDevice"
Identifier "name"
Driver "InputDriver"
options
...
EndSection
* 最常見的InputDriver是"keyboard"和"mouse"。
* Option "CorePointer"
設備被作為核心指針安裝。系統必須要有一個核心指針。
* Option "CoreKeyboard"
在這一選項被設置時,設備被作為核心鍵盤安裝。系統中有且只有一個核心鍵盤。
* Option "AlwaysCore" "boolean"
* Option "SendCoreEvents" "boolean"
上面的兩個選項是等價的,它引起輸入設備總是報告核心事件。它可以用于附加的指針設備生成核心事件。
* Option "HistorySize" "number"
設置移動歷史的大小,缺省是0。
5.6 Device節
這一節描述顯示卡對應的信息,它的內容一般從CardDB文件中顯示卡對應的描述中獲得。若此設備節被Screen節引用,則認為此節是可用的。
Section "Device"
Identifier "name"
Driver "driver"
entries
… …
EndSection
* BusID "bus-id"
指定圖形卡的總線位置。對于PCI/AGP卡,bus-id串具有PCI:bus:device:function的格式。XFree86支持多個顯示卡的同時顯示
* Screen number
* VideoRam mem
此選項指定圖形卡的RAM數量,以KB為單位。X服務程序會自動探測顯示卡,所以此字段一般并不需要指定。
* Chipset "chipset"
圖形卡上的芯片組類型。
* Ramdac "ramdac-type"
* DacSpeed speed
* DacSpeed speed-8 speed-16 speed-24 speed-32
* ClockChip "clockchip-type"
* BiosBase baseaddress
* MemBase baseaddress
* IOBase baseaddress
* ChipID id
* ChipRev rev
* TextClockFreq freq
以上10個字段,它們表示一些具體的X配置參數。一般在配置X服務器時無需指定,而由自動檢測決定它們的值。
#p#
5.7 Monitor節
Monitor節描述顯示器的信息,至少有一個顯示器節。在顯示器支持vbe和edid擴展時,它的所有信息都可以從顯示器上讀出。
Section "Monitor"
Identifier "name"
entries
…
EndSection
VendorName "vendor"
顯示器的制造商
ModelName "model"
監視器的型號
HorizSync horizsync-range
監視器支持的水平刷新頻率范圍。單位是kHz,缺省范圍是28-33kHz。
VertRefresh vertrefresh-range
監視器支持的垂直刷新頻率范圍。單位是Hz,缺省范圍是43-72Hz。
Gamma gamma-value
Gamma red-gamma green-gamma blue-gamma
用于gamma校正,范圍從0.1到10.0,缺省值是1.0。并非所有的驅動程序具有使用此信息的能力。
UseModes "modesection-id"
包括Modes節稱為modesection-id列出的模式集合。這使得這些模式可用于此顯示器。
Mode "name"
設置視頻模式的詳細定義。以EndMode關鍵字結束。
DotClock clock
此模式下的點時鐘速率。
HTimings hdisp hsyncstart hsyncend htotal
指定模式的水平定時。
VTimings vdisp vsyncstart vsyncend vtotal
指定模式的垂直定時。
Flags "flag" ...
flag指定模式的選項設置。"Interlace"設置模式是交錯的。"DoubleScan"指定每個掃描行是雙次的。"+HSync"和"-HSync"指定HSync信號的極性。"+VSync"和"-VSync"指定VSync信號的極性。"Composite"指定復合同步信號。"+CSync"和"-CSync"指定復合同步信號的極性。
HSkew hskew
指定像素數
VScan vscan
每根掃描線繪制的次數。"DoubleScan"加倍這個值。
ModeLine "name" mode-description
Mode項的緊湊版本。大多數情況下,X服務程序內含的VESA顯示模式已經足夠,您無需另外指定。
5.8 Screen節
一個配置文件中可以有多個Screen節,但至少要有一個。這一節表示了顯示卡和監視器聯結在一起的信息。當它出現在ServerLayout中時,這一節所表示的信息就是激活的,否則系統選擇第一個出現的Screen節作為活動的。這一節描述了顯示分辨率,缺省深度等信息。它必須包含至少一個Display子節,這些子節提供了與顯示深度相關的信息。
Section "Screen"
Identifier "name"
Device "devid"
Monitor "monid"
entries
…
SubSection "Display"
entries
…
EndSubSection
…
EndSection
Device "device-id"
指定這一節所使用的Device節,device-id和Device節的Identifier相同。
Monitor "monitor-id"
指定這一節所使用的Monitor描述
VideoAdaptor "xv-id"
指定可選的Xv適配器描述
DefaultDepth depth
指定缺省顯示深度。
DefaultFbBpp bpp
指定缺省時使用的幀緩沖深度。
Display子節:
SubSection "Display"
Depth depth
entries
…
EndSubSection
Depth depth
指定此節表示的深度。
FbBpp bpp
指定此節表示的幀緩沖格式。
Weight red-weight green-weight blue-weight
指定16位顯示時,RGB三種顏色所占的權重
Virtual xdim ydim
設置邏輯虛屏的大小,xdim一般要求為8或16的整數倍。注意:有的驅動程序不允許設置虛屏。
ViewPort x0 y0
設置初始顯示的左上角。
Modes "mode-name" ...
設置此深度下的視頻模式列表。所指定沒個模式必須被雙引號括起來。這必須和Monitor節指定的信息相對應,也就是說,Monitor節指定的掃描頻率范圍一定要包含對應的模式。
Visual "visual-name"
visual-name可用的類型是StaticGray GrayScale StaticColor PseudoColor TrueColor DirectColor
Black red green blue
White red green blue
分別可以指定黑色和白色的顏色
5.9 ServerLayout節
每個配置文件可以有多個ServerLayout節,一個ServerLayout表示多個Screen和一個或多個輸入設備(InputDevice節)的組合。
Section "ServerLayout"
Identifier "name"
Screen "screen-id"
…
InputDevice "idev-id"
…
options
…
EndSection
Screen screen-num "screen-id" position-information
screen-id是強制的,指定引用的Screen節
InputDevice "idev-id" "option" ...
idev-id也是強制的,指定被引用的InputDevice節,可以指定多個選項,它們之間由引號隔開,這些選項也是InputDevice節支持的,包括:"CorePointer","CoreKeyboard","SendCoreEvents"。
例如,指定兩個?蟊輳?
Section "ServerLayout"
Identifier "Layout 1"
Screen "MGA 1"
Screen "MGA 2" RightOf "MGA 1"
InputDevice "Keyboard 1" "CoreKeyboard"
InputDevice "Mouse 1" "CorePointer"
InputDevice "Mouse 2" "SendCoreEvents"
Option "BlankTime" "5"
EndSection
大家看了上文自己就能在Linux下配置顯卡了,希望對大家有所幫助。
【編輯推薦】
- 深度討論Linux顯卡驅動很好使
- Linux livna顯卡驅動自動選擇最快的源
- NVIDIA Linux顯卡驅動的2010年回顧
- Linux系統下安裝顯卡驅動
- 3.18 集成顯卡惹的禍
- Linux操作系統的內核的編譯命令與更新
- Linux服務器集群系統之可伸縮Web服務
- Linux、Solaris和FreeBSD的內核比較