IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux图形显示DRM框架学习 -> 正文阅读

[系统运维]Linux图形显示DRM框架学习

一、Direct Rendering Manager(DRM)是linux内核子系统,负责与显卡交互。DRM提供一组API,用户空间程序可以使用该API将命令和数据发送到GPU并执行诸如显示器的模式设置之类的操作。用户空间程序可以使用DRM API命令GPU执行硬件加速的3D渲染、视频解码、GPU计算。

二、fbdev:Linux内核已经有一个fbdev的API,用来管理图形适配器的帧缓存区,但不能用于满足基于3D加速的现代基于GPU的视频硬件需求,这些设备通常需要在自己的内存中设置和管理命令队列,以将命令分派给GPU,并且还需要管理该内存中的缓存区和可用空间。最初,用户空间程序直接管理这些资源,当多个程序试图同时控制相同的硬件,并以自己的方式设置每个资源时,就会出问题。

在这里插入图片描述
DRM允许多个程序同时使用视频硬件资源,DRM获得对GPU的独占访问权,负责初始化和维护命令队列、内存和其他资源。希望使用GPU的程序将请求发送到DRM。
在这里插入图片描述
DRM的范围已得到扩展,已涵盖以前由用户空间程序处理的功能,例如framebuffer管理和模式设置,内存共享对象和内存同步。这些功能有特定的名称如图形执行管理器(GEM)或内核模式设置(KMS)。

DRM检测到的每个GPU都称为DRM设备,并创建了一个设备文件/dev/dri/cardX与之连接,并使用ioctl调用与DRM进行通信。

三、libdrm:一个方便用户空间程序与DRM子系统的接口库。使用libdrm不仅避免将内核接口直接暴露给应用程序,而且还提供在程序之间重用和共享代码的优点。
在这里插入图片描述
四、DRM由两部分组成:通用DRM core:提供可以注册不同DRM驱动程序的基本框架;为用户空间提供了具有通用的、独立于硬件、功能最少的ioctl集。
受支持的特定部分DRM Driver:实现API的硬件相关部分,取决于支持的GPU类型,提供其余的ioctl实现。可以扩展API,提供特定GPU附加功能的ioctl,用户空间libdrm也将通过一个额外的库libdrm-driver扩展。
在这里插入图片描述
五、DRM-Master和DRM-Auth:DRM API中有几个ioctl由于并发问题仅限用户空间单个进程使用,所以将DRM设备分为Master和Auth。

六、GEM:Graphics Execution Manger(GEM)是一种内存管理方法

七、TTM:Translation Table Maps是在GEM之前开发的用于GPU的通用内存管理器

八、DMA-BUF:DMA缓冲区共享API是一种Linux内核内部API,旨在提供一种通用机制在多个设备之间共享DMA缓冲区。

九、KMS:Kernel Mode Setting 为了正常工作,显卡或者图形适配器必须设置一种模式(屏幕分辨率、颜色深度和刷新率的组合)。这个模式必须在其自身和所连接的显示屏支持的值的范围内。此操作称为mode-setting

在这里插入图片描述
十、Render nodes:除了主节点/dev/dri/cardX,还会创建一个设备文件/dev/dri/renderDX,称为渲染节点。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-05-24 18:35:01  更:2022-05-24 18:37:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 15:36:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码