drm_atomic_h...r_set_config(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

drm_atomic_h...r_set_config(9) πŸŽ€

okay bestie, so this is a page from the Kernel API Manual and it's about drm_atomic_helper_set_config β€” yes the header line is doing that truncated drm_atomic_h...r_set_config(9) thing, that's just how it's printed, don't come for her πŸ’…. Anyway. Sit down, grab a strawberry drink πŸ“, and let's talk about setting a new config from userspace.


✨ NAME ✨

drm_atomic_helper_set_config β€” set a new config from userspace. that's it. that's the whole job. 🫢


🌸 SYNOPSIS 🌸

int drm_atomic_helper_set_config (struct drm_mode_set *set , struct
drm_modeset_acquire_ctx *ctx );

like, you hand her a struct drm_mode_set *set and a struct drm_modeset_acquire_ctx *ctx, and she gives you back an int. two args, one int, no drama. ✨


πŸ¦‹ ARGUMENTS πŸ¦‹

  • set β€” the mode set configuration πŸ’– this is the actual "here's what I want the screen to look like" bundle.
  • ctx β€” the lock acquisition context πŸ”’ your proof that you've already handled the locking situation, bestie.

πŸ‘‘ DESCRIPTION πŸ‘‘

So what she actually does: this gives you a default CRTC set_config handler built on the atomic driver interface. like, a ready-made one so you don't have to write your own. iconic behaviour honestly. no cap. πŸ”₯


πŸ’€ NOTE πŸ’€

okay this part's important, pay attention bestie:

for backwards compatibility with old userspace, this automatically resets the "link-status" property to GOOD, which forces any link re-training. slurp. πŸ’…

and why is that allowed? because the SETCRTC ioctl does not define whether an update needs a full modeset or just a plane update β€” so she's within her rights to do it. periodt. ✨

see also drm_connector_set_link_status_property. iykyk 🧚


🌈 RETURN 🌈

  • returns 0 on success πŸŽ‰
  • returns negative errno numbers on failure 😭 (yes, plural, there are many ways to fail, that's just life)

⭐ SEE ALSO ⭐

she has so many friends, honestly main character energy with this contact list πŸ‘‘ β€” and it all lives in the kernel file ./drivers/gpu/drm/drm_atomic_helper.c:


and that's the whole page, bestie, you ate that 🫢✨

little sign-off before you go: this one's stamped from ./drivers/gpu/drm, dated October 2026 β€” same code, same page name drm_atomic_h...r_set_config(9), just a whole lot more glitter on it now. bye babe πŸ’–πŸŽ€

πŸ“¦ where this page comes from