一、framebuffer简介
Framebuffer是操作系统供用户直接控制屏幕的接口,也就是直接对显存进行操作的接口。用户可以将Framebuffer看成是显示内存的一个映像,将其映射到进程地址空间之后,就可以直接进行读写操作,而写操作可以立即反应在屏幕上。这种操作是抽象的,统一的,用户不必关心物理显存的位置、换页机制等等具体细节,这些都是由 Framebufer设备驱动来完成。
二、framebuffer子系统研究
2.1 研究材料
研究的源码为kernel-3.4.39,研究的文件为fb.h,该文件在/include/linux下。
2.2 关键结构体
Framebuffer子系统的核心结构体是fb_info,其包含了各种显示控制器的可变及不可变信息、framebuffer的操作框架等。里面包装了各种描述framebuffer的成员以及操作控制framebuffer的方法。下面的其他结构体都是被包含在fb_info里面的,fb.h文件里面的结构体绝大部分也是被包含在fb_info里面。
描述显示控制器的一些可变参数,用户可以进行修改。