OS: Android 7.1
Board: Firefly-RK3399
Kernel: v4.4.55
DRM介绍:
DRM全称 Direct Rendering Manager, 是device-independent内核级别驱动,内核提供直接访问硬件的权限, 原本是设计提供给PC使用来支持复杂的图形设备,后来也用于嵌入式系统上。
PC一般都有显卡并且有自己的video memory,而嵌入式系统没有。
DRM组成:
- KMS(Kernel Mode Setting): 改变分辨率和位深
- DRI(Direct Rendering Infrastructure): 直接访问硬件接口
- GEM(Graphics Execution Manager): 内存管理
- DRM Driver in kernel side: 访问硬件
没有DRM,嵌入式系统怎么实现显示和内存管理?
- Display:基于Linux Framebuffer
- Multimedia: 基于V4L2
- Buffer Manager: 基于ION, PMEM等
为什么要选择DRM?
- 社区一直在维护
- 在显示部分提供细粒度控制
- user-space graphic使用很广
- 提供一整套高级features
为什么不选择FBDEV或者V4L2?
- FBDEV: 社区维护者较少; 无法提供overlay hw cur