本文论讨在:
http://www.linuxsir.com/bbs/showthread.php?s=&threadid=5461
如果你找不到合适的显卡驱动程序,可以尝试用Frame buffer驱动显卡.
我的系统配置:
显卡:Sis315(Sis740主板集成)
Linux:Debian Woody3.0r0
Xfree86:4.0
Kernel:2.2.20(或2.4.18)
原理上,只要是2.2.x以上版本的内核,就可以用Frame buffer.
要使用Frame buffer,显卡必须支持vesa 2.0标准,只要不是老古董的显卡,一般都支持这个标准.使用Frame buffer分四个步骤:
1.建立一个支持Frame buffer的内核
2.建立Frame buffer设备
3.配置lilo
4.设置Xfree86
1.编译内核
取得内核的源代码,解压到/usr/src/linux目录,'make menuconfig'就进入内核参数的设置画面.
这里只介绍与Frame buffer有关的选项.
character device ->
<*>/dev/agpgart 支持AGP标准
...
[*]Generic SiS support 我的显卡是SiS的,所以选这一项
...
[*]Direct Rendering Manager (XFree86 DRI support)
...
<*> SiS SiS支持,不知道不选有没有关系,我一直选上
Console drivers ->
[*] VGA text console
[*] Video mode selection support
Frame-buffer support --->
[*] Support for frame buffer devices (EXPERIMENTAL) 这个一定要
...
[*] VESA VGA graphics console 必选
...
<*> SIS acceleration (EXPERIMENTAL) 这一项根据自己的显卡选
...
[*] SIS 315H/315 support
<*> Virtual Frame Buffer support (ONLY FOR TESTING!) 可能不用选,没试
[*] Advanced low level driver options 选上这一项后,下面多出很多,用缺省的就行
make bzImage
make modules
make modules_install
把编译好的内核拷到
/boot目录,文件名可自定,如
cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.2.5-fb
2.建立 frame buffer设备
frame buffer设备的 major为 29,minor 为 0(fb0),32(fb1). . . 224(fb7)?
创建fb设备
# mknod /dev/fb0 c 29 0
....
3.配置 lilo 的启动选项,主要是vga一项
下面是典型的lilo.conf文件(位于/etc目录)
boot = /dev/hda2
timeout = 500
prompt
read-only
image = /boot/vmlinuz-2.2.x
label = linux
root = /dev/hda2
other = /dev/hda1
label = dos
添加一新配置需添加 image,label,root及配合VESA frame buffer的 vga等四项:
image = /boot/vmlinuz-2.2.5-fb (新编译的内核)
label = linuxfb (启动标号,可自定)
root = /dev/hda2 (着一句具体会有不同,照你自己的lilo.conf)
vga = 0x314 (显示模式,参照下表)
other = /dev/hda1
label = dos
Linux_kernel_mode_number = VESA_mode_number + 0x200
640x480 800x600 1024x768 1280x1024
256 0x301 0x303 0x305 0x307
32k 0x310 0x313 0x316 0x319
64k 0x311 0x314 0x317 0x31A
16M 0x312 0x315 0x318 0x31B
我用的vga=788,相当于800*600*16,色彩深度16足够了,华丽,速度也可以.
重新起动,选新内核,应该有小企鹅的logo出现
4.设置Xfree86
主要是设置用vesa驱动,并配置相应的Screen
重新设置xserver-xfree86,Debian里用命令dpkg-reconfigure xserver-xfree86
驱动程序选vesa,色彩深度选16(跟前面lilo里的色彩深度一致,否则起动不了)
/etc/X11/XF86Config-4应该像这样
Device部分
Section "Device"
Identifier "Generic Video Card"
Driver "vesa" 用vesa驱动
Option "UseFBDev" "true"
EndSection
Screen部分
Section "Screen"
Identifier "Default Screen"
Device "Generic Video Card"
Monitor "Generic Monitor"
DefaultDepth 16 这是关键,前面选的色彩深度是16,这里也必须是16
...
SubSection "Display" 这是对应的Screen部分
Depth 16
Modes "1024x768" "800x600" "640x480"
EndSubSection
...
EndSection
现在试试startx,应该就可以了.至少能看到图形界面.
不少是抄的,我用的Debian Woody一开始就自动用vesa驱动我的显卡,
只要稍作改动就能用X了.(Frame buffer设备我就不用建)上面有很多是我在Debian potato上用vesa
的方法.现在SiS315好像只能这样驱动(尤其是集成的)
太长了,难免有错,要是用的话,手边最好有张救援盘.good luck,everyone