Linux驱动修炼之道-framebuffer

2014-11-24 09:17:30 · 作者: · 浏览: 0

帧缓冲(frame buffer)是Linux视频系统的核心概念,因此先了解一下他的功能。


因为视频适配器可能基于不同的硬件体系架构,较高内核层和应用程序的实现可能会因视频卡的不同而不同,这会导致在使用不同视频卡的时需要采用不同的方案。随之而来的低可移植性和冗余的代码需要大量的投入和维护开销。帧缓冲的概念解决了这个问题,它进行了一般化的抽象并规定编程接口,从而开发人员可以以与平台无关的方式编写应用层和较高内核层程序。因此,内核的帧缓冲接口允许应用程序与底层图形硬件的变化无关,如果应用和显示器驱动程序遵循帧缓冲接口,应用程序不用改变就可以在不同类型的视频硬件上运行。



s3c2410在Linux系统中的framebuffer驱动框架:



再来看framebuffer中用到的各种数据结构:






看下图可能会对fb_var_screeninfo中涉及的时序更清楚一些了。