linux工具栈有哪些,Linux 图形栈一览:基于 DRM 和 Wayland

by Chen Jie of TinyLab.org

2019/10/07

本文图示了基于 DRM 还有 Wayland 的 Linux 图形栈。在这个图形栈中,App 将画好的 surface,通过 Wayland 协议提交给 Compositor。Compositor 将来自各个应用的 surface(s) 合成为一帧,通过 DRM 接口最终画在 Frame Buffer,如下图所示:

64a0378d6416045545c13863e02f5390.png图 1:Linux 图形栈概览:Wayland 协议, Compositor 和 DRM 子系统

本文接下来自下而上,先介绍 Linux Kernel 的 DRM 子系统,而后步入 Userspace 来介绍:代入两个代表性的 GUI App,情景分析其渲染过程。

通常,GUI App 是通过图形控件库来布局和放置控件。对这类普通 GUI App 渲染过程分析,是为情景分析的第一章节。

随后分析了多媒体 App:它是进一步细分的一个情景,即 App 界面一部分内容,是多媒体。

伴随情景的细分,渲染过程会经由特定的一些软件栈,故而“花开两朵,各表一枝”。

背景:DRM —— buffer management、Frame Buffer / plane、Kernel Mode Setting

Linux DRM 子系统,主要提供了以下功能:操作 Frame Buffer / Plane 接口

Buffer 管理

模式设定(分辨率、色深、刷新率等)

c2cfb333f38496d3a63e24729c0c1b8e.png图 2:Linux DRM 中的概念:Frame Buffer,Plane,CRTC,Encoder 以及 Connector简单地理解, DRM 功能上相当于 HW Composer + gralloc,只不过 “接口” 是 Linux Kernel 导出的,而不是 HAL。

换句话说,HW Composer 和 gralloc 可以映射到 DRM 实现。事实上,一些平台的 Android BSP 正是这样做的。

下图对比了两者:

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值