Wanna see this logo while booting your 2.6 kernel? Click here!

23.02.2005 13:09

Getting bootsplash to work with the intel 815 framebuffer (i810fb)


This was again one of those tasks, you don't want to have assigned to you. I had to install my thinclient-installation on a messy old Compaq Deskpro EN with an Intel 815 Chipset. As my thinclient-installation uses bootsplash [EN] to show nice graphics while booting, I booted this machine after restoring the tc-image on it and waited for the bootsplash to no avail.
The reason, why bootsplash didn't show up was on the one hand the missing framebuffer support and on the other hand, the missing framebuffer support (no, that's semantically correct!).

My kernel lacked support for the i810fb (CONFIG_FB_I810=y, CONFIG_FB_I810_GTF=y) and bootsplash still lacks support for any other framebuffer driver than the vesafb. So you have to patch the bootsplash-code of your bootsplash-enabled kernel.

You also have to edit your bootloaders configuration file so your newly compiled kernel will get the right parameters for the i810fb driver. I'd recommend reserving about 8MiB of system memory for the i810fb device, otherwise you may run into errors when switching bootsplash images (2MiB is far to less, 4MiB is on the limit (3,8MiB needed by my bootsplash images)). The append-line for LILO could look like this (1024x768, 16bit, 8MiB RAM):
append="video=i810fb:vram:8,xres:1024,yres:768,bpp:16,hsync1:30,hsync2:55,vsync1:50,vsync2:60"
I had to use 16 bits of color depth because with 8bpp bootsplash doesn't work with i810fb and the upper limit of 60Hz for vsync2 was necessary because of my TFT screen (so if you use a CRT you may increase this value to whatever your monitor is capable of). Don't forget to remove the "vga=791" option in bootloader's configuration file because with the video= parameter, this parameter is obsolete and causes user interaction at boot time because of an invalid VGA-mode passed to your kernel.