DRM_MODE_AT...LLOW_MODESET(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ DRM_MODE_AT...LLOW_MODESET(9) πŸ¦‹

okay so bestie, this is a page straight out of the Kernel API Manual β€” we're in kernel-docs territory now, and honestly? this one's a baddie. it's a flag constant from ./include/uapi/drm, dated October 2026 if you can believe it. let's get into it πŸ’…


✨ NAME ✨

DRM_MODE_ATOMIC_ALLOW_MODESET β€” that's it, that's the whole name section. no cute little one-liner description, the kernel left that part blank like a text message that just says "k." iconic of it actually πŸŽ€


🌸 SYNOPSIS 🌸

DRM_MODE_ATOMIC_ALLOW_MODESET

just the flag itself, standing there looking pretty. no arguments, no parameters, she's self-sufficient ✨


πŸ’– DESCRIPTION πŸ’–

okay so here's the tea 🍡 β€” this flag lets an update result in temporary or transient visible artifacts while the update is being applied. yes, VISIBLE ones. on your actual screen. lowkey scary, but hear me out:

  • applying the update may also take significantly more time than a page flip (so like, don't hold your breath, bestie 🫢)
  • but all visual artifacts will disappear by the time the update is completed β€” and that completion moment is signalled through the vblank event's timestamp (see struct drm_event_vblank). so she cleans up after herself, we love a responsible queen πŸ‘‘

this flag must be set when the KMS update might cause visible artifacts. periodt. without this flag, such a KMS update will return an EINVAL error πŸ’€ like, it just won't even try.

so what kind of update may cause visible artifacts, you ask? honestly bestie, that depends on the driver and the hardware β€” it's giving "it depends," the most frustrating answer ever, i know 😭

here's the hack though: user-space that needs to know beforehand if an update might cause visible artifacts can use DRM_MODE_ATOMIC_TEST_ONLY without DRM_MODE_ATOMIC_ALLOW_MODESET to see if it fails. it's basically a vibe check for your modeset πŸ”₯ test it first, then commit. iykyk.

πŸ’€ caveat time: to the best of the driver's knowledge, visual artifacts are guaranteed to not appear when this flag is not set. but β€” and this is the important but β€” some sinks might display visual artifacts outside of the driver's control. so like, your monitor could be doing its own thing and the driver can't do anything about it. not her fault, no cap πŸ™ˆ

🌈 SEE ALSO 🌈

the whole extended friend group πŸ’œ β€” kernel file ./include/uapi/drm/drm_mode.h and the whole crew:


and that's the whole page, bestie 🫢 go forth and set your flags responsibly!

sign-off vibes: this lil masterpiece lives in ./include/uapi/drm and it's stamped October 2026 πŸ’œ may your artifacts be transient and your vblank timestamps be accurate ✨

πŸ“¦ where this page comes from