显示问题
文档版本:V1.0 | 适用系统:Android14 / Linux | 适用硬件:C-3576BQ V10 核心板 + M4-R2(ShimetaPi)底板 | 更新日期:2026-10-23
1. 概述
本文档汇总 M4-R2(RK3576)平台上 Android14 与 Linux 系统的显示相关常见问题与处理方法,涵盖 HDMI、MIPI DSI、eDP 显示接口及显示驱动问题。
2. 显示接口概述
M4-R2 平台显示接口硬件事实(S-02 / S-04 已验证):
| 接口 | 规格 | 说明 |
|---|---|---|
| HDMI | HDMI2.1 TX,最高 4Kx2K@120Hz(TYPE-A) | 底板 HDMI 接口 |
| MIPI DSI | 4 Lanes,最高 2560×1600 | 40PIN 引出,可接 MIPI 显示屏 |
| eDP | 最高 4K@60Hz | 与 HDMI 二选一(接口复用) |
注意:eDP 与 HDMI 为二选一关系(接口复用),具体复用关系以底板原理图(S-04)为准。规格书(S-02)标 HDMI 最高 4K@60Hz,底板原理图(S-04)标注 HDMI2.1 TX 最高 4Kx2K@120Hz,两者标注差异以实际物料与 SDK 配置为准(待板上验证)。
3. 常见问题与处理方法
3.1 无显示输出
| 现象 | 原因 | 处理方法 |
|---|---|---|
| 上电后无显示 | 显示接口未配置 | 检查设备树显示节点配置(HDMI/MIPI DSI/eDP 使能状态) |
| 上电后无显示 | 显示接口选择冲突 | eDP 与 HDMI 二选一,确认未同时使能冲突接口 |
| 上电后无显示 | 外部显示器/线缆问题 | 更换 HDMI 线缆与显示器,确认显示器支持对应分辨率 |
| 上电后无显示 | 背光未点亮 | MIPI/eDP 屏检查背光供电与使能(背光控制) |
| 仅 Android 无显示 | 系统显示服务异常 | 检查 SurfaceFlinger/HDMI 热插拔服务日志 |
3.2 HDMI 问题
| 现象 | 原因 | 处理方法 |
|---|---|---|
| HDMI 无信号 | 线缆/接口问题 | 更换 HDMI 线缆,检查接口接触(详见HDMI显示驱动) |
| HDMI 无信号 | 热插拔检测失败 | 检查 HDMI HPD(Hot Plug Detect)引脚与驱动配置 |
| 分辨率/刷新率不对 | EDID 解析问题 | 检查显示器 EDID,确认支持的分辨率/刷新率 |
| 画面黑屏但有声音 | 视频通路问题 | 检查 HDMI 视频输出配置与时钟 |
| HDMI 输出花屏 | 时序/带宽问题 | 检查分辨率与色深配置,降低分辨率测试 |
| 电视无法识别信号 | HDCP 认证问题 | 检查 HDCP 配置与显示器 HDCP 兼容性 |
3.3 MIPI DSI 问题
| 现象 | 原因 | 处理方法 |
|---|---|---|
| MIPI 屏无显示 | 屏参配置错误 | 检查 DSI 屏参数(分辨率、时序、初始化序列)与驱动匹配 |
| MIPI 屏无显示 | 背光未点亮 | 检查背光电源与 PWM 控制 |
| MIPI 屏花屏 | 时序/时钟配置错误 | 检查 pixel clock、lane 数、时序参数 |
| MIPI 屏闪烁/抖动 | 刷新率/同步问题 | 检查 vsync 与缓存提交时序 |
| 40PIN 屏接口无信号 | 引脚连接错误 | 对照40PIN引脚定义检查接线 |
| 触摸与显示不同步 | 触摸屏参数不匹配 | 检查触摸屏分辨率与坐标方向(详见触摸屏驱动) |
3.4 eDP 问题
| 现象 | 原因 | 处理方法 |
|---|---|---|
| eDP 屏无显示 | 接口与 HDMI 冲突 | 确认 eDP 与 HDMI 二选一配置正确,未同时使能 |
| eDP 屏无显示 | 屏参配置错误 | 检查 eDP 屏参数(分辨率、时序、训练序列) |
| eDP 屏闪烁 | 训练/链路问题 | 检查 eDP link rate 与 lane 配置 |
| eDP 屏偏色 | 色深/色彩空间配置错误 | 检查输出色深(6/8/10bit)与色彩空间 |
3.5 通用显示问题
| 现象 | 原因 | 处理方法 |
|---|---|---|
| 显示旋转/方向不对 | 屏幕方向配置错误 | 检查 display 节点旋转/方向配置(详见显示DRM驱动) |
| 界面字体/图标模糊 | 分辨率/DPI 不匹配 | 检查分辨率与 DPI 配置 |
| 视频播放黑屏 | 解码/显示通路问题 | 检查视频解码与合成通路(详见视频编解码(MPP)) |
| GPU 渲染异常 | GPU 驱动/显存问题 | 检查 GPU 驱动状态与显存分配(详见CPU-GPU-NPU调优) |
| 多屏显示异常 | 多屏策略配置错误 | 检查多屏显示策略与主屏设置 |
4. 常用排查方法
4.1 显示状态查看
# 查看 DRM 显示状态
cat /sys/kernel/debug/dri/0/state
# 查看已连接显示接口
cat /sys/class/drm/card0-DP-1/status
# 查看 HDMI 连接状态
cat /sys/class/drm/card0-HDMI-A-1/status
# 查看分辨率
cat /sys/class/drm/card0-HDMI-A-1/modes
# 查看显示时钟与状态(Rockchip 特有,以实际内核为准)
cat /sys/kernel/debug/dri/0/vop_state4.2 显示日志抓取
# 内核显示日志
dmesg | grep -E "drm|vop|hdmi|dsi|panel"
# Android 显示服务日志(Android 系统)
adb logcat -s SurfaceFlinger DisplayManagerService5. 常见问题
Q1: 开机后完全无显示输出?
按以下顺序排查:
- 确认显示接口类型与设备树配置(HDMI/MIPI DSI/eDP)
- 确认 eDP 与 HDMI 未同时使能(二选一冲突)
- 确认外部显示器/线缆正常
- 查看
dmesg | grep drm确认 DRM 驱动加载 - 检查背光与电源(MIPI/eDP 屏)
Q2: HDMI 连接电视无信号?
- 更换 HDMI 线缆测试
- 确认显示器支持的分辨率(检查 EDID)
- 检查 HPD 热插拔检测是否正常
- 降低分辨率/刷新率测试(如 1080p@60Hz)
- 检查 HDCP 配置
Q3: MIPI 屏显示花屏?
- 检查屏参配置(分辨率、时序)是否与屏规格一致
- 检查 pixel clock 与 lane 数配置
- 检查初始化序列是否完整
- 检查电压与供电
Q4: 显示方向不对(旋转了90度)?
- 检查设备树 display 节点旋转/方向属性
- Android 系统检查
ro.sf.hwrotation属性(以实际固件为准) - Linux 检查 DRM rotation 属性配置
Q5: 视频播放黑屏但声音正常?
- 检查视频解码器状态(硬件解码)
- 检查合成与显示通路(Compose/SurfaceFlinger)
- 检查显示接口带宽是否满足 4K 视频需求
Q6: 触摸屏能显示但不能触摸?
- 检查触摸屏驱动加载(详见触摸屏驱动)
- 检查 I2C 触摸接口通信
- 检查触摸坐标方向与显示方向匹配
6. 相关文档
| 文档 | 说明 |
|---|---|
| 显示DRM驱动 | 显示驱动开发 |
| HDMI显示驱动 | HDMI 显示驱动开发 |
| 触摸屏驱动 | 触摸屏驱动开发 |
| 显示框架 | 多媒体显示框架 |
| 视频编解码(MPP) | 视频编解码开发 |
| CPU-GPU-NPU调优 | GPU 性能调优 |
| 40PIN引脚定义 | 底板接口引脚定义(MIPI DSI 引出) |
| 底板接口定义 | 底板显示接口定义 |
| 核心板参数 | 核心板显示接口能力(HDMI/MIPI/eDP) |
