[SeaBIOS] introduce a patch to enhance seabios splash picture showing ability

Kevin O'Connor kevin at koconnor.net
Sat Jun 18 17:42:17 CEST 2011

Hi.  Thanks for submitting your patch.

On Fri, Jun 17, 2011 at 05:20:23PM +0800, Wayne Xia wrote:
> Patch description:
> ******************************************************
>     There is suggestion to let KVM be able to show a logo when it start
> up. Although the sea-bios already included a mechanism to show
> "bootsplash.jpg" when it was configured with "menu=on" option, it would
> not show it when the system was normally boot up, so I would like
> do some modification in the sea-bios code to let the bios showing it
> without "menu" option, also make this function configurable by the emulator.
>     I tried the tiny jpeg decoder originally included, it seems there
> will be some observable visual quality lose and if the VESA is in 24BPP
> mode, the picture data would not be copied correctly for the reason that
> the byte number per line of that mode is not equal to 3*width, So I
> would like add some function to fix this, and also added some function
> to show 24bpp BMP file instead of JPEG as an option to get better visual
> effect.

I don't understand the issue you are having with 3*width.  Your patch
doesn't seem to change the jpeg decoder.  Can you further explain what
is occurring?

>     Following is what I did in details:
>     1 in the "boot.c", function "interactive_bootmenu", add codes to
> "romfile_loadfile" the "bootsplash.cfg" file. From it, the seabios get
> two configuration data : first is whether it should show the picture
> without menu enabled, second is how long it should show it. if this file
> loading failed, the sea-bios would act as before.

It would be nice to be able to extract configuration settings from
romfile, but I don't think this should just be done for this setting.
Indeed, shouldn't it just extract out the CONFIG_BOOTMENU_DELAY

>     2 in the "bootsplash.c", function "enable_bootsplash(void)", add
> codes to try "romfile_loadfile" the "bootsplash.bmp", besides
> "bootsplash.jpg". Add a function to fix the problem when Bytes per line
> of VESA mode is not equal to picture width * 3. Also add additional code
> to show the BMP file instead of JPEG.

I'm okay with adding a bmp decoder.  However, doesn't this result in
really large image files that then take a long time to transfer into
seabios?  The fw_cfg interface is not known to be very fast.  Can you
estimate the time it takes to show a bmp?

>     3 ADD "bmp.c" and "bmp.h" to support above code.
> *****************************************************
>     I didn't found the maintainer of seabios, could anyone help review
> about it, or help notice the maintainer? Many thanks.

I am the SeaBIOS maintainer.


More information about the SeaBIOS mailing list