Skip to content

A hands-on laboratory for mastering the Linux DRM/KMS subsystem. Focuses on hardware bring-up methodologies, diagnostic tools (modetest, debugfs), and bridging the gap between User-space display requirements and Kernel-space driver logic. Targeted at embedded display driver development and IC design verification.

License

Notifications You must be signed in to change notification settings

TomHsieh300/Linux-DRM-Explorer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linux-DRM-Explorer

A systematic exploration of the Linux DRM/KMS subsystem on the Rockchip RK3588 (VOP2) platform. This project documents the complete display bring-up process, from low-level register verification to high-level atomic synchronization.

Key Project Highlights

  • Cross-Subsystem Mental Model: Leveraging experience from Linux ASoC to master the DRM pipeline (Mapping DMA/Mixers to CRTC/Planes).
  • Hardware-Level Debugging: Direct verification of Video Timing and Pixel Clocks via debugfs and hardware registers.
  • Sync & Performance: Deep dive into dma-fence mechanisms and VBlank IRQ monitoring for smooth page-flipping.

Technical Experiments (Step-by-Step)

I have documented the bring-up process in 6 structured experiments:

  1. KMS Pipeline Mapping: Analyzing internal resources (VP0-VP3) and Plane constraints.
  2. Modetest mastery: Hands-on with atomic modesetting and troubleshooting object IDs.
  3. DSI Panel Bring-up: Calculating Video Timings and verifying PCLK registers.
  4. DRM Master Concepts: Understanding ownership conflicts between fbcon and userspace clients.
  5. Composition & Sync: Hardware layering (Z-order) and the role of GEM/Fence.
  6. VBlank & Page Flip: Real-time monitoring of VOP interrupts to verify display "heartbeat."
  7. User Space Example: Implementing Userspace KMS using C and libdrm

Tools & Environment

  • Hardware: LubanCat 5 (Rockchip RK3588)
  • OS: Ubuntu Lite (Minimal environment for cleaner DRM debugging)
  • Kernel Tools: modetest, debugfs, procfs, GICv3 interrupt controller analysis.

Signed-off-by: TomHsieh300 hungen3108@gmail.com

About

A hands-on laboratory for mastering the Linux DRM/KMS subsystem. Focuses on hardware bring-up methodologies, diagnostic tools (modetest, debugfs), and bridging the gap between User-space display requirements and Kernel-space driver logic. Targeted at embedded display driver development and IC design verification.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published