# 架构

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

## 显示硬件架构

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

![../../_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> |
| 混合 | 将源表面混合在一起 |
| 目标表面处理 | 根据面板特性转换、更正和调整数据 |
| 压缩 | 通过向显示屏发送压缩过的<br>显示缓冲数据来降低带宽和功耗 |
| 显示接口 | 为连接的显示外围设备生成时序信号 |

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

## 显示软件架构

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

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

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

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

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

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

> 
> 
> - **Snapdragon显示管理器 （SDM） 架构**：SDM 是一个独立于操作系统的软件框架，用于管理 Adreno DPU 硬件资源并为每个连接的显示屏选择最佳合成策略。
> - **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-70015-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-70015-18A/software.html)。
- **调通**：解释在内核中启动 DSI 显示面板的过程，以及面板选择和自定义的指南，以及启动 eDP。调通信息可供具有授权访问权限的许可开发者使用。有关详细信息，请参阅 [Qualcomm Linux Display Guide - Addendum](https://docs.qualcomm.com/bundle/resource/topics/80-70015-18A/bringup.html)。

Last Published: Dec 10, 2024

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