Linux GPU Driver Developer’s Guide¶
- Introduction
- DRM Internals
- DRM Memory Management
- Kernel Mode Setting (KMS)
- Overview
- KMS Core Structures and Functions
- Modeset Base Object Abstraction
- Atomic Mode Setting
- CRTC Abstraction
- Frame Buffer Abstraction
- DRM Format Handling
- Dumb Buffer Objects
- Plane Abstraction
- Display Modes Function Reference
- Connector Abstraction
- Encoder Abstraction
- KMS Initialization and Cleanup
- KMS Locking
- KMS Properties
- Vertical Blanking
- Mode Setting Helper Functions
- Modeset Helper Reference for Common Vtables
- Atomic Modeset Helper Functions Reference
- Simple KMS Helper Reference
- fbdev Helper Functions Reference
- Framebuffer CMA Helper Functions Reference
- Bridges
- Panel Helper Reference
- Display Port Helper Functions Reference
- Display Port Dual Mode Adaptor Helper Functions Reference
- Display Port MST Helper Functions Reference
- MIPI DSI Helper Functions Reference
- Output Probing Helper Functions Reference
- EDID Helper Functions Reference
- SCDC Helper Functions Reference
- Rectangle Utilities Reference
- HDMI Infoframes Helper Reference
- Flip-work Helper Reference
- Auxiliary Modeset Helpers
- Framebuffer GEM Helper Reference
- Legacy Plane Helper Reference
- Legacy CRTC/Modeset Helper Functions Reference
- Userland interfaces
- GPU Driver Documentation
- drm/i915 Intel GFX Driver
- Core Driver Infrastructure
- Display Hardware Handling
- Mode Setting Infrastructure
- Frontbuffer Tracking
- Display FIFO Underrun Reporting
- Plane Configuration
- Atomic Plane Helpers
- Output Probing
- Hotplug
- High Definition Audio
- Intel HDMI LPE Audio Support
- Panel Self Refresh PSR (PSR/SRD)
- Frame Buffer Compression (FBC)
- Display Refresh Rate Switching (DRRS)
- DPIO
- CSR firmware support for DMC
- Video BIOS Table (VBT)
- Display clocks
- Display PLLs
- Memory Management and Command Submission
- GuC
- Tracing
- Perf
- Style
- drm/meson AmLogic Meson Video Processing Unit
- drm/pl111 ARM PrimeCell PL111 CLCD Driver
- drm/tegra NVIDIA Tegra GPU and display driver
- drm/tinydrm Driver library
- drm/tve200 Faraday TV Encoder 200
- drm/vc4 Broadcom VC4 Graphics Driver
- drm/bridge/dw-hdmi Synopsys DesignWare HDMI Controller
- drm/i915 Intel GFX Driver
- VGA Switcheroo
- VGA Arbiter
- TODO list
- Subsystem-wide refactorings
- De-midlayer drivers
- Switch from reference/unreference to get/put
- Convert existing KMS drivers to atomic modesetting
- Clean up the clipped coordination confusion around planes
- Convert early atomic drivers to async commit helpers
- Better manual-upload support for atomic
- Fallout from atomic KMS
- Get rid of dev->struct_mutex from GEM drivers
- Convert instances of dev_info/dev_err/dev_warn to their DRM_DEV_* equivalent
- Convert drivers to use simple modeset suspend/resume
- Convert drivers to use drm_fb_helper_fbdev_setup/teardown()
- idr_init_base()
- Core refactorings
- Better Testing
- Driver Specific
- Outside DRM
- Subsystem-wide refactorings