当前位置: 首页 / 常识 /

drm是什么意思如何设置(Linux DRM那些事-基本概念)

日期:2024-09-16 08:51:27

一、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框架。