vkms_config_create(9)
β¨ vkms_config_create(9) β¨
okay so bestie, welcome to the Kernel API Manual π
β today we're looking at vkms_config_create, and honestly? it's giving "small function, big main character energy" π
πΈ NAME πΈ
vkms_config_create β literally just Create a new VKMS configuration π that's it, that's the whole job, and she does it slayfully β¨
π¦ SYNOPSIS π¦
struct vkms_config * vkms_config_create (const char *dev_name );
no cap, that's the whole signature π one argument, one pointer back, we love a low-effort icon π
π ARGUMENTS π
dev_nameβ the Name of the device π·οΈ that's the whole description bestie, she's a simple girl, she just wants to know what to call this thing β¨
π₯ RETURN π₯
You get the new vkms_config back π β or, plot twist, an error π (yes, it can just Not Work, vibe check failed π).
β οΈ important bestie, do not forget this part: call vkms_config_destroy to free the returned configuration π«Ά like, she's yours now, you gotta take her out on the responsible-memory-management date, fr fr πΈ
π SEE ALSO π
okay this list is LONG and honestly iconic, buckle up π’ first the header file itself:
- Kernel file
./drivers/gpu/drm/vkms/vkms_config.hβ the mothership πΈ
then the structs π:
struct vkms_config(9)struct vkms_config_plane(9)struct vkms_config_crtc(9)struct vkms_config_encoder(9)struct vkms_config_connector(9)
then the for-each iterators, the little loops that could π:
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)
then the lifecycle besties π:
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)
then 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)
then CRTCs π¬:
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)
then encoders π:
vkms_config_create_encoder(9)vkms_config_destroy_encoder(9)vkms_config_encoder_attach_crtc(9)vkms_config_encoder_detach_crtc(9)
and finally connectors π:
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)
like I said. A LOT. but every single one of them ate π
and that's the page, bestie!! π this one came from ./drivers/gpu/drm/vkms, dated October 2026, and it's the vkms_config_create(9) manual page β go forth and create your configs responsibly, mwah ππ
π¦ 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