Intel 810/815 幀緩衝驅動程式¶
Tony Daplas <adaplas@pol.net>
2002年3月17日
首次釋出:2001年7月 最新更新:2005年9月12日
A. 簡介¶
這是一個適用於各種相容Intel 810/815圖形裝置的幀緩衝驅動程式。包括以下型號:
Intel 810
Intel 810E
Intel 810-DC100
Intel 815 僅限內建顯示卡,100Mhz 前端匯流排
Intel 815 僅限內建顯示卡
Intel 815 內建顯示卡和AGP
B. 功能¶
可選擇使用離散影片時序、VESA通用時序公式或幀緩衝專用資料庫來設定影片模式
如果啟用了VESA通用時序公式,支援可變範圍的水平和垂直解析度以及垂直重新整理率。
支援8、16、24和32位每畫素的顏色深度
支援偽彩色、直接彩色或真彩色顯示模式
在8、16和24位每畫素下提供完整且最佳化的硬體加速
穩定的影片狀態儲存和恢復
MTRR支援
利用使用者輸入的顯示器規格自動計算所需的影片模式引數。
可與執行原生i810驅動程式的xfree86併發執行
硬體游標支援
支援透過DDC/I2C或BIOS進行EDID探測
C. 可用選項列表¶
- “video=i810fb”
啟用i810驅動程式
建議:必需
- “xres:<value>”
選擇水平解析度(畫素)。 (如果指定了“mode_option”引數,此引數將被忽略。請參閱下面的“o”)。
建議:使用者偏好(預設 = 640)
- “yres:<value>”
選擇垂直解析度(掃描線)。如果啟用了離散影片時序,此引數將被忽略並計算為3*xres/4。(如果指定了“mode_option”引數,此引數將被忽略。請參閱下面的“o”)
建議:使用者偏好(預設 = 480)
- “vyres:<value>”
選擇虛擬垂直解析度(掃描線)。如果指定(0)或不指定,將根據最大可用記憶體進行計算。
建議:不要設定(預設 = 480)
- “vram:<value>”
選擇分配給視訊記憶體的系統RAM大小(MB)
建議:1 - 4 MB。(預設 = 4)
- “bpp:<value>”
選擇所需的畫素深度
建議:8(預設 = 8)
- “hsync1/hsync2:<value>”
選擇顯示器的最小和最大水平同步頻率(kHz)。如果使用固定頻率顯示器,hsync1必須等於hsync2。如果EDID探測成功,這些值將被忽略,並從EDID塊中獲取。
建議:查閱顯示器手冊獲取正確值(預設 = 29/30)
- “vsync1/vsync2:<value>”
選擇顯示器的最小和最大垂直同步頻率(Hz)。您也可以使用此選項鎖定顯示器的重新整理率。如果EDID探測成功,這些值將被忽略,並從EDID塊中獲取。
建議:查閱顯示器手冊獲取正確值(預設 = 60/60)
重要提示:如果您需要限制時序,請嘗試為計算誤差(溢位/下溢)留出一些餘量。例如:如果使用vsync1/vsync2 = 60/60,請確保hsync1/hsync2至少有1個單位的差異,反之亦然。
- “voffset:<value>”
選擇在邏輯記憶體中分配幀緩衝記憶體的偏移量(MB)。目的是避免標準圖形應用程式(XFree86)使用的記憶體塊。預設偏移量(64 MB光圈為16 MB,32 MB光圈為8 MB)將避免XFree86的使用,並允許最多7 MB/15 MB的幀緩衝記憶體。根據您的使用情況,向上或向下調整值(0表示最大使用,31/63 MB表示最少使用)。請注意,任意設定可能會與XFree86衝突。
建議:不要設定(預設 = 8 或 16 MB)
- “accel”
啟用文字加速。可以透過“fbset -accel true/false”隨時啟用/重新啟用此功能。
建議:啟用(預設 = 未設定)
- “mtrr”
啟用MTRR。這允許資料以突發方式傳輸到幀緩衝記憶體,從而顯著提高效能。由於“共享記憶體”,這對於i810/i815幫助不大。
建議:不要設定(預設 = 未設定)
- “extvga”
如果指定,輔助/外部VGA輸出將始終啟用。當沒有連線顯示器時,如果BIOS關閉VGA埠,此功能會很有用。之後無需重啟即可連線外部VGA顯示器。
建議:不要設定(預設 = 未設定)
- “sync”
強制硬體引擎執行“同步”操作,即等待硬體完成當前指令後再開始下一條指令。這將產生更穩定的設定,但會降低速度。
建議:不要設定(預設 = 未設定)
- “dcolor”
對於畫素深度大於8bpp的情況,使用directcolor視覺模式而非truecolor。對於色彩調整(如伽馬控制)很有用。
建議:不要設定(預設 = 未設定)
- <xres>x<yres>[-<bpp>][@<refresh>]
驅動程式現在接受引導模式選項的指定。如果指定此選項,則“xres”和“yres”選項將被忽略。有關用法,請參閱modedb預設影片模式支援。
D. 核心啟動¶
每個選項/選項對之間用逗號(,)分隔,選項及其值之間用冒號(:)分隔,如下所示
video=i810fb:option1,option2:value2
示例用法¶
在 /etc/lilo.conf 中,新增以下行
append="video=i810fb:vram:2,xres:1024,yres:768,bpp:8,hsync1:30,hsync2:55, \
vsync1:50,vsync2:85,accel,mtrr"
這將把幀緩衝初始化為1024x768,8bpp。幀緩衝將使用2 MB的系統RAM。MTRR支援將啟用。重新整理率將根據hsync1/hsync2和vsync1/vsync2的值計算。
- 重要
您必須包含hsync1、hsync2、vsync1和vsync2才能啟用優於640x480@60Hz的影片模式。然而,如果您的晶片組/顯示器組合支援I2C並具有EDID塊,您可以安全地排除hsync1、hsync2、vsync1和vsync2引數。這些引數將從EDID塊中獲取。
E. 模組選項¶
模組引數與核心引數基本相似。主要區別在於,對於那些不需要值的選項,您需要包含一個布林值(1表示真,0表示假)。
例如,要啟用MTRR,請包含“mtrr=1”。
示例用法¶
使用上述相同的設定,按如下方式載入模組
modprobe i810fb vram=2 xres=1024 bpp=8 hsync1=30 hsync2=55 vsync1=50 \
vsync2=85 accel=1 mtrr=1
或者只需將以下內容新增到 /etc/modprobe.d/ 中的配置檔案中
options i810fb vram=2 xres=1024 bpp=16 hsync1=30 hsync2=55 vsync1=50 \
vsync2=85 accel=1 mtrr=1
然後執行
modprobe i810fb
F. 設定¶
按照您通常的方法配置核心
make menuconfig/xconfig/config
在“Code maturity level options”(程式碼成熟度級別選項)下,啟用“Prompt for development and/or incomplete code/drivers”(提示開發和/或不完整程式碼/驅動程式)。
啟用Intel 810/815板載圖形的agpgart支援。這是必需的。該選項位於“Character Devices”(字元裝置)下。
在“Graphics Support”(圖形支援)下,選擇“Intel 810/815”,可以選擇靜態編譯或作為模組。如果您需要最大化顯示器的功能,請選擇“use VESA Generalized Timing Formula”(使用VESA通用時序公式)。為了安全起見,您可以不選擇此項。
如果您想支援DDC/I2C探測(即插即用顯示器),請將“Enable DDC Support”(啟用DDC支援)設定為“y”。要使此選項顯示,請將“use VESA Generalized Timing Formula”(使用VESA通用時序公式)設定為“y”。
如果您想要幀緩衝控制檯,請在“Console Drivers”(控制檯驅動程式)下啟用它。
編譯您的核心。
按照D和E節所述載入驅動程式。
嘗試DirectFB (http://www.directfb.org) + i810圖形驅動程式補丁,以檢視晶片組的實際工作(或不工作 :-))。
G. 致謝:¶
Geert Uytterhoeven - 他出色的操作指南和虛擬幀緩衝驅動程式碼使這成為可能。
感謝Jeff Hartmann的agpgart程式碼。
感謝X開發人員。只需閱讀XFree86原始碼即可獲得寶貴的見解。
感謝Intel©。感謝他們提供了這個注重價值的晶片組驅動程式和文件。
Matt Sottek。他的輸入和想法幫助實現了一些最佳化。
H. 主頁:¶
更完整且可能已更新的資訊可在 http://i810fb.sourceforge.net 獲取。
Tony