首页
›
嵌入式与底层系统
›
013-Linux DRMKMS显示驱动工程
›
《Linux显示驱动FrameBuffer到DRM迁移实战》
VIP22
本课程属于:013-Linux DRMKMS显示驱动工程
嵌入式与底层系统 · 共 22 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
📘
Linux显示驱动FrameBuffer到DRM迁移实战
共计 30 章节
可可资料掘金营 · 点击在线试看
01
课程导入
目标=Linux显示子系统演进背景 · FrameBuffer与DRM的核心… · 迁移的必要性与学习路线图
课程导入
Linux
02
FrameBuffer基础
目标=fbdev架构 · fb_info结构体 · fb_ops操作集
FrameBuffer
fbdev
03
DRM架构总览
目标=DRM子系统组成 · KMS与GEM · DRM设备节点
DRM
架构总览
04
KMS核心概念
目标=CRTC · Encoder · Connector
KMS
核心概念
05
GEM与显存管理
目标=GEM对象 · DMA-BUF · PRIME
GEM
显存管理
06
DRM驱动框架
目标=drm_driver结构体 · 加载与卸载流程 · 设备初始化与文件操作
DRM
驱动框架
07
FrameBuffer到DRM映射
目标=fbdev仿真层 · drm_fbdev_generic · 兼容旧应用的策略
FrameBuffer
DRM
08
显示模式设置
目标=atomic模式设置 · drm_atomic_state · 提交与回滚
显示模式设置
atomic
09
Plane与图层合成
目标=Primary/Overlay… · 格式与缩放 · 硬件合成与软件合成
Plane
图层合成
10
中断与事件处理
目标=vblank · page flip · fence
事件处理
vblank
11
迁移评估方法
目标=现有fbdev驱动分析 · 功能矩阵对比 · 迁移风险与工作量评估
迁移评估方法
fbdev
12
迁移设计流程
目标=驱动拆分 · KMS对象抽象 · 内存管理重构
迁移设计流程
目标=驱动拆分
13
实战环境搭建
目标=内核编译 · QEMU/开发板 · 调试工具
实战环境搭建
目标=内核编译
14
简单fbdev驱动分析
目标=代码结构 · 硬件寄存器操作 · 显示初始化与刷新流程
fbdev
简单
15
DRM驱动骨架搭建
目标=模块注册 · drm_device初始化 · 最小KMS管线创建
DRM
驱动骨架搭建
16
Connector与Encoder实现
目标=EDID读取 · 模式列表 · 热插拔检测与连接状态
Connector
Encoder
17
CRTC与Plane实现
目标=时序配置 · 扫描out · 格式支持
CRTC
Plane
18
GEM内存管理实现
目标=dumb buffer · CMA · IOMMU
GEM
内存管理实现
19
fbdev兼容层实现
目标=drm_fbdev_gener… · fb_ops适配 · 控制台与X11兼容
fbdev
兼容层实现
20
中断与vblank实战
目标=注册中断 · 处理vblank · page flip完成回调与同步
vblank
目标=注册
21
电源管理迁移
目标=Runtime PM · 系统休眠 · 显示恢复与状态保存
电源管理迁移
Runtime
22
多显示与热插拔
目标=多CRTC · 多Connector · 动态模式切换与拓扑管理
多显示
热插拔
23
性能优化
目标=带宽计算 · 格式选择 · 原子提交优化
性能优化
目标=带宽计算
24
调试与问题定位
目标=drm debugfs · trace · 常见报错
调试
问题定位
25
迁移案例一
目标=从简单LCD控制器fbdev到…
迁移案例一
LCD
26
迁移案例二
目标=HDMI显示驱动迁移 · EDID与音频协同 · 热插拔处理
迁移案例二
HDMI
27
迁移案例三
目标=多图层硬件合成驱动迁移 · Plane与原子提交实战
迁移案例三
目标=多图层硬件…
28
常见问题与陷阱
目标=内存泄漏 · 引用计数 · 锁竞争
常见问题
陷阱
29
测试与验证
目标=功能测试 · 兼容性测试 · 性能测试
测试
验证
30
综合提升与展望
目标=DRM新特性 · Writeback · HDR
综合提升
DRM
所属VIP或分类
同VIP:drm_crtc驱动中gamma校正与色彩管理配置工程
同VIP:DRM显示驱动开发-GPU渲染与多平面合成实践
同VIP:DRM显示驱动开发-硬件光标与VBlank同步