博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

睡前要抱抱

   mash.cublog.cn
关于作者  
mystérieux

我的分类  




Framebuffer的配置及应用
借助于framebuffer,我们能够在console下面作很多事情。

I. vesafb

比较简单的作法是用传统的vesafb,如果它被编译进了内核,
Device Drivers ->
    Graphics support ->
       
[*]Support for frame buffer devicecs ->
               [*]VESA VGA graphics support
那么在grub内核引导那一行的后面加上vga=792 它的含义是VESA framebuffer console 1024x768,24bit,进入系统后自动产生/dev/fb0节点,可以直接使用framebuffer,这种模式下的相关数据:
# fbset
mode "1024x768-76"
    # D: 78.653 MHz, H: 59.949 kHz, V: 75.694 Hz
    geometry 1024 768 1024 768 32
    timings 12714 128 32 16 4 128 4
    rgba 8/16,8/8,8/0,8/24
endmode

vesafb的相关资料:http://www.linux.org/docs/ldp/howto/Framebuffer-HOWTO-5.html

II. nvidiafb

也可以用具体显卡的framebuffer驱动,拿nVidia显卡为例,在内核的配置中要将它以模块的方式编译:
Device Drivers ->
    Graphics support ->
       
[*]Support for frame buffer devicecs ->
               [M]nVidia Framebuffer support
nVidia显卡的xorg驱动模块与其framebuffer的驱动模块是互相排斥的,如果要用一个就必须清除另一个:
# rmmod nvidia
装载nvidiafb:
# modprobe nvidiafb
装载成功的时候,会产生/dev/fb0设备,console屏幕上的字体会有变化。
看一下当前的配置:
# fbset
mode "1024x768-85"
    # D: 94.500 MHz, H: 68.677 kHz, V: 84.997 Hz
    geometry 1024 768 1024 32767 8
    timings 10582 208 48 36 1 96 3
    hsync high
    vsync high
    accel true
    rgba 8/0,8/0,8/0,0/0
endmode
需要改变一下geometry及色深:
# fbset -g 1024 768 1024 768 32
# fbset
mode "1024x768-85"
    # D: 94.500 MHz, H: 68.677 kHz, V: 84.997 Hz
    geometry 1024 768 1024 768 32
    timings 10582 208 48 36 1 96 3
    hsync high
    vsync high
    accel true
    rgba 8/16,8/8,8/0,8/24
endmode

这与vesafb的vga=792模式下用fbset得到的数据在某些方面略有不同。

III. uvesafb

uvesafb的意思是userspace vesafb,是vesafb的替代品,需要下载v86d,内核设置为:
General setup ->
[*]Initial RAM filesystem and RAM disk (initramfs/initrd) support
(/usr/share/v86d/initramfs) Initramfs source file(s)

Device Drivers ->
<*> Connector unified userpace <-> kernelspace linker
    Graphics support ->
       
[*]Support for frame buffer devicecs ->
               [*]Userspace VESA VGA graphics support
grub的内核引导行加上 video=uvesafb:1024x768-32,mtrr:3,ywrap 。

列举一下我们在console下面能够作的事情:

一、视频播放,可以用mplayer 或者 fbxine:
# mplayer -vo fbdev -vf scale=1024:768 video_file.avi
-vo fbdev 是告诉mplayer用framebuffer作视频驱动.
-vf scale=1024:768 是全屏的方法,可按屏幕的具体情况作调整
用fbxine的话需要下载:
# apt-get install xine-console

二、图片文件与pdf文件浏览:
# apt-get install fbi
用这个软件包里的fbi可以浏览图片,fbgs可以观看pdf文件:
# fbi -a *jpg
# fbgs -c *pdf

三、中文显示:
# apt-get install jfbterm
# jfbterm
中文显示的效果完美。

四、做一个boot splash

 发表于: 2008-06-28,修改于: 2008-07-24 01:52 已浏览276次,有评论0条 推荐 投诉

  网友评论

  发表评论



Copyright © 2001-2006 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们
页面生成时间:0.20815

京ICP证041476号