DRM_MODE_PAGE_FLIP_ASYNC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… DRM_MODE_PAGE_FLIP_ASYNC(9) πŸ’…

okay so this is a page from the Kernel API Manual bestie, and it's about one very specific little flag. it's a whole vibe. let's get into it ✨


🌸 NAME 🌸

DRM_MODE_PAGE_FLIP_ASYNC β€” that's it, that's the name, the original literally leaves the description blank so we're just gonna say hi to it 🫢


πŸŽ€ SYNOPSIS πŸŽ€

DRM_MODE_PAGE_FLIP_ASYNC

πŸ’– DESCRIPTION πŸ’–

okay so the entire point of this flag: you're asking that the page-flip gets done as soon as possible, like, no delay from waiting around for vblank. she does not wait. she does not queue politely. she goes.

the tradeoff? this may cause tearing to be visible on the screen. yes literally visible tearing, that's the cost of doing business 😭 that's the whole deal, you get speed and you get a screen that looks like it got snagged on something. iconic but at what cost.

when you use it with the atomic uAPI, the driver will return an error if the hardware doesn't support performing an asynchronous page-flip for this update. so like, hardware said no πŸ’€. user-space should handle this, e.g. by falling back to a regular page-flip. it's giving "have a backup plan bestie."

✨ heads up: some hardware might need to perform one last synchronous page-flip before being able to switch to asynchronous page-flips. as an exception, the driver will return success even though that first page-flip is not asynchronous. so don't be confused when it says it worked and it wasn't async yet β€” that's the warm-up lap, she's getting ready πŸ”₯

πŸ¦‹ SEE ALSO πŸ¦‹

the whole friend group, no cap:


mwah πŸ’‹ that's the page. she lives in ./include/uapi/drm, she's dated October 2026, and honestly? she ate. go flip some pages async, bestie, and don't come crying to me about the tearing πŸŒˆπŸ’œ

πŸ“¦ where this page comes from