vmw_kms_readback(9)
π vmw_kms_readback(9) π
okay so bestie, welcome to the Kernel API Manual page for vmw_kms_readback(9) β yes that's the whole title, we're fancy here β¨ this is the readback function and honestly it's giving "quietly important" main character energy π«Ά
πΈ NAME πΈ
vmw_kms_readback β Perform a readback from the screen system to a buffer-object backed framebuffer.
like, it grabs what's on the screen and puts it into a buffer-object backed framebuffer. that's the whole vibe check π
β¨ SYNOPSIS β¨
int vmw_kms_readback (struct vmw_private *dev_priv , struct drm_file
*file_priv , struct vmw_framebuffer *vfb , struct drm_vmw_fence_rep
__user *user_fence_rep , struct drm_vmw_rect *vclips , uint32_t
num_clips );
no cap, that's the exact signature, don't come for me π
π ARGUMENTS π
okay so here's who's who in the group chat:
dev_privβ Pointer to the device private structure. the main character of device data π₯file_privβ Pointer to astruct drm_fileidentifying the caller. Must be set toNULLifuser_fence_repisNULL. periodt, that's a hard rule πvfbβ Pointer to the buffer-object backed framebuffer. the actual canvas bestie π¦user_fence_repβ User-space provided structure for fence information. Must be set to non-NULLiffile_privis non-NULL. it's giving "they come as a pair" πvclipsβ Array of clip rects. literally an array, of rects, for clipping βοΈβ¨num_clipsβ Number of clip rects invclips. so like, how many of them there are πΈ
lowkey important: thosefile_priv/user_fence_reprules go both ways β the original says it twice, so I'm saying it twice. they're a package deal or nothing at all π
π DESCRIPTION π
Returns 0 on success, negative error code on failure. and -ERESTARTSYS if interrupted π (yes, that's a real one, an interrupted call).
that's it, that's the description β short and iconic, we love a concise queen π
π§ SEE ALSO π§
the kernel file lives at ./drivers/gpu/drm/vmwgfx/vmwgfx_kms.c β go read it if you're nosy, i support it π
and here's the whole squad of related pages, all of them, not skipping a single one:
vmw_du_plane_unpin_surf(9)vmw_du_plane_cleanup_fb(9)vmw_du_primary_plane_atomic_check(9)vmw_du_crtc_duplicate_state(9)vmw_du_crtc_reset(9)vmw_du_crtc_destroy_state(9)vmw_du_plane_duplicate_state(9)vmw_du_plane_reset(9)vmw_du_plane_destroy_state(9)vmw_du_connector_duplicate_state(9)vmw_du_connector_reset(9)vmw_du_connector_destroy_state(9)vmw_kms_srf_ok(9)vmw_kms_new_framebuffer(9)vmw_kms_check_display_memory(9)vmw_crtc_state_and_lock(9)vmw_kms_check_implicit(9)vmw_kms_check_topology(9)vmw_kms_atomic_check_modeset(9)vmw_du_update_layout(9)vmw_guess_mode_timing(9)vmw_kms_update_layout_ioctl(9)vmw_kms_helper_dirty(9)vmw_kms_helper_validation_finish(9)vmw_kms_create_implicit_placement_property(9)vmw_kms_suspend(9)vmw_kms_resume(9)vmw_kms_lost_device(9)vmw_du_helper_plane_update(9)vmw_connector_mode_valid(9)vmw_connector_get_modes(9)
π«Ά that's the page! go read the see-alsos, they're all in their vmwgfx era together.
okay bye bestie, this one came from ./drivers/gpu/drm/vmwgfx and it's dated October 2026 β so like, from the future, 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