> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 显示

IQ-8275 平台配备 Qualcomm Adreno 显示处理单元(DPU),提供硬件加速的图像处理。IQ8-EVK 通过双 DisplayPort 输出支持两个显示器同时工作。

## 显示能力

| 接口      | 能力                                            |
| ------- | --------------------------------------------- |
| **DP0** | 3840 × 2160 @ 60 fps,30 bpp                   |
| **DP1** | 3840 × 2160 @ 60 fps,30 bpp                   |
| **并发**  | DP0 作为主显示 + DP1 作为副显示,均为 3840 × 2160 @ 60 fps |

**支持的功能:**

* 使用上游协议的 Wayland 和 Weston
* 带 DRM 后端的 Weston 合成器
* 2× DisplayPort,支持 SST 和 MST

## 架构

### DPU 硬件

<img src="https://mintcdn.com/qualcomm-prod/tRWO8v_Df_ujnDuD/Ubuntu/images/peripheral-interfaces/Display_DPU_architecture.png?fit=max&auto=format&n=tRWO8v_Df_ujnDuD&q=85&s=748d4d7ed8acd5c328284febcd74fa69" width="616" height="210" data-path="Ubuntu/images/peripheral-interfaces/Display_DPU_architecture.png" />

<img src="https://mintcdn.com/qualcomm-prod/tRWO8v_Df_ujnDuD/Ubuntu/images/peripheral-interfaces/DPU_dataflow_diagram.png?fit=max&auto=format&n=tRWO8v_Df_ujnDuD&q=85&s=33a7853f3637dc2d5d81083df7f7569b" width="977" height="368" data-path="Ubuntu/images/peripheral-interfaces/DPU_dataflow_diagram.png" />

<img src="https://mintcdn.com/qualcomm-prod/tRWO8v_Df_ujnDuD/Ubuntu/images/peripheral-interfaces/DPU_HW_architecture_block_diagram.png?fit=max&auto=format&n=tRWO8v_Df_ujnDuD&q=85&s=458de469d7427525799074da83baa209" width="290" height="401" data-path="Ubuntu/images/peripheral-interfaces/DPU_HW_architecture_block_diagram.png" />

| 组件         | 功能                   |
| ---------- | -------------------- |
| **总线接口**   | 从内存获取数据              |
| **源表面处理**  | 读取 RGB/YUV 表面;执行格式转换 |
| **混合**     | 对源表面进行混合与合成          |
| **目标表面处理** | 根据面板特性转换和调整数据        |
| **压缩**     | 通过发送压缩后的显示缓冲区来降低带宽   |
| **显示接口**   | 为连接的显示外设生成时序         |

### 软件栈

<img src="https://mintcdn.com/qualcomm-prod/tRWO8v_Df_ujnDuD/Ubuntu/images/peripheral-interfaces/DPU_SW_architecture_block_diagram.png?fit=max&auto=format&n=tRWO8v_Df_ujnDuD&q=85&s=fa9b30bf23c9674d90676b61cef9b300" width="859" height="719" data-path="Ubuntu/images/peripheral-interfaces/DPU_SW_architecture_block_diagram.png" />

<img src="https://mintcdn.com/qualcomm-prod/tRWO8v_Df_ujnDuD/Ubuntu/images/peripheral-interfaces/Display_sw_stacklayer.png?fit=max&auto=format&n=tRWO8v_Df_ujnDuD&q=85&s=a0b86a95822461a3b69247c0f112b897" width="281" height="741" data-path="Ubuntu/images/peripheral-interfaces/Display_sw_stacklayer.png" />

| 组件                | 描述                      |
| ----------------- | ----------------------- |
| **Wayland Sink**  | 与 Weston 通信以渲染显示内容的插件   |
| **Weston**        | Wayland 合成器;负责合成和渲染     |
| **DRM 后端**        | 管理 Adreno DPU 硬件资源和合成策略 |
| **libdrm**        | 提供 DRM IOCTL API 的库     |
| **Adreno DPU 驱动** | 管理通往面板接口的所有像素数据路径       |

## 设置

<Steps>
  <Step title="连接主显示器">
    将 DisplayPort 线缆连接到 **eDP0** 连接器。
  </Step>

  <Step title="连接副显示器(可选)">
    如需双显示器,请将第二根 DisplayPort 线缆连接到 **eDP1**。
  </Step>

  <Step title="开机">
    为设备通电。Weston 会在启动过程中自动运行,并显示花朵图案。

    <img src="https://mintcdn.com/qualcomm-prod/P0rmO3AZfXx7cgqQ/Ubuntu/images/peripheral-interfaces/hdmi_monitor_Server.png?fit=max&auto=format&n=P0rmO3AZfXx7cgqQ&q=85&s=f708db6aad4b7a89eccf2befd44abd99" width="700" height="393" data-path="Ubuntu/images/peripheral-interfaces/hdmi_monitor_Server.png" />
  </Step>
</Steps>

### SSH 访问

默认凭据:**用户名:** `ubuntu` / **密码:** `ubuntu`

## 测试与验证

### 运行 Weston EGL 客户端

```bash theme={null}
weston-simple-egl
```

**预期输出:** 显示器上出现以 60 fps 旋转的三角形。按 `Ctrl+C` 终止。

### GStreamer 视频播放

```bash theme={null}
# H.264 playback
gst-launch-1.0 -v filesrc location=/etc/media/video.mp4 ! qtdemux ! queue ! \
  h264parse ! v4l2h264dec capture-io-mode=4 output-io-mode=4 ! \
  video/x-raw,format=NV12 ! waylandsink

# H.265/HEVC playback
gst-launch-1.0 -v filesrc location=/etc/media/video_hevc.mp4 ! qtdemux ! queue ! \
  h265parse ! v4l2h265dec capture-io-mode=4 output-io-mode=4 ! \
  video/x-raw,format=NV12 ! waylandsink
```

## 调试

```bash theme={null}
sudo cat /sys/class/drm/card0-DP-1/status   # eDP0 cable status
sudo cat /sys/class/drm/card0-DP-2/status   # eDP1 cable status
sudo cat /sys/class/drm/card0-DP-1/modes    # Available EDID modes
dmesg | grep -i "dp\|display\|drm"
```

## 故障排除

<AccordionGroup>
  <Accordion title="无显示输出(黑屏)">
    ```bash theme={null}
    cat /sys/class/drm/card0-DP-1/status
    sudo dmesg | grep -i "dp\|display\|drm"
    ```

    * 检查与 eDP0 或 eDP1 的线缆连接
    * 检查显示器电源和输入源选择
  </Accordion>

  <Accordion title="Weston 无法启动">
    ```bash theme={null}
    journalctl -u weston
    ls -l /dev/dri/card0
    weston --idle-time=0 --continue-without-input --log=/home/ubuntu/weston.log
    ```
  </Accordion>

  <Accordion title="双显示器无法工作">
    ```bash theme={null}
    cat /sys/class/drm/card0-DP-1/status
    cat /sys/class/drm/card0-DP-2/status
    cat /sys/kernel/debug/dri/0/state
    ```
  </Accordion>

  <Accordion title="Weston 需要重启">
    ```bash theme={null}
    killall weston
    sudo systemctl start weston-autostart
    export XDG_RUNTIME_DIR=/run/user/$(id -u ubuntu)
    export WAYLAND_DISPLAY=wayland-1
    ```
  </Accordion>
</AccordionGroup>

## 资源

| 资源           | URL                                                                                                                        |
| ------------ | -------------------------------------------------------------------------------------------------------------------------- |
| DRM 内部机制     | [https://www.kernel.org/doc/html/v5.4/gpu/drm-internals.html](https://www.kernel.org/doc/html/v5.4/gpu/drm-internals.html) |
| Wayland 协议   | [https://wayland.freedesktop.org/](https://wayland.freedesktop.org/)                                                       |
| Weston 合成器   | [https://gitlab.freedesktop.org/wayland/weston](https://gitlab.freedesktop.org/wayland/weston)                             |
| GStreamer 文档 | [https://gstreamer.freedesktop.org/documentation/](https://gstreamer.freedesktop.org/documentation/)                       |
