发新话题
打印

显示驱动:FrameBuffer,libggi,vga三种图形驱动

显示驱动:FrameBuffer,libggi,vga三种图形驱动

显示驱动:framebuffer (最快), VGA (慢), libggi (慢).

FrameBuffer,可以译作“帧缓冲”,有时简称为fbdrv,基于fbdrv的console也被称之为fbcon。这是一种独立于硬件的抽象图形设备。FrameBuffer的优点在于其高度的可移植性、易使用性、稳定性。使用Linux内核的FrameBuffer驱动(vesafb),可以轻松支持到1024X768X32bpp以上的分辩率。而且目前可得到的绝大多数linux版本所发行的内核中,已经预编译了FrameBuffer支持,通常不需要重新编译内核就可以使用。所以FrameBuffer也是zhcon推荐使用的驱动方式。
               进入FrameBuffer可以简单地在系统启动时向kernel传送vga=mode-number的参数来激活FrameBuffer设备,如:
               lilo:linux vga=305
               将会启动1024x768x8bpp模式。              
                                                                                                      
色彩640x400640x480800x6001024x7681280x10241600x1200
4bits??0x302???
8bits0x3000x3010x3030x3050x3070x31C
15bits?0x3100x3130x3160x3190x31D
16bits?0x3110x3140x3170x31A0x31E
24bits?0x3120x3150x3180x31B0x31F
32bits??????
要使linux缺省进入FrameBuffer,可以修改/etc/lilo.conf,加入一下语句:
               vga=0x303
退出编辑,执行:
               lilo -v
重新启动linux,可以使其进入800x600的256色模式。
             libggi,libggi是一个跨平台的绘图库。在Linux上,libggi是通过调用FrameBuffer或svgalib来完成图形操作的,可能速度速度比较慢。但在某些不支持FrameBuffer或是vga的系统上使用libggi仍然是一种不错的选择。
要使用libggi,需要设置GGI_DISPLAY环境变量,例如:
               在.bash_profile中加入export GGI_DISPLAY=display-fbdev:-noinput
               将使用libggi提供的接口来完成图形输出(使用FrameBuffer)。更详细的信息请参阅libggi的文档。              
             vga,如果您的内核并没有编译进对FrameBuffer的支持,那么可以使用内建的vga驱动来使显目工作在640x480x16色的模式下。因为vga驱动是直接对显卡上的寄存器操作,所以这种方式的移植性很差,速度也比较慢。
               
系统启动时会按以下顺序来选择图形驱动:libggi(如果设置了环境变量GGI_DISPLAY),framebuffer,vga

[ 本帖最后由 cckj 于 2006-11-11 20:29 编辑 ]

本文由cckj 发布于Linuxsky 论坛,网址:http://bbs.linuxsky.org/thread-5121-1-1.html

相关主题

TOP

俺不是高手

请把具体的操作明示一下,谢谢~!

TOP

发新话题