STRUCT VKMS_CONFIG_ENCODER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct vkms_config_encoder(9) πŸ’…

okay so this is a page from the Kernel API Manual and it's all about struct vkms_config_encoder β€” the little data structure that holds down the encoder side of a VKMS config. no cap, it's short, but every field matters, so let's get into it bestie πŸŽ€


πŸ“› NAME πŸ“›

struct vkms_config_encoder β€” literally the struct itself. that's the whole name section. iconic minimalism, we respect it ✨


🌸 SYNOPSIS 🌸

here's the shape of it, exactly as it lives:

struct vkms_config_encoder {
    struct list_head link;
    struct vkms_config *config;
    struct xarray possible_crtcs;
    struct drm_encoder *encoder;
};

four fields, zero fluff, she's serving structure 🫢


πŸ’– Members πŸ’–

  • link β€” the link to the other encoders inside vkms_config. think of it as her little handhold in the group chat of encoders πŸ‘‘
  • config β€” the vkms_config this CRTC belongs to. (yes, the docs literally say CRTC here even though we're talking about an encoder β€” not me pointing it out, i'm just the messenger πŸ’€ but that's what it says, verbatim.)
  • possible_crtcs β€” an array of CRTCs that can be used with this encoder. the potential-besties list, fr fr πŸ¦‹
  • encoder β€” internal usage only, and this part is serious: this pointer should never be considered valid. it can be used to store a temporary reference to a VKMS encoder during device creation. this pointer is not managed by the configuration and must be managed by other means. so like… do not get attached, she's temporary πŸ™ˆ
bestie i mean it β€” that encoder pointer is a situationship. use it, don't trust it πŸ’…

πŸ”— SEE ALSO πŸ”—

Kernel file ./drivers/gpu/drm/vkms/vkms_config.h, plus the whole extended universe:


that's the whole page, bestie β€” go forth and configure your encoders responsibly βœ¨πŸ‘‘

signed off with love from ./drivers/gpu/drm/vkms, dated October 2026 β€” same title, same page name, same everything, just with way more sparkle πŸŽ€πŸ’œ

πŸ“¦ where this page comes from