mono_src_copy_imm_blit(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 of dwidth πŸ¦‹
  • 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 a struct 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 πŸ‘‘


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 name mono_src_copy_imm_blit(9). mwah πŸ’‹ go pad your scanlines πŸ¦‹πŸ’–
πŸ“¦ where this page comes from