当前位置:  技术问答>linux和unix

谁能详细的阐述一下fb!!达人进!!!在线给分.

    来源: 互联网  发布时间:2015-09-15

    本文导语:  如题! | 呵呵,这个问题我以前详细解答过。如下 fb设备提供了一个图形硬件的抽象层,代表某些视频硬件的帧缓冲,帧缓冲可以直接通过规范定义的接口供软件访问(/dev/fb*)。我们熟知的Xwindow...

如题!

|
呵呵,这个问题我以前详细解答过。如下
fb设备提供了一个图形硬件的抽象层,代表某些视频硬件的帧缓冲,帧缓冲可以直接通过规范定义的接口供软件访问(/dev/fb*)。我们熟知的Xwindows有一个非加速X服务器,XF86_FBDev就是使用帧缓冲驱动,该驱动最早出现于XFree86 3.2版本中,现在已很成熟。
帧缓冲在各种显卡硬件各有不同,如ATI Rage128提供了自己的帧缓冲,Cirrus Logic,Matrox,PowerVR 2,都有自己的帧缓冲,TGA,VESA,是两种帧缓冲设备标准,VESA由于被大多数现代显卡所具有,所以使用的较为广泛。不同的帧缓冲设备需要在内核编译时使用不同的驱动。所以欲使用帧缓冲必须要拥有具有帧缓冲能力的显示卡。并且不同显卡对帧缓冲的支持能力也不同,如可以使用的分辨率模式(1024*768或800*600)及其下的色深。

    fb在linux的出现目的最初是为了在linux内核启动开始后,显示linux的logo图标(小企鹅),才增加入内核(是不是觉得有点无聊),这种东西是通过在内核启动时在未进入保护模式之前在bios的帮助下将显卡工作模式置于FB模式下,当然以后我们也不可能再切换回来了,因为大家知道在80x86的保护模式中我们无法使用底层bios功能。
    后来当然就开始使用它为linux文本控制台提供更大的字体和显示分辨率(如1024*768 32位真彩色),并且可以使用很cool的字体,以区别于80x25列的令人枯燥的文本字体。例如你可以让linux的文本界面像黑客帝国里的尼奥的电脑。Linux2.0之后的内核,你都可以通过在内核启动参数(一般在grub或lilo的配置文件中内核镜像文件名之后)中加一条vga=让linux在启动时进入帧缓冲控制台模式,linux内核模式号如下:
 linux内核模式号 = VESA模式号+ 0x200
所以linux内核模式号如下表
    | 640x480  800x600  1024x768 1280x1024
----+-------------------------------------
256 |  0x301    0x303    0x305    0x307
32k |  0x310    0x313    0x316    0x319
64k |  0x311    0x314    0x317    0x31A
16M |  0x312    0x315    0x318    0x31B
如果启动时出现问题,大多数情况下是显卡的问题。

    后来有人使用它为其它的国家语言提供语言平台,如我们的中文平台zhcon就是使用fb来显示中文字体。
    当然还有就是前面提到过的X Server:XF86_FBDev

    再多说两句,对于/dev/fb*可以像访问普通文件一样访问帧缓冲存储区。希望大家利用好帧缓冲,体会Linux给我们提供的乐趣。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问J2SDK1.3.1、1.4.0、1.4.1 FCS的区别,详细阐述。


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3