mono_src_copy_imm_blit(9)
π mono_src_copy_imm_blit(9) π
okay bestie, welcome to another episode of Kernel API Manual, and this one is genuinely iconic if you're into framebuffers π
β¨ NAME β¨
mono_src_copy_imm_blit β color expand from system memory to framebuffer π
β¨ SYNOPSIS β¨
void mono_src_copy_imm_blit (int dwidth , int dheight , int dpitch , int
dsize , int blit_bpp , int rop , int dest , const u32 *src , int bg ,
int fg , struct fb_info *info );
not me dropping the whole signature on you like that π but don't panic, we're gonna go through every single one of these params one by one, no cap π
β¨ ARGUMENTS β¨
dwidthβ width of destination. like, how wide the thing you're drawing into is πdheightβ height of destination. the vertical bestie ofdwidthπ¦dpitchβ pixels per line of the buffer. yes, per line, so you know where the next row starts β¨dsizeβ size of bitmap in double words. double words, not vibes πblit_bppβ pixelformat to use which can be different from the framebuffer's pixelformat. lowkey flexible, we love that for you π«Άropβ raster operation. the whole "how do the pixels combine" situation πΈdestβ address of first byte of pixel; (yep, the original ends that one with a semicolon, she's just like that π)srcβ address of image data. your actual picture source πΈbgβ backgound color. (spelled exactly like that in the original, we do not correct legends π) πfgβ forground color. (same deal, iconic spelling, keeping it π) π¨infoβ-- undescribed --π the documentation said "no thoughts, head empty" and honestly? relatable. it's astruct fb_info *, that's all we get, and we're at peace with it π§
β¨ DESCRIPTION β¨
so here's the tea β: this is a color expand operation where the source data is placed in the ringbuffer itself. literally, the data lives right there in the ringbuffer. useful for drawing text βοΈ β yes, this whole thing is basically the "put letters on screen" pipeline and it ate π
β οΈ REQUIREMENT: The end of a scanline must be padded to the next word. fr fr, do not skip the padding, this is a requirement not a suggestion, bestie π€ β
β¨ SEE ALSO β¨
go check out the rest of the friend group, they all live in the kernel file ./drivers/video/fbdev/i810/i810_accel.c π
wait_for_space(9)wait_for_engine_idle(9)end_iring(9)source_copy_blit(9)color_blit(9)i810fb_iring_enable(9)i810fb_init_ringbuffer(9)
that's the whole page gorgeous, you understood it perfectly, main character energy only π
π sign-off time: this lil page lives under./drivers/video/fbdev/i810, dated October 2026, and she answers to the namemono_src_copy_imm_blit(9). mwah π go pad your scanlines π¦π
π¦ 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