STRUCT VKMS_CONFIG_CRTC(9)
π struct vkms_config_crtc(9) π
okay so bestie, welcome to the Kernel API Manual β this is the page for struct vkms_config_crtc(9) and honestly? she's a whole vibe. get comfy π«Ά
β¨ NAME β¨
struct vkms_config_crtc β and that'sβ¦ literally it π the original left the description blank after the dash. no cap, zero notes. she said "my name is enough" and honestly? main character energy. π
πΈ SYNOPSIS πΈ
here's the struct in all her glory β copy it exactly, don't you dare touch a character π₯
struct vkms_config_crtc {
struct list_head link;
struct vkms_config *config;
bool writeback;
struct vkms_output *crtc;
};
π Members π
so every field is doing her own little job and here's the tea on each one π
linkβ the link to the other CRTCs invkms_config. she's holding hands with her sisters, it's giving chain of command β¨configβ thevkms_configthat this CRTC belongs to. like, which family she's from. iykyk πwritebackβ iftrue, a writeback buffer can be attached to the CRTC. yes bestie, she can write back. iconic behaviour πcrtcβ ok this one is important, listen up π Internal usage. This pointer should never be considered as valid. she can be used to store a temporary reference to a VKMS CRTC during device creation, but that's it. this pointer is not managed by the configuration and must be managed by other means. not me warning you twice, but fr fr β do not trust her π
β οΈ real talk: that crtc pointer is a "temporary reference only, not managed by the config" situation β the manpage is extremely clear it should never be considered valid. handle her yourself or suffer π
π¦ SEE ALSO π¦
literally the whole friend group, no gatekeeping π
- Kernel file
./drivers/gpu/drm/vkms/vkms_config.h struct vkms_config(9)struct vkms_config_plane(9)struct vkms_config_encoder(9)struct vkms_config_connector(9)vkms_config_for_each_plane(9)vkms_config_for_each_crtc(9)vkms_config_for_each_encoder(9)vkms_config_for_each_connector(9)vkms_config_plane_for_each_possible_crtc(9)vkms_config_encoder_for_each_possible_crtc(9)vkms_config_connector_for_each_possible_encoder(9)vkms_config_create(9)vkms_config_default_create(9)vkms_config_destroy(9)vkms_config_get_device_name(9)vkms_config_get_num_crtcs(9)vkms_config_is_valid(9)vkms_config_register_debugfs(9)vkms_config_create_plane(9)vkms_config_destroy_plane(9)vkms_config_plane_set_type(9)vkms_config_plane_get_default_pipeline(9)vkms_config_plane_set_default_pipeline(9)vkms_config_plane_attach_crtc(9)vkms_config_plane_detach_crtc(9)vkms_config_create_crtc(9)vkms_config_destroy_crtc(9)vkms_config_crtc_get_writeback(9)vkms_config_crtc_set_writeback(9)vkms_config_crtc_primary_plane(9)vkms_config_crtc_cursor_plane(9)vkms_config_create_encoder(9)vkms_config_destroy_encoder(9)vkms_config_encoder_attach_crtc(9)vkms_config_encoder_detach_crtc(9)vkms_config_create_connector(9)vkms_config_destroy_connector(9)vkms_config_connector_attach_encoder(9)vkms_config_connector_detach_encoder(9)vkms_config_connector_get_status(9)vkms_config_connector_set_status(9)
π and that's the page bestie!! shoutout to ./drivers/gpu/drm/vkms for being the source, October 2026 for the date, and the Kernel API Manual for hosting the whole thing. slay, bye πβ¨π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms