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 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
 - format Helper Functions Reference
 - Framebuffer CMA Helper Functions Reference
 - Framebuffer GEM Helper Reference
 - Bridges
 - Panel Helper Reference
 - Panel Self Refresh Helper Reference
 - HDCP Helper Functions Reference
 - Display Port Helper Functions Reference
 - Display Port CEC Helper Functions Reference
 - Display Port Dual Mode Adaptor Helper Functions Reference
 - Display Port MST Helpers
 - MIPI DBI Helper Functions Reference
 - MIPI DSI Helper Functions Reference
 - Display Stream Compression Helper Functions Reference
 - Output Probing Helper Functions Reference
 - EDID Helper Functions Reference
 - SCDC Helper Functions Reference
 - HDMI Infoframes Helper Reference
 - Rectangle Utilities Reference
 - Flip-work Helper Reference
 - Auxiliary Modeset Helpers
 - OF/DT Helpers
 - Legacy Plane Helper Reference
 - Legacy CRTC/Modeset Helper Functions Reference
 - SHMEM GEM Helper Reference
 
 - Userland interfaces
 - Kernel clients
 - GPU Driver Documentation
- drm/amdgpu AMDgpu driver
 - drm/amd/display - Display Core (DC)
 - 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
 - Display State Buffer
 
 - Memory Management and Command Submission
 - Microcontrollers
 - Tracing
 - Perf
 - Style
 
 - drm/mcde ST-Ericsson MCDE Multi-channel display engine
 - drm/meson AmLogic Meson Video Processing Unit
 - drm/pl111 ARM PrimeCell PL111 CLCD Driver
 - drm/tegra NVIDIA Tegra GPU and display driver
 - drm/tve200 Faraday TV Encoder 200
 - drm/v3d Broadcom V3D Graphics Driver
 - drm/vc4 Broadcom VC4 Graphics Driver
 - drm/vkms Virtual Kernel Modesetting
 - drm/bridge/dw-hdmi Synopsys DesignWare HDMI Controller
 - drm/xen-front Xen para-virtualized frontend driver
 - Arm Framebuffer Compression (AFBC)
 - drm/komeda Arm display driver
 
 - VGA Switcheroo
 - VGA Arbiter
 - TODO list
- Difficulty
 - Remove custom dumb_map_offset implementations
 - Convert existing KMS drivers to atomic modesetting
 - Clean up the clipped coordination confusion around planes
 - Convert early atomic drivers to async commit helpers
 - Fallout from atomic KMS
 - Get rid of dev->struct_mutex from GEM drivers
 - Convert logging to drm_* functions with drm_device paramater
 - Convert drivers to use simple modeset suspend/resume
 - Convert drivers to use drm_fbdev_generic_setup()
 - drm_framebuffer_funcs and drm_mode_config_funcs.fb_create cleanup
 - Clean up mmap forwarding
 - Generic fbdev defio support
 - idr_init_base()
 - struct drm_gem_object_funcs
 - Use DRM_MODESET_LOCK_ALL_* helpers instead of boilerplate
 - Rename CMA helpers to DMA helpers
 - Convert direct mode.vrefresh accesses to use drm_mode_vrefresh()
 - Remove drm_display_mode.hsync
 - drm_fb_helper tasks
 - connector register/unregister fixes
 - Remove load/unload callbacks from all non-DRIVER_LEGACY drivers
 - Make panic handling work
 - Clean up the debugfs support
 - KMS cleanups
 - Enable trinity for DRM
 - Make KMS tests in i-g-t generic
 - Extend virtual test driver (VKMS)
 - Backlight Refactoring
 - AMD DC Display Driver
 - Convert fbdev drivers to DRM