如果你已经在 RK3568 上跑通了 Android 15,串口能进、系统能起,但一接上 MIPI 屏就黑屏、花屏或者只亮背光不出图,那这门课大概率就是冲着你来的。它不讲 Android 应用层,也不铺开讲整个 BSP,而是把范围收在一条线上:显示通路从应用画一帧,到 LCD 真正亮起像素,中间那套 DRM 子系统到底做了什么。
先看清楚自己缺的是哪一块
点屏这件事,难的不是"写个屏参",而是出问题时不知道该往哪一层查。常见的状态有这么几种:
- 知道要配 dts,但 dts 里那些节点分别归 DRM 的哪个对象管,说不清;
- 能照着现成的屏参抄一份点亮,换一块分辨率或时序不同的屏就不会改了;
- 会看 log,但 log 里 CRTC、encoder、connector、bridge 混在一起刷,抓不住是谁报的错;
- 背光能亮、屏供电正常,但一直停在开机 logo 或者干脆没有信号输出。
这些现象背后,其实指向的是同一件事:对 DRM 的对象模型和初始化顺序没有形成整体印象。这门课就是把这个印象补上,再把它落到 RK3568 + Android 15 的实际代码上。
RK 平台的 DRM 和通用 DRM 差在哪
只照着内核文档学 DRM,能搞懂 atomic commit、plane、property 这些概念,但放到 RK 平台上还是会卡。因为 RK 有自己的显示控制器(VOP)、自己的显示子系统封装、自己的 dts 绑定方式,还有 MIPI DSI 控制器与 panel、背光之间的连接关系。课上先铺垫这部分理论,让你知道在 RK 上点一块屏,涉及哪些硬件模块、哪些软件层、启动阶段谁先谁后。搞清楚这个"怎么个事",后面看代码就不是在猜。
从点亮一块 MIPI 屏开始动手
理论过一遍之后就直接上手点 MIPI 接口的 LCD。这块内容的价值不在"最后点亮了",而在过程里能看到的几个关键点:屏的初始化命令怎么下发、时序参数怎么写进 panel 描述、DSI 控制器和 panel 怎么挂上、DRM 那边什么时候把这块屏认成一个 connector。跟着走一遍,你会知道一块新屏接进来,需要动哪几个地方,以及哪些地方是通用的、哪些必须按屏改。
调试环节才是真正拉开差距的部分
点屏的日常,八成时间在调试。课程会把调试 LCD 的方法单独拿出来讲:出图异常时怎么判断是时序问题、供电问题还是驱动注册问题;黑白屏、花屏、偏移、闪屏分别往哪个方向查;log 里哪些信息是有用的,哪些是干扰。这部分建议你边看边对着一块真实的板子操作,只靠看视频记不住。
看完你应该能回答这些问题
- 一帧图像从应用层提交到屏幕显示,中间经过 DRM 的哪些对象、哪些回调?
- RK3568 的 VOP、MIPI DSI 控制器、panel、背光在 dts 里是怎么串起来的?
- 换一块分辨率不同的 MIPI 屏,哪些参数必须改,哪些可以不动?
- 屏不亮时,怎么按层排查,快速缩小到是显示控制器、DSI、panel 还是背光的问题?
如果这些问题你现在答不完整,说明缺的正是这块。带着问题看,比从头顺着看效率高得多;碰到和自己板子不一致的地方,先记下来,等动手验证时再回头确认。
基于RK3568_Android15搞懂DRM子系统以及如何点屏
课程详情
课程标题
基于RK3568_Android15搞懂DRM子系统以及如何点屏
适合人群
- Android驱动开发人员
- Linux驱动初级进阶者
- BSP开发工程师
- 想学习DRM子系统开发,想熟悉RK平台点屏或者调屏的开发人员
- 对DRM显示框架、点屏流程不熟悉的人
你将会学到
- 熟悉RK平台DRM LCD子系统的开发
- 熟悉DRM子系统框架
- 熟悉调试LCD的开发
课程简介
本课程是蔡工Android/Linux驱动开发项目实战的内容之一,节选自《蔡工RK3568_Android15驱动开发实战课程-基于正点原子开发板》。课程包含二十章,34节课,涉及开发板大部分的模块驱动开发。
课程内容概述
- 第一节:简单介绍RK平台点屏要知道的一些理论,打好基础,先知道怎么个事,点屏要注意什么
- 第二节:直接上手点亮mipi接口的LCD屏,主要涉及供电、初始化序列、屏参数填入等内容
- 第三节:基于mipi LCD屏来分析drm子系统框架,了解下drm具体涉及哪些内容
- 第四节:说说如何点亮HDMI屏,HDMI比较简单,没有展开太多
课程目录
01 1、RK平台点屏相关理论知识.mp4 02 2、RK3568 Android15 点亮mipi屏.mp4 03 3、RK3568安卓15 MIPI LCD驱动架构浅析.mp4 04 4、RK3568-Android15点亮HDMI屏.mp4





