1. 课程导论:SA8155平台概述、HDR显示技术简介、DRM框架简介、课程目标与前置知识

1.1 SA8155 平台概述

SA8155P(Snapdragon 8155)是高通第三代智能座舱芯片,采用 7nm 制程工艺,集成 Kryo 485 CPU、Adreno 640 GPU、Hexagon 687 DSP 以及 Spectra 380 ISP。在显示子系统方面,SA8155 支持最多 4 路独立显示输出,最高分辨率可达 4K@60fps,并原生支持 DisplayPort 1.4 与 HDMI 2.0 接口。

核心显示特性:
  • 多显示控制器(MDSS):支持 4 个显示流水线并行处理
  • 显示处理单元(DPU):集成色彩管理、HDR 色调映射、局部对比度增强
  • 视频处理单元(VPU):支持 H.264/H.265 编解码,最高 4K@60fps
  • 显示接口:DSI(4-lane)、DP(eDP/DP)、HDMI 2.0
SA8155 显示子系统架构 SA8155 显示子系统架构 Kryo 485 CPU Adreno 640 GPU MDSS 多显示控制器 4 路独立流水线 色彩管理 / HDR DPU 显示处理单元 DSI (4-lane) DP / eDP 1.4 HDMI 2.0 VPU 视频处理 说明: SA8155 显示子系统采用 MDSS + DPU 两级架构。MDSS 负责多路显示流的路由与同步,DPU 负责每路流的色彩处理与 HDR 转换。 VPU 可独立处理视频解码,输出 YUV 帧直接送入显示流水线,无需 GPU 参与。

1.2 HDR 显示技术简介

HDR(High Dynamic Range,高动态范围)相比标准动态范围(SDR)在亮度、色域和位深三个维度均有显著提升。HDR 显示的核心目标是更真实地还原人眼感知的自然场景。

参数 SDR HDR 提升幅度
峰值亮度 100 ~ 300 cd/m² 600 ~ 10000 cd/m² 6x ~ 100x
色域 BT.709 (约 35% CIE 1931) BT.2020 (约 75% CIE 1931) 约 2.1x
位深 8-bit (256 级/通道) 10-bit (1024 级/通道) 4x
亮度范围 0.1 ~ 100 cd/m² 0.0005 ~ 10000 cd/m² 约 20000x
常见 HDR 标准:HDR10(SMPTE ST 2084 + BT.2020,静态元数据)、HDR10+(动态元数据)、Dolby Vision(12-bit,动态元数据)、HLG(兼容 SDR 广播)。
HDR vs SDR 对比 HDR vs SDR 关键维度对比 亮度 SDR: 0.1 ~ 100 cd/m² HDR: 0.0005 ~ 10000 cd/m² 色域 BT.709 (35%) BT.2020 (75%) 位深 8-bit (256) 10-bit (1024) HDR 在亮度、色域、位深三个维度全面超越 SDR,带来更逼真的视觉体验。

1.3 DRM 框架简介

DRM(Direct Rendering Manager)是 Linux 内核中负责图形显示管理的子系统,提供统一的 API 抽象显示控制器、CRTC、Encoder、Connector 和 Plane 等硬件资源。DRM/KMS(Kernel Mode Setting)是 DRM 的核心组件,负责显示模式设置、帧缓冲管理和显示流水线配置。

DRM 对象 角色 对应硬件
CRTC 显示控制器,管理扫描输出时序 DPU 中的显示流水线
Encoder 编码器,将 CRTC 输出转换为接口信号 DSI/DP/HDMI 发送器
Connector 物理连接器,检测连接状态与 EDID HDMI 端口、DP 端口
Plane 硬件图层,支持叠加与 Alpha 混合 DPU 中的图层处理单元
FB (Framebuffer) 帧缓冲,存储像素数据 GPU 或 VPU 分配的显存
注意:在 SA8155 平台上,DRM 驱动通常使用 msm 驱动(高通 MSM 系列),其 KMS 实现位于 drivers/gpu/drm/msm/ 目录下。HDR 相关的色彩管理属性通过 DRM 的 COLOR_ENCODING、COLOR_RANGE 以及自定义 HDR_METADATA 属性暴露给用户空间。
DRM/KMS 对象关系 DRM/KMS 核心对象关系 用户空间 (libdrm / Weston / SurfaceFlinger) DRM Core (drm.ko) — 通用框架 msm 驱动 (msm.ko) — SA8155 平台实现 CRTC Encoder Connector Plane 说明: 用户空间通过 DRM ioctl 操作 CRTC/Encoder/Connector/Plane 对象。一个 CRTC 连接一个 Encoder,Encoder 再连接一个 Connector。

1.4 课程目标与前置知识

本课程旨在帮助学员系统掌握 SA8155 平台 HDR 显示与 DRM 框架的集成调试方法,能够独立完成从驱动配置到应用层验证的全链路工作。

课程核心目标:
  1. 理解 SA8155 显示子系统的硬件架构与驱动层次
  2. 掌握 DRM/KMS 框架的核心对象与 API 调用流程
  3. 学会在 SA8155 上配置 HDR 显示流水线(色彩空间、EOTF、元数据)
  4. 能够使用 modetest、kmstest、drm_info 等工具进行调试
  5. 掌握 HDR 内容从解码到显示的完整链路调试方法
前置知识 要求 说明
Linux 内核基础 熟悉 设备树、内核模块、驱动框架
C 语言编程 掌握 能够阅读和修改内核驱动代码
显示基础概念 了解 分辨率、刷新率、色彩空间、时序
高通平台开发 建议 熟悉 QNX 或 Android 显示栈更佳
学习建议:本课程包含大量实操环节,建议学员准备一块 SA8155 开发板(如 SA8155P EVB)或使用 QEMU 模拟器配合 msm 驱动进行实验。每章结束后完成配套练习,效果更佳。