vkms_config...cursor_plane(9)
π vkms_config_crtc_cursor_plane(9) β the Kernel API Manual glow-up π
okay so bestie, we're deep in the Kernel API Manual (section 9, very demure, very kernel of it), and today's main character is vkms_config_crtc_cursor_plane. she's a tiny little getter and honestly she ate π
β¨ NAME β¨
vkms_config_crtc_cursor_plane β Return the cursor plane for a CRTC π±οΈβ¨
π¦ SYNOPSIS π¦
struct vkms_config_plane * vkms_config_crtc_cursor_plane (const struct
vkms_config *config , struct vkms_config_crtc *crtc_cfg );
like, yes, the layout is a little chaotic, but she's literally perfect, no notes π«Ά
π ARGUMENTS π
configβ the Configuration containing the CRTC. that's her home base, her safe space πcrtc_cfgβ okay ngl, the original literally just says-- undescribed --here π like the docs said "we don't know her" and moved on. so there's no description to pass along, fr fr β that's just what's on the page, periodt.
πΈ DESCRIPTION πΈ
so the way that this works: if multiple cursor planes are found, the first one is returned. iconic behavior, but heads up bestie β in that case, the configuration will be invalid. π like, not in a cute way.
see vkms_config_is_valid if you wanna go check yourself. iykyk π₯
β RETURN β
the cursor plane, or NULL if none is assigned yet. that's it, that's the whole vibe β no plane, no problem, you just get NULL back π«Ά
π SEE ALSO π
Kernel file ./drivers/gpu/drm/vkms/vkms_config.h β and like, the entire extended friend group: π
struct vkms_config(9)struct vkms_config_plane(9)struct vkms_config_crtc(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_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)
bestie reminder: returning the first of multiple cursor planes = the configuration is invalid. check vkms_config_is_valid. not me warning you twice ππ
okay that's the whole page, mwah π this little cutie lives in ./drivers/gpu/drm/vkms, and the version tag says October 2026 β so she's basically from the future, main character energy fr fr πβ¨ bye bestie, go read some struct docs π¦π
π¦ 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