Linux DRM介绍
来源:互联网 发布:木地板怎么解决知乎 编辑:程序博客网 时间:2024/05/16 10:39
wiki原文:https://en.wikipedia.org/wiki/Direct_Rendering_Manager
DRM全称Direct Rendering Manager,是替换Framebuffer的最新机制,下面是WIKI上对DRM的介绍。
In computing, the Direct Rendering Manager (DRM), a subsystem of the Linux kernel, interfaces with the GPUs of modern video cards. DRM exposes an API that user-space programs can use to send commands and data to the GPU, and to perform operations such as configuring the mode setting of the display. DRM was first developed as the kernel space component of the X Server's Direct Rendering Infrastructure,[1] but since then it has been used by other graphic stack alternatives such as Wayland.
User-space programs can use the DRM API to command the GPU to do hardware-accelerated 3D rendering and video decoding as well as GPGPU computing.
The Linux Kernel already had an API called fbdev allowing to manage the framebuffer of a graphics adapter,[2] but it couldn't be used to handle the needs of modern 3D accelerated GPU based video cards. These type of cards usually require setting and managing a command queue in the card's memory (Video RAM) to dispatch commands to the GPU, and also they need a proper management of the buffers and free space of the Video RAM itself.[3] Initially user space programs (such as the X Server) directly managed these resources, but these programs usually acted as if they were the only ones with access to the card's resources. When two or more programs tried to control the same video card at the same time, and set its resources each one in its own way, most times they ended catastrophically.[3]When the Direct Rendering Manager was first created, the purpose was that multiple programs using resources from the video card can cooperate through it.[4] The DRM gets an exclusive access to the video card, and it's responsible for initializing and maintaining the command queue, the VRAM and any other hardware resource. The programs that want to use the GPU send their requests to DRM, which acts as an arbitrator and takes care to avoid possible conflicts.
Since then, the scope of DRM has been expanded over the years to cover more functionality previously handled by user space programs, such as framebuffer managing and mode setting, memory sharing objects and memory synchronization.[5][6] Some of these expansions had carried their own specific names, such as Graphics Execution Manager (GEM) or Kernel Mode-Setting (KMS), and the terminology prevails when the functionality they provide is specifically alluded. But they are really parts of the whole kernel DRM subsystem.
The trend to include two GPUs in a computer —a discrete GPU and an integrated one— led to new problems such as GPU switching that should be also solved at the DRM layer. In order to match the Nvidia Optimus technology, DRM was provided with GPU offloading abilities, called PRIME.[7]
- Linux DRM介绍
- Linux DRM Graphic 显示简单介绍
- DRM架构介绍
- Widevine DRM介绍
- GPU/DRM介绍
- OMA DRM介绍
- Linux中的DRM
- Linux中的DRM
- linux drm 架构
- linux drm 架构
- Linux中的DRM
- linux drm框架
- linux drm 架构
- DRM
- DRM
- DRM
- DRM
- Linux DRM KMS 驱动简介
- 计算机基础总结
- unity3d 增加子弹碰撞后物体的爆炸力
- SEO是什么?
- ZooKeeper分布式辅助框架
- 阿甘正传
- Linux DRM介绍
- 欢迎使用CSDN-markdown编辑器
- 前端和后端的思考, 给初学者的建议
- 实习随手记-win32创建窗口操作
- 查看SELinux状态
- Spring配置中transactionAttributes的使用方法和作用
- textview高度问题 textsize height
- VC++多线程编程入门示例
- css 怎么做出黑白相间的table