STRUCT VKMS_OUTPUT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’œ struct vkms_output(9) β€” like, the whole vibe of VKMS output, bestie

okay so this is a page from the Kernel API Manual, and it's about struct vkms_output β€” which is literally the internal representation of all the output components in VKMS. everything that makes your virtual output a whole entire unit lives in here. main character energy tbh πŸ‘‘


✨ NAME ✨

struct vkms_output β€” the internal representation of all output components in VKMS πŸŽ€

like, all of them. no cap.


🌸 SYNOPSIS 🌸

here's the whole struct, copied exactly because we do not play with typos:

struct vkms_output {
    struct drm_crtc crtc;
    struct drm_writeback_connector wb_connector;
    struct drm_encoder wb_encoder;
    struct workqueue_struct *composer_workq;
    spinlock_t lock;
    bool composer_enabled;
    struct vkms_crtc_state *composer_state;
    spinlock_t composer_lock;
 };

that's it, that's the struct. eight members. iconic. πŸ’…


πŸ¦‹ Members πŸ¦‹

okay let's go through every single one because every detail matters and we're not skipping anything:

  • crtc β€” the base CRTC in DRM. that's her foundation, her roots, her origin story πŸ’–
  • wb_connector β€” a struct drm_writeback_connector. (it's chillin' in the struct up there, bestie πŸ‘€)
  • wb_encoder β€” a struct drm_encoder. (also just vibing in the struct ✨)
  • composer_workq β€” an ordered workqueue for composer_state.composer_work. ordered is the key word here β€” she queues things up in order, she's not chaotic πŸ”₯
  • lock β€” the lock used to protect concurrent access to the composer. basically the bouncer at the club door, nobody gets in while she's holding it 🫢
  • composer_enabled β€” protected by lock, and it's true when the VKMS composer is active (like when a crc is needed, or writeback is happening). she's either on or off, no in-between πŸ’€
  • composer_state β€” protected by lock, this is the current state of this VKMS output. the now. the present. the moment 🌈
  • composer_lock β€” a lock used internally to protect composer_state members. different lock, different job, don't mix them up okay πŸ‘‘
ngl the lock / composer_lock situation is very "two locks, two purposes" and if you confuse them that's on you bestie 😭

⭐ SEE ALSO ⭐

the kernel file ./drivers/gpu/drm/vkms/vkms_drv.h and honestly a whole friend group of related pages:

go read them. iykyk πŸ’œ


that's the whole page bestie, you ate that πŸ“ this little gem lives at ./drivers/gpu/drm/vkms, dated October 2026, and it's struct vkms_output(9) β€” mwah, slay, periodt πŸ’…βœ¨

πŸ“¦ where this page comes from