Linux DRM那些事-基本概念

2020-11-14  本文已影响0人  小田BSP

一、DRM介绍

  在Linux内核中,可使用fbdev的API管理图形适配器的帧缓冲区,但是它无法处理基于GPU的现代显卡的3D加速功能。DRM是Linux内核的一个子系统,最初是作为X Server DRI的内核空间组件开发的,后续也被用于其它图形栈(如Wayland)。DRM负责与现代显卡的GPU接口交互,用户程序可以使用DRM提供的API,向GPU发送命令和数据,实现类显示模式设置的操作、GPU硬件加速的3D渲染、视频解码和GPGPU(通用GPU)计算。

二、名词介绍

  下表介绍了DRM框架中涉及到的部分名词:

缩写 全称 解释
DRI Direct Rendering Infrastructure 基层直接渲染
DRM Direct Rendering Manager 直接渲染管理器
FBDEV Framebuffer Device 帧缓冲设备
GEM Graphics Execution Manager 图形执行管理器
KMS Kernel Mode Setting 内核显示模式设置
UMS User-space Mode Setting 用户空间显示模式设置
V4L2 Video For Linux 2 linux视频设备驱动

三、DRM框架

  Linux DRM框架包括两部分:DRM core和DRM driver。DRM core实现了DRM的基本框架,可以注册DRM driver,同时为用户空间提供了一组ioctl。DRM driver主要实现它所支持的CPU/GPU等硬件部分驱动,提供DRM core未涵盖的或扩展(仅在此类硬件上可用)的ioctl实现。用户空间程序可以使用libdrm访问DRM框架的各种接口。
  由于在实际项目中只调试过libdrm和Linux DRM,后续先介绍这两部分。下图摘抄自网络,介绍了DRM框架。


image.png

参考:https://encyclopedia.thefreedictionary.com/Direct+Rendering+Manager

注:本文仅在简书、OSCHINA和今日头条发布过,转载请标注原作者和链接。

上一篇 下一篇

猜你喜欢

热点阅读