毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> linux >> 正文

framebuffer在操作系统中处于什么位置

更新时间:2012-7-24:  来源:毕业论文

这两天看了一些关于Linux下Gui的介绍,但是对Framebuffer有一些疑问,请高人帮忙解答一下:
1.framebuffer在操作系统中处于什么位置呢?驱动和应用中间?和framebuffer一级的还有什么技术?  
  也就是说在开发一个系统的时候除了framebuffer还有什么别的选择?
2.我们在开发一个新系统的时候如果想要用framebuffer的话,是否还需要自己写相关显示芯片基于framebuffer的驱动呢?
  那么如果我的芯片本身支持一些加速的特殊处理,在freambuffer中怎么体现?
3.如何知道显示芯片是否支持framebuffer的操作?选择framebuffer时候需要注意什么?怎样知道自己的系统是否适合使用framebuffer呢?

帧缓冲设备提供了显卡的抽象描述。他同时代表了显卡上的显存,应用程序通过定义好的接口可以访问显卡,而不需要知道底层的任何操作。该设备使用特殊的设备节点,通常位于/dev目录,如/dev/fb*.

1.用户角度的/dev/fb*
从用户的角度看,帧缓冲设备和其他位于/dev下面的设备类似。他是一个字符设备,通常主设备号是29,次设备号定义帧缓冲的个数。
通常,使用如下方式(前面的数字代码次设备号)

  0 = /dev/fb0 First frame buffer
  1 = /dev/fb1 Second frame buffer
  ...
  31 = /dev/fb31 32nd frame buffer  

考虑到向下兼容,你可以创建符号链接:

  /dev/fb0current -> fb0
  /dev/fb1current -> fb1

and so on...

帧缓冲设备也是一种普通的内存设备,你可以读写其内容。例如,对屏幕抓屏:

  cp /dev/fb0 myfile

你也可以同时有多个显示设备,例如你的主板上出了内置的显卡还有另一独立的显卡。对应的帧缓冲设备(/dev/fb0 and /dev/fb1 etc.)可以独立工作。
应用程序如 X server一般使用/dev/fb0作为默认的显示帧缓冲区。你可以自定把某个设备作为默认的帧缓冲设备,设置$FRAMEBUFFER环境变量即可。在sh/bash:

  export FRAMEBUFFER=/dev/fb1

在csh中:

  setenv FRAMEBUFFER /dev/fb1

设定后,X server将使用第二个帧缓冲区设备。

2.程序员角度看/dev/fb*

[1] [2] 下一页

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©lwfree.com 六维论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。