# 架构

Source: [https://docs.qualcomm.com/doc/80-70014-18Y/topic/architecture.html](https://docs.qualcomm.com/doc/80-70014-18Y/topic/architecture.html)

这里介绍了Linux显示子系统的主要硬件组件和软件架构，以及SDM的架构。

## 显示硬件架构

Source: [https://docs.qualcomm.com/doc/80-70014-18Y/topic/architecture.html](https://docs.qualcomm.com/doc/80-70014-18Y/topic/architecture.html)

硬件架构包括用于源和目标处理、层混合、压缩和显示接口的组件。显示硬件架构如下图所示：

Figure : DPU 硬件架构
            ![](data:image/png;base64,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)

下表说明了显示硬件架构：

Table : 显示硬件架构组件

| 组件 | 说明 |
| --- | --- |
| 总线接口 | 从内存中获取数据进行处理 |
| 源表面处理 | <ul class="ul"><br>                                    <li class="li">从游戏和视频应用中读取 RGB 和 YUV 表面</li><br><br>                                    <li class="li">执行源的格式转换和质量改进</li><br><br>                                </ul> |
| 混合 | 将源表面混合在一起 |
| 目标表面处理 | 基于面板特性转换、校正和调整数据 |
| 压缩 | 将压缩后的显示缓冲区内容发送到显示屏，以此降低带宽与功耗 |
| 显示接口 | 为连接的显示外围设备生成计时 |

有关显示硬件架构的详细信息可供对 Qualcomm Linux 附带的专有软件具有完全访问权限的用户使用。有关详细信息，请参阅 [Qualcomm Linux Display Guide - Addendum](https://docs.qualcomm.com/bundle/resource/topics/80-70014-18A/architecture.html)。

## 显示软件架构

Source: [https://docs.qualcomm.com/doc/80-70014-18Y/topic/architecture.html](https://docs.qualcomm.com/doc/80-70014-18Y/topic/architecture.html)

显示子系统由 Wayland（一种显示服务器协议）及其合成器（如 Weston）组成。Wayland 使用客户端-服务器模型。客户端应用程序与 Wayland 服务器和 SDM 交互，后者处理缓冲区管理、组合和显示。显示软件架构如下图所示：

Figure : 显示软件架构框图
                    ![](data:image/png;base64,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)

显示软件架构如下表所示：

Table : 显示软件架构组件

| 组件 | 说明 |
| --- | --- |
| 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 架构

Source: [https://docs.qualcomm.com/doc/80-70014-18Y/topic/architecture.html](https://docs.qualcomm.com/doc/80-70014-18Y/topic/architecture.html)

Snapdragon 显示管理器 (SDM) 是一个与操作系统无关的软件框架，用于管理 Qualcomm® Adreno DPU™ 硬件资源并为每个连接的显示器选择最佳合成策略。

SDM 功能及其组件目前可供对 Qualcomm Linux 附带的专有软件具有完全访问权限的用户使用。有关详细信息，请参阅 [Qualcomm Linux Display Guide - Addendum](https://docs.qualcomm.com/bundle/resource/topics/80-70014-18A/architecture.html)。

### DRM/KMS Adreno DPU 驱动程序架构

Source: [https://docs.qualcomm.com/doc/80-70014-18Y/topic/architecture.html](https://docs.qualcomm.com/doc/80-70014-18Y/topic/architecture.html)

DRM/KMS Linux 内核框架和相关驱动程序用于访问显示硬件模块。

DRM/KMS 驱动程序框架和驱动程序实现详细信息目前可供对 Qualcomm Linux 附带的专有软件具有完全访问权限的用户使用。有关详细信息，请参阅 [Qualcomm Linux Display Guide - Addendum](https://docs.qualcomm.com/bundle/resource/topics/80-70014-18A/architecture.html)。

### 显示外设接口

Source: [https://docs.qualcomm.com/doc/80-70014-18Y/topic/architecture.html](https://docs.qualcomm.com/doc/80-70014-18Y/topic/architecture.html)

显示界面包括以下内容：MIPI DSI 控制器、DP 控制器和 eDP 控制器。

这些接口及其关键属性目前可供对 Qualcomm Linux 附带的专有软件具有完全访问权限的用户使用。有关详细信息，请参阅 [Qualcomm Linux Display Guide - Addendum](https://docs.qualcomm.com/bundle/resource/topics/80-70014-18A/architecture.html)。

Last Published: Aug 22, 2024

[Previous Topic
功能](https://docs.qualcomm.com/bundle/publicresource/80-70014-18Y/topics/features.md) [Next Topic
接口](https://docs.qualcomm.com/bundle/publicresource/80-70014-18Y/topics/interfaces.md)