当前位置:网站首页>DRM display framework as I understand it
DRM display framework as I understand it
2022-07-02 05:49:00 【Croxd】
What is? DRM:
DRM The full name is DirectRenderingManager, yes linux A mainstream display framework , Support multi-layer synthesis , Provide unified for user layers API(libdrm), To visit GPU, Achieve unified management . It is to solve the problem of multiple programs on video card Access to collaborative resource usage .DRM It can be simply divided into three modules :
- libdrm: It's a library , Provide general to the upper layer API, It's for all kinds of bottom ioctl To encapsulate , Used for image display and image processing . Of course with drm Of ioctl Or with framebuffer You can also operate the display image .
- GEM: memory management , Mainly responsible for displaying buffer Distribution and release of 、 Sharing and processing of video memory CPU、GPU Memory synchronization
- KMS:Kernel Mode Setting, Used to update the screen and parameter settings , Complete the configuration of the graphics card , And hardware gpu The operation is encapsulated by a layer of interface . Can be abstracted as :Framebuffer、CRTC、Plane、Encoder、Connector Equal module .
DRM Frame diagram :

KMS Frame composition :
- Framebuffer: A memory area , Used to store displayed image data , Both driver and application layers can access , And save the resolution 、 Color pattern (yuv、rgb) Etc .
- Crtc: Display control , As for display timings,resolution Other configuration , Scan read Framebuffer The data of , It's superimposing Plane The content of is transmitted to Encoder. stay vop(Video Output Processor) in , That is to say lcdc controller .
- Plane: and Framebuffer The same is a piece of memory , It is a hardware image layer , An image layer consists of one or more plane form . The superposition of different mobile phone interfaces is this principle . There are three types of plane:
- DRM_PLANE_TYPE_PRIMARY: Main layer , Display the background or image content
- DRM_PLANE_TYPE_OVERLAY: Used to display overlay 、 The zoom
- DRM_PLANE_TYPE_CURSOR: Used to display the mouse
- Encoder: Encoder , Convert the received data into different signals :mipi、edp、vga etc. .
- Connector: Specific external interfaces , Such as edp, hdmi, mipi etc. , Connect to the physical display output device , It stores information about the output device , Such as :EDID、 Video mode, etc .
The general process is that the user fills the displayed data in Framebuffer, And then through libdrm Interface notification VOP equipment ,(crtc)vop Drive will Framebuffer and plane The data is superimposed and then converted into standard LCDC timing sequential , And then through Encoder Translate into concrete mipi、edp、vga Equal signal , To Connector display output .
KMS Frame diagram :

边栏推荐
- 运动健身的一些心得经验
- Fabric. JS right click menu
- js判断移动端还是pc端
- Zzuli:1060 numbers in reverse order
- KMP idea and template code
- File contains vulnerabilities (II)
- Lantern Festival gift - plant vs zombie game (realized by Matlab)
- Fabric. JS centered element
- VSCode paste image插件保存图片路径设置
- Zzuli: maximum Convention and minimum common multiple
猜你喜欢

JVM class loading mechanism

Basic use of form

mysql的约束总结

Practice C language advanced address book design

brew install * 失败,解决方法

Oled12864 LCD screen

RNN recurrent neural network

Innovation never stops -- the innovation process of nvisual network visualization platform for Excel import

Stick to the big screen UI, finereport development diary

Fabric. JS compact JSON
随机推荐
RGB infinite cube (advanced version)
【论文翻译】GCNet: Non-local Networks Meet Squeeze-Excitation Networks and Beyond
Lingyunguang rushes to the scientific innovation board: the annual accounts receivable reaches 800million. Dachen and Xiaomi are shareholders
Pytorch Chinese document
File contains vulnerabilities (II)
RGB 无限立方体(高级版)
Record sentry's path of stepping on the pit
"Simple" infinite magic cube
中小型项目手撸过滤器实现认证与授权
Thread pool overview
Fabric. JS basic brush
[technical notes-08]
Fabric. JS iText set italics manually
小程序跳装到公众号
460. LFU cache bidirectional linked list
Grbl software: basic knowledge of simple explanation
Fabric. JS centered element
测试 - 用例篇
Zzuli:1061 sequential output of digits
数据挖掘方向研究生常用网站