我所理解的DRM显示框架

什么是DRM:

DRM全称是DirectRenderingManager,是linux主流的一种显示框架,支持多图层合成,为用户图层提供统一的API(libdrm),来访问GPU,实现统一管理。它是为了解决多个程序对video card访问协同资源使用而产生的。DRM可以简单的分成三个模块:

  • libdrm:它是一个库,向上层提供通用的 API,是对底层各种 ioctl 的接口进行封装,用来进行图像显示和图像处理。 当然用 drm 的 ioctl 或者是用 framebuffer 来操作显示图像也可以。
  • GEM:内存管理,主要负责显示buffer的分配和释放、显存的共享和处理CPU、GPU内存同步
  • KMS:Kernel Mode Setting,用于更新画面和参数的设置,完成显卡的配置,和对硬件gpu操作进行了一层接口的封装。可以抽象为:Framebuffer、CRTC、Plane、Encoder、Connector等模块。

DRM框架图:

KMS框架组成:

  • Framebuffer:一块内存区域,用于存储显示的图像数据,驱动和应用层都可以访问,并且保存分辨率、色彩模式(yuv、rgb)等信息。
  • Crtc:显示控制,如用于display timings,resolution等配置,扫描读取Framebuffer的数据,在叠加Plane的内容传输给 Encoder。在vop(Video Output Processor)里,也就是lcdc控制器。
  • Plane:和Framebuffer一样是一块内存,是一块硬件图像层,一个图像层由一个或者多个plane组成。手机不同界面的叠加就是这个原理。有三种类型的plane:
    • DRM_PLANE_TYPE_PRIMARY: 主要图层,显示背景或者图像内容
    • DRM_PLANE_TYPE_OVERLAY: 用于显示叠加、缩放
    • DRM_PLANE_TYPE_CURSOR: 用于显示鼠标
  • Encoder:编码器,将接收到的数据转化成不同的信号:mipi、edp、vga等。
  • Connector:具体外部接口,如edp, hdmi, mipi等,连接到物理显示输出设备,存储着输出设备的相关信息,如:EDID、视频模式等。

        一般的流程是用户将显示的数据填充在Framebuffer,然后通过libdrm接口通知VOP设备,(crtc)vop驱动将 Framebuffer 和 plane 的数据叠加然后转换成标准的LCDC timing时序,然后通过 Encoder 转化成具体mipi、edp、vga等信号,到Connector显示输出。

KMS框架图:

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
高通DRM显示框架是一个用于管理显示设备的软件框架,它是基于DRM(Direct Rendering Manager)子系统的,旨在提供一个通用的、可扩展的、可配置的解决方案,以支持各种显示设备和显示场景。该框架主要由以下几个组件组成: 1. 显示控制器驱动:负责管理硬件设备,包括初始化、配置和控制显示设备。在高通平台上,这个驱动通常是由高通公司提供的。 2. DRM核心模块:提供了一个通用的、平台无关的API,用于管理显示设备和图形渲染器之间的通信。它提供了一个抽象的、统一的接口,使得各种图形渲染器可以通过DRM框架显示设备进行通信,而不需要关心具体的硬件细节。 3. 显示管道:它是一个抽象的概念,用于描述显示设备和图形渲染器之间的数据流。它通常包括一个或多个图形渲染器、一个或多个显示控制器、一个或多个显示缓冲区等。 4. KMS(Kernel Mode Setting):它是DRM框架的一个子系统,用于管理显示设备的模式设置和显示模式切换。它提供了一个统一的接口,使得用户可以通过应用程序来设置显示模式、切换显示设备等。 总的来说,高通DRM显示框架提供了一种通用的、可扩展的、可配置的解决方案,以支持各种显示设备和显示场景。它的优点是可以提供更好的性能和更高的可靠性,同时也可以支持更多的高级特性,如HDR、高清音频等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值