2004年6月這個版本的 driver ,在編譯時會有小問題
(天啊~~他編譯路徑寫死的啦)
要先把檔案解壓縮到 /var/lib 之下
變成 /var/lib/dripkg 這樣
然後編輯 /var/lib/dripkg/drm/Makefile.linux
大約是 51 行的地方,把 MODULE_LIST += gdg.o i810.o
改成
- 代碼: 選擇全部
MODULE_LIST += gdg.ko i810.ko
(沒錯,要給 2.6 的 kernel 用的,所以要改成 .ko)
還有要編輯 /var/lib/dripkg/drm/drm_vm.h
大約是 104 行的地方
把呼叫 DRM_DEBUG 那句
- 代碼: 選擇全部
DRM_DEBUG("baddr = 0x%lx page = 0x%p, offset = 0x%lx, count=%d\n",
baddr, __va(agpmem->memory->memory[offset]), offset,
atomic_read(&page->count));
改成如下:
- 代碼: 選擇全部
DRM_DEBUG("baddr = 0x%lx page = 0x%p, offset = 0x%lx \n",
baddr, __va(agpmem->memory->memory[offset]), offset);
(沒錯,它struct沒有 count 這個 member, 不改的話編譯會 error)
改好之後就可以在 /var/lib/dripkg 之下執行 ./install.sh
新的 driver module 就會幫你產生好而且放到該放的地方。
接下來在提示符號下執行:
gtf 1280 800 60 -x
應該會得到以下兩行:
# 1280x800 @ 60.00 Hz (GTF) hsync: 49.68 kHz; pclk: 83.46 MHz
Modeline "1280x800" 83.46 1280 1344 1480 1680 800 801 804 828 -HSync +Vsync
把這兩行貼到 /etc/X11/XF86Config-4 的 Section "Monitor" 裡面
變成像是這樣:
- 代碼: 選擇全部
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
# Get this information from : gtf 1280 800 60 -x
# 1280x800 @ 60.00 Hz (GTF) hsync: 49.68 kHz; pclk: 83.46 MHz
Modeline "1280x800" 83.46 1280 1344 1480 1680 800 801 804 828 -HSync +Vsync
EndSection
接著到 Section "Screen"
把 DefaultDepth 改成 24
然後在其下的 SubSection "Display" 改成剛剛加入的 Modeline`變成像是這樣:
- 代碼: 選擇全部
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x800"
EndSubSection
EndSection
然後到 http://perso.wanadoo.fr/apoirier/
抓下 855resolution 下來,make;make install 之後
下指令:
- 代碼: 選擇全部
855resolution -l
就會把現在 VBIOS 支援的 mode 全部列出來
像這樣
- 代碼: 選擇全部
Chipset: 855GM
VBIOS type: 1
BIOS Version: 3240
Mode 30 : 640x480, 8 bits/pixel
Mode 32 : 800x600, 8 bits/pixel
Mode 34 : 1024x768, 8 bits/pixel
Mode 38 : 1280x1024, 8 bits/pixel
Mode 3a : 1600x1200, 8 bits/pixel
Mode 3c : 1920x1440, 8 bits/pixel
Mode 41 : 640x480, 16 bits/pixel
Mode 43 : 800x600, 16 bits/pixel
Mode 45 : 1024x768, 16 bits/pixel
Mode 49 : 1280x1024, 16 bits/pixel
Mode 4b : 1600x1200, 16 bits/pixel
Mode 4d : 1920x1440, 16 bits/pixel
Mode 50 : 640x480, 32 bits/pixel
Mode 52 : 800x600, 32 bits/pixel
Mode 54 : 1024x768, 32 bits/pixel
Mode 58 : 1280x1024, 32 bits/pixel
Mode 5a : 1600x1200, 32 bits/pixel
Mode 5c : 1920x1440, 32 bits/pixel
然後選一個你用不到的 mode,我是選 1920x1440 .32 bits這個 mode
而對應到的 mode 編號是 5c
所以就接著下
- 代碼: 選擇全部
855resolution 5c 1280 800
然後你可以再用 855resolution -l 看看是不是真的寫進去了。
如果真的寫進去了,恭喜你
啟動 Xwindow, 寬螢幕1280x800的 X 就出現啦
不過呢,因為這個 855GM chip 是 soft bios 的方式寫進去的
所以 reboot 之後剛剛在 VBIOS定義的 mode 就會消失,回到原本的樣子。
建議寫到 /etc/init.d 或是你習慣放開機時執行自訂程式的地方吧~
GOOD LUCk !