I've been investigating this issue on two notebooks that have i815 chip-sets, with Ubuntu Edgy 6.10 (2.6.17-10).
I've documented my research in this Ubuntu bug report: https://bugs.launchpad.net/ubuntu/+source/fbset/+bug/64666 The reason i810fb (and most other framebuffers) isn't available at boot-time when compiled as a module is that the framebuffer drivers have to call drivers/video/fbmem.c's function fb_get_options(), but when built as a module the code to make that call and parse the command-line isn't compiled in drivers/video/i810/i810_main.c: #ifndef MODULE static int __devinit i810fb_init(void) { char *option = NULL; if (fb_get_options("i810fb", &option)) return -ENODEV; i810fb_setup(option); return pci_register_driver(&i810fb_driver); } #endif I looked at the source for several other XXXXfb drivers and they all have the same structure. So, the answer seems to be, if you need specific framebuffer support at boot-time you'll need to build the kernel with i810, intel_agp, agpgart, drm, i810 all configured to statically link using the kernel build tool: make config TJ.