免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1012 | 回复: 0
打印 上一主题 下一主题

fb设备 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-08 09:47 |只看该作者 |倒序浏览
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给我们提供的乐趣

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/93290/showart_1922005.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP