DRM_CLIENT_...ERSAL_PLANES(9)
π DRM_CLIENT_...ERSAL_PLANES(9) π
okay bestie, so this is a page straight out of the Kernel API Manual β section 9 of the manual, and the name got chopped in the header (DRM_CLIENT_...ERSAL_PLANES(9)) but the full thing is DRM_CLIENT_CAP_UNIVERSAL_PLANES and it's short, sweet, and kind of iconic. let's get into it π«Ά
β¨ NAME β¨
DRM_CLIENT_CAP_UNIVERSAL_PLANES β yeah that's literally it, that's the whole name, no subtitle, no nothing. she's mysterious. she's a capability. π
πΈ SYNOPSIS πΈ
DRM_CLIENT_CAP_UNIVERSAL_PLANES
just the symbol itself, sitting there, no arguments, no parens β it's a define, not a function, and honestly? love that for her. β¨
π¦ DESCRIPTION π¦
okay so the whole vibe here is: if you set this bad boy to 1, the DRM core will expose all planes to userspace β and yes, that means overlay planes, primary planes, AND cursor planes. the whole plane party, everyone's invited, no plane left behind ππ₯
think of it like this: normally userspace only sees a limited slice of what the hardware can do, but flip this cap to 1 and the kernel's like "here's everything, go be a main character" π
now for the lore π β this capability was introduced in kernel version 3.15. and then, plot twist, starting from kernel version 3.17, this capability is always supported for all drivers. periodt. so if you're on anything modern, it's just... there. no cap. π¦
ngl that 3.17 line is the important one β "always supported for all drivers" is doing a lot of heavy lifting, so don't go writing code that assumes she might be missing on new kernels, bestie π
β SEE ALSO β
okay this is the part where the manpage goes full "let me introduce you to my entire friend group" and honestly it ate π here's every single one, no skips, no cuts:
- the kernel file
./tools/perf/trace/beauty/include/uapi/drm/drm.hstruct π drm_gem_close(9)drm_gem_flink(9)drm_gem_open(9)drm_gem_change_handle(9)DRM_CAP_DUMB_BUFFER(9)DRM_CAP_VBLANK_HIGH_CRTC(9)DRM_CAP_DUMB_PREFERRED_DEPTH(9)DRM_CAP_DUMB_PREFER_SHADOW(9)DRM_CAP_PRIME(9)DRM_PRIME_CAP_IMPORT(9)DRM_PRIME_CAP_EXPORT(9)DRM_CAP_TIMESTAMP_MONOTONIC(9)DRM_CAP_ASYNC_PAGE_FLIP(9)DRM_CAP_CURSOR_WIDTH(9)DRM_CAP_CURSOR_HEIGHT(9)DRM_CAP_ADDFB2_MODIFIERS(9)DRM_CAP_PAGE_FLIP_TARGET(9)DRM_CAP_CRTC_IN_VBLANK_EVENT(9)DRM_CAP_SYNCOBJ(9)DRM_CAP_SYNCOBJ_TIMELINE(9)DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP(9)DRM_CLIENT_CAP_STEREO_3D(9)DRM_CLIENT_CAP_ATOMIC(9)DRM_CLIENT_CAP_ASPECT_RATIO(9)DRM_CLIENT_CAP_WRITEBACK_CONNECTORS(9)DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT(9)DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE(9)- struct
drm_syncobj_eventfd(9) DRM_IOCTL_GEM_CLOSE(9)DRM_IOCTL_PRIME_HANDLE_TO_FD(9)DRM_IOCTL_PRIME_FD_TO_HANDLE(9)DRM_IOCTL_MODE_RMFB(9)DRM_IOCTL_MODE_CREATE_DUMB(9)DRM_IOCTL_MODE_GETFB2(9)DRM_IOCTL_SYNCOBJ_EVENTFD(9)DRM_IOCTL_MODE_CLOSEFB(9)DRM_IOCTL_SET_CLIENT_NAME(9)DRM_IOCTL_GEM_CHANGE_HANDLE(9)- struct
drm_event(9) DRM_EVENT_VBLANK(9)DRM_EVENT_FLIP_COMPLETE(9)DRM_EVENT_CRTC_SEQUENCE(9)
like I said. the whole friend group. iykyk πβ¨
aaaand that's the page!! π cute little sign-off for you: this one comes from ./tools/perf/trace/beauty/incl... (yes, truncated in the footer too, she's shy) and it's dated October 2026, filed under DRM_CLIENT_...ERSAL_PLANES(9) because the header and footer both agreed to keep it mysterious π go forth and expose those planes, bestie πΈπ¦π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms