drm_fb_xrgb8..._argb2101010(9)
π drm_fb_xrgb8..._argb2101010(9) β the kernel API manual, but make it make sense
okay so bestie, welcome to the drm_fb_xrgb8..._argb2101010(9) page π this is a kernel API manpage, and no cap, it's actually a vibe once you know what's going on. sit down, grab a strawberry drink π, and let's get into it.
β¨ NAME β¨
drm_fb_xrgb8888_to_argb2101010 β converts XRGB8888 into an ARGB2101010 clip buffer. literally its whole personality π
πΈ SYNOPSIS πΈ
void drm_fb_xrgb8888_to_argb2101010 (struct iosys_map *dst , const
unsigned int *dst_pitch , const struct iosys_map *src , const struct
drm_framebuffer *fb , const struct drm_rect *clip , struct
drm_format_conv_state *state );
like, that's the whole handshake. six params, zero drama π
π¦ ARGUMENTS π¦
dstβ an array of ARGB2101010 destination buffers. yes, array β plural energy πdst_pitchβ an array of numbers saying how many bytes sit between the start of two consecutive scanlines insidedst. it can beNULLif the scanlines are stored right next to each other (snuggled, adorable, iconic) π«Άsrcβ an array of XRGB8888 source buffers. the origin story β¨fbβ the DRM framebuffer. main character tbh πclipβ the clip rectangle area to copy. boundaries are healthy bestie πstateβ the transform and conversion state. it holds the vibes so you don't have to π
π₯ DESCRIPTION π₯
okay so what this function does: it copies parts of a framebuffer into display memory, and while it's doing that it converts the color format. two jobs, one function, ate and left no crumbs π₯
the parameters dst, dst_pitch and src all refer to arrays. and here's the rule, no cap: each array must have at least as many entries as there are planes in fb's format. each entry stores the value for that format's respective color plane at the same index β same index, same plane, matching like a group chat fit check π
heads up bestie π¨ this function does not apply clipping on dst β meaning the destination is at the top-left corner. like, it just starts there. that's the whole thing.
and who is this for? drivers can use this function for ARGB2101010 devices that don't support XRGB8888 natively. if your hardware is ARGB2101010-pilled and can't do XRGB8888 on its own, this is your girl π
β SEE ALSO β
the kernel file lives at ./drivers/gpu/drm/drm_format_helper.c β go say hi π§
and here's the whole extended friend group, everyone tagged, nobody left out:
drm_format_conv_state_init(9)drm_format_conv_state_copy(9)drm_format_conv_state_reserve(9)drm_format_conv_state_release(9)drm_fb_clip_offset(9)drm_fb_memcpy(9)drm_fb_swab(9)drm_fb_xrgb8888_to_rgb332(9)drm_fb_xrgb8888_to_rgb565(9)drm_fb_xrgb8888_to_rgb565be(9)drm_fb_xrgb8888_to_xrgb1555(9)drm_fb_xrgb8888_to_argb1555(9)drm_fb_xrgb8888_to_rgba5551(9)drm_fb_xrgb8888_to_rgb888(9)drm_fb_xrgb8888_to_bgr888(9)drm_fb_xrgb8888_to_argb8888(9)drm_fb_xrgb8888_to_abgr8888(9)drm_fb_xrgb8888_to_xbgr8888(9)drm_fb_xrgb8888_to_bgrx8888(9)drm_fb_xrgb8888_to_xrgb2101010(9)drm_fb_xrgb8888_to_gray8(9)drm_fb_argb8888_to_argb4444(9)drm_fb_xrgb8888_to_mono(9)drm_fb_xrgb8888_to_gray2(9)
iykyk πβ¨
π the sign-off π
this little masterpiece lives under ./drivers/gpu/drm, and it's stamped October 2026, all under the manual name drm_fb_xrgb8..._argb2101010(9). that's the whole footer, bestie β periodt π
π«Ά
π¦ 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