Next: 多内码支持
Up: 使用指南
Previous: 使用指南
要在控制台上显示中文,首先要使控制台进入图形状态。zhcon目前支持FrameBuffer,libggi,vga三种图形驱动。zhcon在装载时会检测是否存在FrameBuffer图形驱动,如果没有,则直接对VGA进行控制,进入640X480的16色图形模式。这样,甚至不需要重新编译内核,也可以装载汉字系统。
- FrameBuffer:
FrameBuffer可以译作“帧缓冲”,这是一种独立于硬件的抽象图形设备。 FrameBuffer的优点在于其高度的可移植性,易使用性上稳定性。 fbdrv是Linux kernel很早就提供的图形驱动,它甚至可以作为X Window的底层驱动,不过有些Linux的版本并没有把它编译到核心中,或是没有缺省的配置和使用它。简单地修改/etc/lilo.cfg,执行lilo -v,重启动计算机如果您幸运的话,就可以看到可爱的企鹅图标了。
fbdrv可以支持很多老的显卡,如VGA,EGA,大力神单显等,也支持最新的VESA 2.0标准。所以,尽量选用fbdrv,可以得到最佳、最快的显示,使zhcon可以运行在640X480X8bpp到1024x768x32bpp,也就是说可以充分发挥显卡和显示屏的威力。使用Linux内核的FrameBuffer驱动(vesafb),可以轻松支持到1024X768X32bpp以上的分辩率。 FrameBuffer是推荐使用的驱动方式。 可以在系统启动时向kernel传送vga=mode-number的参数来激活FrameBuffer设备,如:
lilo:linux vga=305 将会启动1024X768X8bpp模式。
下表列出了不同色彩模式和相应的参数:
色深 |
640x400 |
640x480 |
800x600 |
1024x768 |
1280x1024 |
1600x1200 |
4bits |
? |
? |
0x302 |
? |
? |
? |
8bits |
0x300 |
0x301 |
0x303 |
0x305 |
0x307 |
0x31C |
15bits |
? |
0x310 |
0x313 |
0x316 |
0x319 |
0x31D |
16bits |
? |
0x311 |
0x314 |
0x317 |
0x31A |
0x31E |
24bits |
? |
0x312 |
0x315 |
0x318 |
0x31B |
0x31F |
32bits |
? |
? |
? |
? |
? |
? |
有关FrameBuffer更详细的信息请参阅:/usr/src/linux/Documentation/fb/vesafb.txt 和<<Framebuffer HOWTO>>
- libggi:
libggi是一个跨平台的绘图库。 由于fbdrv支持的显示类型很多,驱动方式又不统一,zhcon只内建了最常用的4bpp到32bpp的VESA 2.0支持,其它的显示类型则透过libggi的统一图形接口提供支持,所以zhcon实际上可以支持更多的fbdrv,只要是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.
Next: 多内码支持
Up: 使用指南
Previous: 使用指南
Debian User
2001-12-17