# 架构

此信息解释了 Qualcomm Linux 显示子系统的硬件和软件架构中主要组件的工作流程。

## 显示硬件架构

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

![../../_images/DPU_hardware_architecture1.png](data:image/png;base64,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)

**图：DPU 硬件架构框图**

下表列出了显示软件架构的组件。

表：显示硬件架构组件

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

具有授权访问权限的许可开发人员可以获得关于显示硬件架构的详细信息。有关详细信息，请参阅 [Qualcomm Linux Display Guide - Addendum](https://docs.qualcomm.com/bundle/resource/topics/80-70017-18A/architecture.html#high-level-display-hardware-architecture)。

## 显示软件架构

显示子系统由 Wayland（一种显示服务器协议）及其合成器（如 Weston）组成。Wayland 使用客户端-服务器模型，其中客户端应用程序与 Wayland 服务器进行交互。

![../../_images/Linux_enabled_display_architecture.png](data:image/png;base64,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)

**图：显示软件架构框图**

Note

QCS6490/QCS5430 继续支持 SDM 后端。有关详细信息，请参阅 [Qualcomm Linux Display Guide - Addendum](https://docs.qualcomm.com/bundle/resource/topics/80-70017-18A/architecture.html#advanced-features)

显示软件架构的组件描述如下：

> 
> 
> | 组件 | 说明 |
> | --- | --- |
> | Wayland 接收器 | Wayland 接收器插件与 Weston 子系统通信来渲染显示。 |
> | Wayland 合成器 (Weston) | 使用 Wayland 协议的显示服务器称为 Wayland 合成器。Wayland 合成器是一个系统级合成器，处理合成和渲染要求，并在系统中作为单独的进程运行。Wayland 合成器的参考实现称为 Weston。 |
> | 数字版权管理后端 | DRM 后端软件框架管理 Qualcomm Adreno DPU 硬件资源。它为每个连接的显示器选择最佳合成策略，并为从客户端接收的层协议栈分配显示处理器硬件资源。 |
> | `libdrm` | `libdrm` 库提供用于访问直接渲染管理器 (DRM) I/O 控件 (IOCTL) 的 API。 |
> | DRM/KMS 框架 | DRM/KMS 框架提供内核和用户空间级接口，借助 `libdrm` 库来访问相关的硬件功能、配置和硬件加速。 |
> | Adreno DPU 驱动程序 | Adreno DPU 驱动程序管理到不同面板接口的所有像素数据路径 |
> | Adreno DPU | Adreno DPU 是一种硬件加速引擎，可以最小的功耗执行镜像处理和接口连接。 |

有关架构组件的详细信息可供具有授权访问权限的许可开发者使用。有关详细信息，请参阅 [Qualcomm Linux Display Guide - Addendum](https://docs.qualcomm.com/bundle/resource/topics/80-70017-18A/architecture.html#display-software-architecture) 中的以下主题。

> 
> 
> - **DRM/KMS Adreno DPU 驱动架构**：DRM/KMS Linux 内核框架和相关驱动程序用于访问显示硬件块。
> - **显示外设接口**：显示接口由 MIPI DSI 控制器、DP 控制器和 eDP 控制器组成。

## 软件 API

Qualcomm Linux 软件界面提供以下显示 API：

- Weston API：促进与 SDM 合成器的交互。有关 Weston API，请参阅 [Wayland 客户端 API](https://wayland.freedesktop.org/docs/html/apb.html) 和 [Wayland 服务器 API](https://wayland.freedesktop.org/docs/html/apc.html)。
- `libdrm` API: 促进与 DRM/KMS 框架的交互。有关 API，请参阅 [libdrm](https://dri.freedesktop.org/docs/drm/gpu/drm-uapi.html)。

Qualcomm 为您提供了基于 GStreamer 的插件。您可以从 [IM SDK 插件](https://docs.qualcomm.com/bundle/publicresource/topics/80-70017-50/qim-sdk-plugins.html)将 Waylandsink 插件添加至您的媒体 pipeline 中。

有关详细信息，请参阅 [GStreamer 应用程序开发和 pipeline 创建](https://gstreamer.freedesktop.org/documentation/application-development/basics/index.html)。

## 显示软件目录和调通说明

### 软件

探索用户空间和内核空间模块，这些模块位于Qualcomm Linux 的显示软件目录中。软件模块可供具有授权访问权限的许可开发者使用。有关详细信息，请参阅 [Qualcomm Linux Display Guide - Addendum](https://docs.qualcomm.com/bundle/resource/topics/80-70017-18A/software.html)。

### 调通

解释在内核中启动 DSI 显示面板的过程，以及面板选择和自定义的指南，以及启动 eDP。调通信息可供具有授权访问权限的许可开发者使用。有关详细信息，请参阅 [Qualcomm Linux Display Guide - Addendum](https://docs.qualcomm.com/bundle/resource/topics/80-70017-18A/bringup.html)。

Last Published: Jan 23, 2025

[Previous Topic
功能](https://docs.qualcomm.com/bundle/publicresource/80-70017-18SC/topics/features.md) [Next Topic
配置](https://docs.qualcomm.com/bundle/publicresource/80-70017-18SC/topics/configure.md)