Hello, guys, Sorry to take u time again. I made a patch for sea-bios, want to let the bios show a logo picture when KVM start. The reason and details for this patch is described below, which was sent in a mail a few days before:
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.
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. 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. 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.
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 setting?
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.
-Kevin