目录
一、引言
二、DRM框架介绍
三、DRM框架的使用
四、源码分析
一、引言
Android4开始,hdmi等视频输出框架开始由framebuffer想DRM迁移,今天我们就来简单分析下DRM框架
二、DRM框架介绍
DRM是一个内核级的设备驱动,具体的说是显卡驱动的一种架构
源码位置
因为Linux kernel内部接口和数据结构可能随时发生变化,所以DRI模块要针对特定的内核版本进行编译。kernel 2.6.26之后的版本,DRM(DRI kernel模块)源码存放在kernel/drivers/gpu/drm中;在这之前的版本,源码在kernel/drivers/char/drm目录中。
几个基本要素
画布( FrameBuffer )
对计算机来说,FrameBuffer 就是一块驱动和应用层都能访问的内存,当然画图之前要有一定的格式化,比方说我可以规定什么样的色彩模式(RGB24 , I420 , YUUV 等等), 分辨率是多大,还有啥参数,那就要到绘图现场去看了
绘图现场(CRTC)
简写翻译过来是阴级摄像管上下文,在DRM 里 CRTC 就表示显示输出的上下文了,首先 CRTC 内指一个 FrameBuffer 地址, 外连一个Encoder。