功能
显示子系统是一个软件组件,可在设备上实现高质量的图形和视频输出。后续章节将介绍显示子系统的主要特性以及功能、高级功能和限制。
主要功能
显示子系统支持以下功能:
- 上游 Wayland 协议,具有来自 Qualcomm 的扩展支持
- Weston,具有 Snapdragon 显示管理器 (SDM) 后端模块
- DSI 1.2
- USB Type-C (SST) 接口的DisplayPort
- 用于嵌入式面板的 eDP1.4
- MIPI DSI D-PHY
功能
该设备同时支持两个显示器,并提供各种配置以实现最大并发性。下表总结了这些功能:
功能 | 配置 |
---|---|
DSI 0 | FHD+ (1200 × 2520) @ 120 fps(8 位) 支持视频电子标准协会 (VESA) 显示流压缩 (DSC) 1.2 |
DSI 0 to HDMI | 1920 × 1080p @ 60 fps |
DisplayPort | 3840 × 2160 分辨率 @ 30 fps,24 bpp(HBR3 需要两条通道) 单流传输 (Single stream transport) DisplayPort 和 USB 3.0 的并发功能 |
eDP | 最大分辨率为 1920 × 1080p @ 60 fps 不可插拔 eDP 面板 DisplayPort 的并发功能 |
最大并行输出 | FHD+ (1200 × 2520) (8‑bit) @ 60 fps(使用 DSI 主显示)+ 4K @ 30 fps DisplayPort 1920 × 1080p @ 60 fps(使用 DSI 转 HDMI 主显示)+ 4K @ 30 fps DisplayPort 1920 × 1080p @ 60 fps(使用 eDP 主显示)+ 4K @ 30 fps DisplayPort |
高级功能
显示子系统旨在增强设备的视觉性能和效率。高级功能目前可供对 Qualcomm Linux 附带的专有软件具有完全访问权限的用户使用。有关详细信息,请参阅 Qualcomm Linux Display Guide - Addendum。
限制
一个常见的限制是 DSI 和嵌入式 DisplayPort (eDP) 不能同时工作。在任何时候,只有其中一个可以启动主面板。
架构
这里介绍了Linux显示子系统的主要硬件组件和软件架构,以及SDM的架构。
显示硬件架构
硬件架构包括用于源和目标处理、层混合、压缩和显示接口的组件。显示硬件架构如下图所示:
下表说明了显示硬件架构:
组件 | 说明 |
---|---|
总线接口 | 从内存中获取数据进行处理 |
源表面处理 | 从游戏和视频应用中读取 RGB 和 YUV 表面 执行源的格式转换和质量改进 |
混合 | 将源表面混合在一起 |
目标表面处理 | 基于面板特性转换、校正和调整数据 |
压缩 | 将压缩后的显示缓冲区内容发送到显示屏,以此降低带宽与功耗 |
显示接口 | 为连接的显示外围设备生成计时 |
有关显示硬件架构的详细信息可供对 Qualcomm Linux 附带的专有软件具有完全访问权限的用户使用。有关详细信息,请参阅 Qualcomm Linux Display Guide - Addendum。
显示软件架构
显示子系统由 Wayland(一种显示服务器协议)及其合成器(如 Weston)组成。Wayland 使用客户端-服务器模型。客户端应用程序与 Wayland 服务器和 SDM 交互,后者处理缓冲区管理、组合和显示。显示软件架构如下图所示:
显示软件架构如下表所示:
组件 | 说明 |
---|---|
Wayland 接收器 | Wayland 接收器插件与 Weston 子系统通信来渲染显示。 |
Wayland 合成器 (Weston) | 使用 Wayland 协议的显示服务器称为 Wayland 合成器。Wayland 合成器是一个系统级合成器,处理合成和渲染要求,并在系统中作为单独的进程运行。Wayland 合成器的参考实现称为 Weston。 |
SDM | SDM 软件框架管理 Qualcomm Adreno DPU 硬件资源。SDM 为每个连接的显示器选择最佳合成策略,并为从客户端接收的层堆栈分配显示处理器硬件资源。 |
LibDRM | Libdrm 库提供用于访问直接渲染管理器 (DRM) I/O 控件 (IOCTL) 的 API |
DRM/KMS 框架 | DRM/KMS 框架提供内核和用户空间级接口,借助 libdrm/libkms 库来访问相关的硬件功能、配置和硬件加速 |
Adreno DPU 驱动程序 | Adreno DPU 驱动程序管理到不同面板接口的所有像素数据路径 |
Adreno DPU | Adreno DPU 是一种硬件加速引擎,可以最小的功耗执行镜像处理和接口连接。 |
SDM 架构
Snapdragon 显示管理器 (SDM) 是一个与操作系统无关的软件框架,用于管理 Qualcomm® Adreno DPU™ 硬件资源并为每个连接的显示器选择最佳合成策略。
SDM 功能及其组件目前可供对 Qualcomm Linux 附带的专有软件具有完全访问权限的用户使用。有关详细信息,请参阅 Qualcomm Linux Display Guide - Addendum。
DRM/KMS Adreno DPU 驱动程序架构
DRM/KMS Linux 内核框架和相关驱动程序用于访问显示硬件模块。
DRM/KMS 驱动程序框架和驱动程序实现详细信息目前可供对 Qualcomm Linux 附带的专有软件具有完全访问权限的用户使用。有关详细信息,请参阅 Qualcomm Linux Display Guide - Addendum。
显示外设接口
显示界面包括以下内容:MIPI DSI 控制器、DP 控制器和 eDP 控制器。
这些接口及其关键属性目前可供对 Qualcomm Linux 附带的专有软件具有完全访问权限的用户使用。有关详细信息,请参阅 Qualcomm Linux Display Guide - Addendum。