Hey,

I've been there and ported lodepng to SeaBIOS because I wanted full
resolution graphics:

https://github.com/orangecms/seabios/tree/png

Might need some rebase and adjustments by now. I tried to upstream this,
but mailing list and git turned out a bit tough for me; there was also a
question on the license. You'd find that here in the archives.

Cheers! :-)

On Thu, 31 Mar 2022, 18:19 Michał Żygowski, <michal.zygow...@3mdeb.com>
wrote:

> 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
>
_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-le...@seabios.org

Reply via email to