GPU驱动开发
📘 嵌入式 · 实战指南 · 30章全
🧑‍💻 从入门到上游贡献
01 GPU驱动全景
嵌入式GPU架构概览 · 驱动分层模型(UML/KMD) · 交叉编译链与模拟器环境搭建
02 硬件接口编程
MMIO寄存器访问 · 中断处理注册 · DMA缓冲区管理
03 命令提交与调度
RingBuffer机制 · Doorbell寄存器 · Fence同步
04 内存管理
GEM与DMA-BUF · 页表构建 · IOMMU配置
05 上下文与优先级
硬件上下文创建 · 优先级队列 · 时间片调度
06 着色器核心编程
Shader Core指令集 · Wavefront/Warp调度 · 寄存器压力分析
07 纹理单元驱动
纹理采样器配置 · Mipmap层级 · 压缩纹理格式支持
08 光栅化管线
固定功能单元(VS/TCS/TES/GS/FS) · Primitive Assembly · Clipping
09 帧缓冲与显示
Framebuffer配置 · VBlank同步 · 多缓冲(Double/Triple)
10 电源管理
DVFS调频 · Runtime PM · Suspend/Resume流程
11 性能计数器
硬件PMU寄存器 · Perf事件采样 · Profiling工具集成
12 调试与追踪
KGDB调试 · Tracepoint插桩 · dmesg日志分析
13 错误恢复
GPU Hang检测 · TDR机制 · 上下文无损恢复
14 用户态驱动
libdrm封装 · ioctl接口设计 · OpenGL/Vulkan thunk层
15 图形API适配
Vulkan WSI层 · OpenGL ES状态追踪 · DirectX映射层
16 计算内核支持
OpenCL运行时 · CUDA兼容层 · 张量核心驱动
17 多GPU协同
Mosaic模式 · SFR分屏渲染 · 显存统一寻址
18 虚拟化支持
SR-IOV配置 · GPU Passthrough · vGPU调度器
19 安全与隔离
IOMMU域隔离 · 安全中断 · 固件签名验证
20 固件交互
SCP/MCU通信协议 · Firmware加载 · 热补丁机制
21 硬件加速编解码
VPU驱动 · 编解码会话管理 · 码流缓冲区管理
22 显示控制器
CRTC/Encoder/Connector模型 · DP/eDP/HDMI协议适配
23 GPU调度器
DRM调度器核心 · Job依赖解析 · 超时重排
24 内存回收
Shrinker回调 · GEM对象回收 · Swap机制
25 缓存一致性
ACE/CHI协议 · Snoop Filter · Dirty Page追踪
26 硬件调试接口
JTAG/ETM追踪 · Performance Monitor Unit · 硬件断点
27 合规与认证
Khronos CTS运行 · Vulkan Conformance · OpenGL ES 3.x测试
28 性能优化
Shader二进制重写 · 寄存器分配优化 · 指令调度
29 向上游贡献
Linux Kernel社区规范 · Patch Review流程 · Maintainer沟通
30 实战项目
从零实现简易GPU驱动(模拟器) · 驱动测试框架 · 性能调优实战