Graphic Stack in Linux - sharmasadhna/mylearnings GitHub Wiki
How to display things in the Linux world: Different solutions, provided by different subsystems:
- FBDEV: Framebuffer Device
- DRM/KMS: Direct Rendering Manager / Kernel Mode Setting
- V4L2: Video For Linux 2
How to choose one: it depends on your needs
- Each subsytem provides its own set of features
- Different levels of complexity
- Different levels of activity
Why choosing DRM/KMS ?
- Actively maintained
- Provides fine grained control on the display pipeline
- Widely used by user-space graphic stacks
- Provides a full set of advanced features
Why not FBDEV ?
- Less actively maintained
- Does not provides all the features we needed (overlays, hw cursor, ...)
- Developers are now encouraged to move to DRM/KMS
Why not V4L2 ? Well suited for video capture and specific video output devices but not for "complex" display controllers
Source : https://events.static.linuxfound.org/sites/events/files/slides/brezillon-drm-kms.pdf