1. 将关键的图形卡初始化放在内核,如上传固件,设置DMA区域
2. 在多个用户态组件间共享渲染硬件,调度访问
3. 控制用户态程序对DMA的使用,以防读写了不该动的数据,
4. 通过提供显示内存alloc,管理图形卡内存
5. 实现modesetting,FB放在了DRM内
图片发自简书App
modsetting是设置图形卡上的显示模式,从VGA中断或VESA调用,到直接操作图形卡寄存器;具体的比如操作Crtc(管理读FB内存并转到Encoder)、Encoder(编码像素数据到Connector)、Connector(卡上的物理输出,DVI啥的)
libdrm是用户态与DRM内核模块的接口,DRM管理一切图形活动,提供基本图形功能:modsetting、FB驱动、内存管理。