drm_atomic_...eeds_modeset(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… drm_atomic_crtc_needs_modeset πŸ’…

okay so bestie, welcome to the Kernel API Manual β€” yes this is a drm_atomic_...eeds_modeset(9) page, the title got a little truncated by the vibes, but we're here and we're slaying 🫢


✨ NAME ✨

drm_atomic_crtc_needs_modeset β€” compute combined modeset need 🌸


✨ SYNOPSIS ✨

bool drm_atomic_crtc_needs_modeset (const struct drm_crtc_state *state
);

πŸŽ€ ARGUMENTS πŸŽ€

  • state β€” the drm_crtc_state for the CRTC, aka the main character of this whole function πŸ’–

πŸ¦‹ DESCRIPTION πŸ¦‹

So to give drivers flexibility (and like, we love flexibility), struct drm_crtc_state has 3 booleans tracking whether the state CRTC changed enough to need a full modeset cycle, and those three iconique booleans are: mode_changed, active_changed and connectors_changed. This helper literally just combines these three to compute the overall need for a modeset for state. That's it. That's the whole function. no cap ✨

The atomic helper code sets these booleans, but drivers can and should change them appropriately to accurately represent whether a modeset is really needed. In general, drivers should avoid full modesets whenever possible β€” lowkey a lifestyle choice, highkey good advice πŸ’…

For example: if the CRTC mode has changed, and the hardware is able to enact the requested mode change without going through a full modeset, the driver should clear mode_changed in its drm_mode_config_funcs.atomic_check implementation. See? Iconic. Effortless. No full modeset required 😌


🌈 SEE ALSO 🌈

Bestie, buckle up, this reference list is long β€” but every single one of them matters, so we're listing them all fr fr 🫢


and that's the whole page, bestie!! mwah πŸ’‹ this little number lives over in ./include/drm and it's stamped October 2026 β€” so go forth, clear that mode_changed, and avoid full modesets like you avoid drama in the group chat πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from