STRUCT VKMS_CONFIG_CONNECTOR(9)
π struct vkms_config_connector(9) π
okay so bestie, welcome to the Kernel API Manual entry for struct vkms_config_connector β yes that's the manual name, we're in the kernel API docs section, section 9, no cap π«Ά
β¨ NAME β¨
struct vkms_config_connector β
and that's... literally it π the original page gives zero description blurb here, so we're not making one up. The whole personality lives in the members down below π
π¦ SYNOPSIS π¦
here's the struct in all its glory, copied exactly, do not touch:
struct vkms_config_connector {
struct list_head link;
struct vkms_config *config;
enum drm_connector_status status;
struct xarray possible_encoders;
struct vkms_connector *connector;
};
π Members π
the way each field has a whole job, we love a structured queen π
linkβ the link that hooks this connector up to the other connectors insidevkms_configπ«configβ thevkms_configthat this connector belongs to, its home base, its main character context πstatusβ the status of the connector (connected, disconnected, you know the vibe...) π’π΄possible_encodersβ an array of encoders that can be used with this connector; like the connector's little black book of compatible encoders ποΈβ¨connectorβ β οΈ internal usage only, bestie! this pointer should never be considered as valid. It can be used to store a temporary reference to a VKMS connector during device creation. This pointer is not managed by the configuration and must be managed by other means. so like... it's giving "temporary situationship", not "official relationship" π handle it yourself fr fr
lowkey important: that last one is not your average pointer. don't trust it, don't assume it's valid, and don't expect the config to clean up after it. that's on you π
π SEE ALSO π
goes without saying but I'm saying it anyway: this is a Kernel file, specifically ./drivers/gpu/drm/vkms/vkms_config.h π
the structs first, because family:
struct vkms_config(9)struct vkms_config_plane(9)struct vkms_config_crtc(9)struct vkms_config_encoder(9)
then all the for-each girls, iconic behaviour:
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)
lifecycle + general config era:
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)
planes, planes, planes:
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)
crtc gang:
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)
encoders, periodt:
vkms_config_create_encoder(9)vkms_config_destroy_encoder(9)vkms_config_encoder_attach_crtc(9)vkms_config_encoder_detach_crtc(9)
and the connector besties, our actual neighbours π:
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)
that's the whole page, no notes, ate and left no crumbs πβ¨
sign-off time π this one lives under ./drivers/gpu/drm/vkms, dated October 2026, and it's part of the Kernel API Manual β go read the source, ily, 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