drm_fb_helper_fill_info(9)
π drm_fb_helper_fill_info(9) π
okay bestie, before we even start: this one lives in the Kernel API Manual, and the whole page is literally titled drm_fb_helper_fill_info. iconic, no notes. it's the glow-up pass for your fbdev metadata, and honestly? she's short, she's sweet, she's essential. let's get into it β¨
πΈ NAME πΈ
drm_fb_helper_fill_info β initializes fbdev information π
like, it fills in the info. the fbdev info. that's the whole job and she does it flawlessly.
π¦ SYNOPSIS π¦
void drm_fb_helper_fill_info (struct fb_info *info , struct
drm_fb_helper *fb_helper , struct drm_fb_helper_surface_size *sizes );
three arguments, no return value, zero drama. the way that void is just out here saying "i don't give anything back, i just give" ππ
π ARGUMENTS π
infoβ the fbdev instance you're setting up. this is the main character, the one getting all dressed up π«Άfb_helperβ the fb helper instance you're using as a template. yes bestie, she's the reference fit you're copying the vibe from β¨sizesβ describes the fbdev size and the scanout surface size. both. she contains multitudes π
π DESCRIPTION π
okay so here's the tea, and it's genuinely good tea:
this function sets up the variable and fixed fbdev metainformation, pulling from two places:
- the given fb helper instance, and
- the drm framebuffer allocated in
drm_fb_helper.fbπ
that's it. that's the whole ritual. variable info, fixed info, sourced from your helper and your framebuffer, and boom β metadata, but make it coherent π
and here's the part where you actually have to pay attention, bestie, because this is the instructions part:
Drivers should call this β or their equivalent setup code β from their drm_driver.fbdev_probe callback, after they've already allocated the fbdev backing storage framebuffer. π¨
read that again. drm_driver.fbdev_probe. and the framebuffer allocation comes first. do not show up to the fill-info party before you've allocated your backing storage, that's not the vibe, that's a bug π
β SEE ALSO β
the whole friend group, in order, all of them, no cap:
- Kernel file
./drivers/gpu/drm/drm_fb_helper.c fbdev helpers(9)drm_fb_helper_restore_fbdev_mode_unlocked(9)drm_fb_helper_blank(9)drm_fb_helper_prepare(9)drm_fb_helper_unprepare(9)drm_fb_helper_init(9)drm_fb_helper_unregister_info(9)drm_fb_helper_fini(9)drm_fb_helper_deferred_io(9)drm_fb_helper_set_suspend(9)drm_fb_helper_set_suspend_unlocked(9)drm_fb_helper_setcmap(9)drm_fb_helper_ioctl(9)drm_fb_helper_check_var(9)drm_fb_helper_set_par(9)drm_fb_helper_pan_display(9)drm_fb_helper_initial_config(9)drm_fb_helper_hotplug_event(9)drm_fb_helper_gem_is_fb(9)
that's the entire group chat and you will be reading it. iykyk ππ
and that's the page!! this little icon hails from ./drivers/gpu/drm, stamped October 2026, and it's part of the Kernel API Manual β so go forth, fill that info, and slay your fbdev_probe callback π§βπ
π¦ 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