A Current Overview of the DRM KMS Driver-Side APIs
summary
Current DRM KMS kernel APIs get spelled out with concrete how-to: register planes/crtcs/encoders/connectors, use gem vs ttm (gem for shared memory, TTM for dedicated VRAM), manage DMA addresses and cache ops, reserve contiguous memory via CMA contiguous pool, and handle hotplug, vblank and atomic commits so updates happen without intermediate states. Examples and patches come from drivers in-tree and experience porting logicvc-drm and multiple panel/bridge drivers shows the drm_panel_bridge abstraction simplifies connector setup and chaining.
AI-written summary · about
chapters (13)
- 0:00DRM KMS driver APIs intro
- 1:23Display hardware pipeline
- 10:24User space support for DRM KMS
- 17:18Registering display components
- 18:43Memory management in DRM
- 24:03Configuring mode and frame buffers
- 25:48Atomic API and state management
- 31:02Connector and EDID handling
- 34:20CRTC configuration and vblank
- 37:56Encoder and bridge integration
- 40:01Panel drivers and DRM abstractions
- 42:10Generic panel and bridge drivers
- 43:35Submitting DRM patches
related talks
51mAnatomy of an Embedded KMS Driver
39mOverview of a Modern DRM Driver
39mOverview of a Modern DRM Driver
46mGraphic Testing Without Hardware: Discovering the Power of VKMS!
46mLinux DRM: New Picture Processing API
41mWalking Through the Linux-Based Graphics Stack
39mNavigating the Linux Graphics Stack
44mGraphics: A Frame's Journey
