vmw_gb_surfa...ine_internal(9)
π NAME π
vmw_gb_surface_define_internal β okay so this is the ioctl function that implements the whole user surface define functionality. That's the entire vibe. She defines surfaces. For users. Via ioctl. Periodt.
So like, this is from the Kernel API Manual (yes, the vmw_gb_surfa...ine_internal(9) one, the title is literally truncated in the header, that's just how it is bestie π«Ά).
β¨ SYNOPSIS β¨
int vmw_gb_surface_define_internal (struct drm_device *dev , const
struct drm_vmw_gb_surface_create_ext_req *req , struct
drm_vmw_gb_surface_create_rep *rep , struct drm_file *file_priv );
Four (4) arguments, one (1) int return. She's giving "small function, big responsibilities" energy and honestly? Iconic. π
πΈ ARGUMENTS πΈ
devβ a pointer to astruct drm_device. That's the DRM device in question, the main character of the whole GPU situation.reqβ the request argument, coming at you straight from user-space. So user-space asked, and the kernel answers. Communication slay. πrepβ the response argument, going back out to user-space. Yes bestie,reqin,repout, that's the circle of life.file_privβ a pointer to adrmfile private structure. Very "private structure", very mysterious, we respect her privacy. π
π¦ SEE ALSO π¦
So the kernel file you want to peek at is ./drivers/gpu/drm/vmwgfx/vmwgfx_surface.c β that's the home base, the mothership, the crash pad for everything listed below. And there is a LOT listed below, so buckle up buttercup:
struct vmw_user_surface(9)struct vmw_surface_offset(9)struct vmw_surface_dirty(9)vmw_surface_dma_size(9)vmw_surface_define_size(9)vmw_surface_destroy_size(9)vmw_surface_destroy_encode(9)vmw_surface_define_encode(9)vmw_surface_dma_encode(9)vmw_hw_surface_destroy(9)vmw_legacy_srf_create(9)vmw_legacy_srf_dma(9)vmw_legacy_srf_bind(9)vmw_legacy_srf_unbind(9)vmw_legacy_srf_destroy(9)vmw_surface_init(9)vmw_user_surface_base_to_res(9)vmw_user_surface_free(9)vmw_user_surface_base_release(9)vmw_surface_destroy_ioctl(9)vmw_surface_define_ioctl(9)vmw_surface_reference_ioctl(9)vmw_gb_surface_create(9)vmw_gb_surface_define_ioctl(9)vmw_gb_surface_reference_ioctl(9)vmw_gb_surface_define_ext_ioctl(9)vmw_gb_surface_reference_ext_ioctl(9)vmw_gb_surface_reference_internal(9)vmw_subres_dirty_add(9)vmw_subres_dirty_full(9)vmw_dumb_create(9)
Twenty-nine references. Twenty. Nine. She really said "know my whole friend group or don't talk to me" ππ
ngl the whole list above is the extended fam β if you're touching the surface stuff in vmwgfx_surface.c you will be meeting at least some of them, so go say hi. π«Ά
β¨ that's the page, bestie β¨
Sign-off time π β this one lives in ./drivers/gpu/drm/vmwgfx, it's dated October 2026, and it's filed under the title vmw_gb_surfa...ine_internal(9). Same truncation, same energy, no notes. ππ¦π
π¦ 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