由于显卡生产商支持不够,使得在 Linux 下驱动显卡一直都是难题。为了解决这个问题,Linux 2.2.x 以上版本提供了一种新的解决方案 - 使用 frame buffer 设备,通过 VESA VBE 2.0 标准,利用显卡 SVGA 特性,配合 XFree86 的 XF86_FBDev 驱动你的显卡。这的确可以帮你个忙。
1) 确认你有 XF86_FBDev 文件,如果没有就从 ftp.xfree86.org 下载;
2) 执行“mknod /dev/fb0 c 29 0”建立 frame buffer 设备;
3) 修改 /etc/lilo.conf 文件,加入:
image = /boot/vmlinuz-2.2.5-fb (新编译的内核)
label = linuxfb (启动标号,可自定)
root = /dev/hda2 (参照 lilo.conf 其他部分)
vga = 0x314 (显示模式,参照下表)
附:显示模式表
640x480 800x600 1024x768 1280x1024
256色 0x301 0x303 0x305 0x307
32k色 0x310 0x313 0x316 0x319
64k色 0x311 0x314 0x317 0x31A
16M色 0x312 0x315 0x318 0x31B
4) 执行 /sbin/lilo,使配置生效,然后重启,以新的内核启动系统。当然,如果你的内核已经支持了,就无需做这个修改,直接加上 vga= 那一行就行了。
5) 接着进行 frame buffer Server 的配置:参照 /etc/X11/XF86Config 中 vga 的配置,加入一个 screen 小节,如下所示:
Section "Screen"
Driver "fbdev"
Device "My Video Card"
Monitor "MAG XJ500T"
Subsection "Display"
Depth 16 (色深,须与前面所选显示模式的色深一致)
Modes "default"
ViewPort 0 0
EndSubsection
EndSection
6) 将 X 指向 XF6_FBDev:
cd /etc/X11
mv X X.bat
ln -snf /usr/X11R6/bin/XF86_FBDev X