linux 开启支持FrameBuffer--解决打开/dev/fb0失败的问题

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模式。

色彩 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 ?              ?              ?               ?               ?                  ?

 

要使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.

 

如果是grup的启动程序可设置boot/grub/menu.lst文件.

 

以上设置后可解决程序打开/dev/fb0失败的问题.

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值