Hi,

On 31.03.2022 15:25, AreYouLoco? via SeaBIOS wrote:
Hi,

I am trying to make SeaBIOS on Thinkpad T420 running coreboot display 
bootsplash but I am failing to prepare the file.

I tried to export file using GIMP and this info:
https://puri.sm/wp-content/uploads/2017/02/coreboot-splash-gimp-export-options-annotated.png

Relevant part of the coreboot log is:
1508[INFO ] Setting up bootsplash in 1366x768@32
1509[INFO ] CBFS: Found 'bootsplash.jpg' @0x46480 size 0x48e5 in mcache 
@0x7ffdd1c8
1510[DEBUG] Bootsplash image resolution: 1366x768
1511[ERROR] Bootsplash could not be decoded. jpeg_decode returned 4.

I also tried to add bootsplash.bmp but then it says it didnt found 
bootsplash.jpg.

Any hints?

This is actually a little bit tricky. JPEG decoder in SeaBIOS and coreboot allows only images which size granularity is 16 bytes. Sooo: 768 pixels / 16 = 48 OK. But 1366 pixels / 16 = 85.375 NOT OK.

You are basically hitting ERR_WIDTH_MISMATCH:
https://github.com/coreboot/coreboot/blob/master/src/lib/jpeg.c#L292

If you have a nice BMP file, it doesn't have the width/height granularity constraints unlike JPEG. coreboot will not decode bootsplash.bmp, but SeaBIOS gladly consumes BMP files. Additionally I recommend compressing it with LZMA (BMPs are heavy). So on your coreboot image I would execute:

cbfstool coreboot.rom add -f path/to/bootsplash.bmp -t raw -n bootsplash.bmp.lzma -c lzma -r COREBOOT

The command will add the path/to/bootsplash.bmp file to CBFS under the name bootsplash.bmp.lzma with LZMA compression enabled. SeaBIOS is able to detect .lzma extension in CBFS files and automatically decompresses the files if needed.

Additionally compile SeaBIOS with some debug level, SeaBIOS should be able to put it into cbmem console: https://github.com/coreboot/seabios/blob/master/src/output.c#L46 in case you would need to inspect further issues (BMP may have problem with incorrect bpp format - bits per pixel, you need to set a correct one in GIMP:
https://github.com/coreboot/seabios/blob/master/src/bootsplash.c#L178).

Good luck.
--
Michał Żygowski
Firmware Engineer
GPG: 6B5BA214D21FCEB2
https://3mdeb.com | @3mdeb_com
_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-le...@seabios.org

Reply via email to