ENUM DRM_IOCTL_FLAGS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 ENUM DRM_IOCTL_FLAGS 🌸

okay bestie, welcome to the Kernel API Manual entry for enum drm_ioctl_flags β€” yep, that whole mouthful is the manual name, we're not typing it twice πŸ’…. This is the DRM ioctl flags page, and it's honestly kind of iconic once you get past the lowercase enum energy.


✨ SYNOPSIS ✨

enum drm_ioctl_flags {
    DRM_AUTH ,
    DRM_MASTER ,
    DRM_ROOT_ONLY ,
    DRM_RENDER_ALLOW

};

like, that's the whole cast 🫢 four constants, zero drama.


πŸŽ€ CONSTANTS πŸŽ€

  • DRM_AUTH β€” this one's for ioctls that get used for rendering, and it requires that the file descriptor is either a render node, or β€” if it's a legacy/primary node β€” then it has to be authenticated. no auth, no entry, sorry babe πŸ™ˆ
  • DRM_MASTER β€” must be set for any ioctl that can change the modeset or display state. userspace has to call the ioctl through a primary node, while it is the active master. main character requirements fr.
heads up though: read-only modeset ioctl can also be called by unauthenticated clients, or when a master is not the currently active one πŸ‘‘
  • DRM_ROOT_ONLY β€” anything that could potentially wreak a master file descriptor needs this flag set. currently that's only the SETMASTER and DROPMASTER ioctl, which e.g. logind can call to force a non-behaving master (display compositor) into compliance. it's giving hall monitor and honestly? needed πŸ’€

this is equivalent to callers with the SYSADMIN capability.

  • DRM_RENDER_ALLOW β€” used for all ioctl needed for rendering only, for drivers which support render nodes. this should be all new render drivers, and hence it should always be set for any ioctl with DRM_AUTH set. 🌈
but note: read-only query ioctl might have this set, but have not set DRM_AUTH, because they do not require authentication. sneaky little exception, love that for them πŸ¦‹

πŸ’– DESCRIPTION πŸ’–

various flags that can be set in drm_ioctl_desc.flags to control how userspace can use a given ioctl. that's it, that's the vibe β€” they're the little permission stickers on your ioctl πŸŽ€


πŸ‘‘ SEE ALSO πŸ‘‘

go read those, iykyk πŸ“šβœ¨


and that's a wrap, bestie!! 🫢 this page lives over in ./include/drm, and it's stamped October 2026 β€” so yeah, girlies in the future are still out here reading about ioctl flags. slay. πŸ’œπŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from