STRUCT VKMS_FRAME_INFO(9)
π struct vkms_frame_info(9) β ok bestie, let's talk frames
Hey so this is a page from the Kernel API Manual, and it's all about struct vkms_frame_info β literally the cutest little struct whose whole personality is storing the state of a frame. That's the job. That's the vibe. π
β¨ NAME β¨
struct vkms_frame_info β Structure to store the state of a frame
π¦ SYNOPSIS π¦
struct vkms_frame_info {
struct drm_framebuffer *fb;
struct drm_rect src, dst;
struct iosys_map map[DRM_FORMAT_MAX_PLANES];
unsigned int rotation;
};
πΈ Members πΈ
Not me listing every single one because we do NOT skip members in this house π
fbβ the backingdrmframebuffer. Like, the actual framebuffer behind everything. Iconic.srcβ the source rectangle of this frame, in the source framebuffer, stored in 16.16 fixed-point form. Yes bestie, fixed-point, write that down.dstβ the destination rectangle in the crtc buffer, stored in whole pixel units (so, no fixed-point shenanigans here, keep it integer).mapβ seedrm_shadow_plane_state.datafor this one, iykyk π₯rotationβ the rotation applied to the source. That's it, that's the whole thing.
π Description π
src and dst should have the same size modulo the rotation. That's the rule, periodt. π
π SEE ALSO π
Kernel file ./drivers/gpu/drm/vkms/vkms_drv.h β and the whole friend group:
struct pixel_argb_u16(9)pixel_write_t(9)enum pixel_read_direction(9)pixel_read_line_t(9)struct conversion_matrix(9)struct vkms_plane_state(9)struct vkms_crtc_state(9)struct vkms_output(9)struct vkms_device(9)vkms_create(9)vkms_destroy(9)vkms_crtc_init(9)vkms_output_init(9)vkms_plane_init(9)
π«Ά That's the whole page, no cap β nothing cut, nothing merged, nothing invented.
And a lil sign-off for the credits, because we always give credit: this one lives in ./drivers/gpu/drm/vkms, dated October 2026, and it's filed under struct vkms_frame_info(9) in the Kernel API Manual. Slay πβ¨
π¦ 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