Linux 图形栈
DRI1 https://dri.freedesktop.org/ 即 Direct Rendering Infrastructure,在 X11 下以安全、高效的方式直接访问图形硬件的框架。DRI 实现分散在 X 服务器及其相关的客户端库、Mesa 和 DRM 内核子系统中。
DRM2 https://dri.freedesktop.org/wiki/DRM/ 即 Direct Rendering Manager,Linux 内核中负责显卡 GPU 的接口子系统。DRM 暴露 API,用户空间程序可以使用它向 GPU 发送命令和数据,并执行一些操作,比如配置显示器的模式设置。用户空间程序可以使用 DRM API 命令 GPU 进行 3D 硬件加速渲染和视频解码,以及 GPGPU 计算。
/dev/dri/card0
KMS 即 kernel mode-setting,激活计算机显示控制器的显示模式(屏幕分辨率、颜色深度和刷新率)。
DRM 的用户空间库,便于用户空间程序与 DRM 子系统交互。
也叫 Mesa3D3 https://mesa3d.org/,OpenGL、Vulkan 和其他图形 API 规范的开源软件实现。Mesa 将这些规范转换为特定于供应商的图形硬件驱动程序。除了游戏等 3D 应用程序,现代化显示服务器使用 OpenGL/EGL。因此,所有图形通常都经过 Mesa。
主要分为两部分:
xserver-xorg-video-*
。