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