STRUCT DRM_VMW_CONTROL_STREAM_ARG(9)
π¦ struct drm_vmw_control_stream_arg(9) π¦
okay so bestie, this is a page straight out of the Kernel API Manual, and it's literally just one struct. no cap, that's the whole vibe. it's the argument struct for the DRM_VMW_CONTROL_STREAM ioctl, and every field is doing its own little main-character thing. let's get into it π
β¨ NAME β¨
struct drm_vmw_control_stream_arg β the struct that carries everything you need to control a stream. that's it, that's the name, she's lowkey mysterious because the original page gives you literally no tagline beyond that π
πΈ SYNOPSIS πΈ
struct drm_vmw_control_stream_arg {
__u32 stream_id;
__u32 enabled;
__u32 flags;
__u32 color_key;
__u32 handle;
__u32 offset;
__s32 format;
__u32 size;
__u32 width;
__u32 height;
__u32 pitch[3];
__u32 pad64;
struct drm_vmw_rect src;
struct drm_vmw_rect dst;
};
look at her. fifteen whole fields. iconic layout, no notes π
π MEMBERS π
stream_idβ which stream you're controlling. the page says "Stearm to control" and honestly? we're keeping the typo energy, it's giving handwritten-sticky-note. it means stream. (the stream you're controlling π«Ά)enabledβ the on/off switch. if this is false, literally every argument after it gets ignored. ignoring them. not even looking. so set this one with intention, bestie πflagsβ she's in the struct, she's a__u32, but this page doesn't describe her. present but unbothered. no further lore given π₯color_keyβ also sitting in the struct as a__u32, also without a description on this page. she's here, that's all we know πhandleβ handle to the buffer you're getting data from. your source of truth β¨offsetβ how far from the start of the dma buffer the overlay lives. like a little address-based commute πΈformatβ the format of the overlay, as understood by the host. note the type, it's__s32, not__u32β signed and everything πsizeβ size of the overlay, in bytes. numbers bestie, we love units πwidthβ width of the overlay πheightβ height of the overlay. yes she got her own field, respect it πpitchβ an array of pitches. the last two entries are only used for YUV12 formats, so don't come for the full array unless you're on YUV12 π¦pad64β padding field. in the struct,__u32, undescribed by this page. she's just vibing in the layout πsrcβ the source rect, and it must be within the area defined above. this is not a suggestion, it's a requirement, fr fr π¨dstβ the destination rect. cute detail: itsxandymay be negative π
heads up:flags,color_key, andpad64are genuinely listed in the struct but this page doesn't say what they do, so I'm not out here inventing lore for them. no cap, that's just what's written π
π« DESCRIPTION π«
this struct is the argument to the DRM_VMW_CONTROL_STREAM ioctl. that's the whole description. short, sweet, to the point β she said what she said β
π₯ SEE ALSO π₯
- Kernel file
./include/uapi/drm/vmwgfx_drm.h enum drm_vmw_handle_type(9)struct drm_vmw_getparam_arg(9)struct drm_vmw_size(9)union drm_vmw_surface_create_arg(9)struct drm_vmw_fence_rep(9)struct drm_vmw_bo_rep(9)union drm_vmw_alloc_bo_arg(9)struct drm_vmw_cursor_bypass_arg(9)struct drm_vmw_fence_wait_arg(9)struct drm_vmw_fence_event_arg(9)struct drm_vmw_shader_create_arg(9)struct drm_vmw_gb_surface_create_req(9)struct drm_vmw_gb_surface_create_rep(9)union drm_vmw_gb_surface_create_arg(9)union drm_vmw_gb_surface_reference_arg(9)enum drm_vmw_synccpu_op(9)struct drm_vmw_synccpu_arg(9)union drm_vmw_extended_context_arg(9)struct drm_vmw_handle_close_arg(9)struct drm_vmw_gb_surface_create_ext_req(9)union drm_vmw_gb_surface_create_ext_arg(9)union drm_vmw_gb_surface_reference_ext_arg(9)struct drm_vmw_msg_arg(9)struct drm_vmw_mksstat_add_arg(9)struct drm_vmw_mksstat_remove_arg(9)
like, that's a whole friend group right there. go read them too, iykyk π
and that's the page!! π shoutout to the source dir ./include/uapi/drm and the October 2026 date stamp β that's where this fairy godmother of a struct doc came from, bestie. take care of her, 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