Bug #287

libgfxinit bootsplash.jpg loaded as BGR instead of RGB on Thinkpad x230

Added by Antonín Dach about 1 year ago. Updated about 1 year ago.

Status:NewStart date:11/08/2020
Priority:NormalDue date:
Assignee:Nico Huber% Done:

0%

Category:-
Target version:-

Description

I have an issue with colors in bootsplashes on Lenovo Thinkpad x230 while using high linear frame buffer libgfxinit method.

The bootsplash shows but the colors are wrong.

See an image !demo.png! to see the output.

The source image is here

I've tried several more gradient images and I observe more colors to be transformed.

To correctly show bootsplash images one has to counter swap Red color with Blue to make it work correctly.

convert bootsplash-original.jpg -color-matrix '0 0 1 0 1 0 1 0 0' bootsplash-matrixed.jpg

demo.png (490 KB) Antonín Dach, 11/08/2020 09:17 PM

History

#1 Updated by Paul Menzel about 1 year ago

Are you using SeaBIOS to display the bootsplash? If so, please take a look at the debug messages.

The coreboot mailing list thread libgfxinit quick starter guide suggests that the SeaBIOS JPEG decoder needs to be extended.

#2 Updated by Antonín Dach about 1 year ago

Yes you're right. I am using SeaBIOS

CONFIG_PAYLOAD_SEABIOS=y
CONFIG_PAYLOAD_FILE="payloads/external/SeaBIOS/seabios/out/bios.bin.elf"
CONFIG_SEABIOS_STABLE=y
CONFIG_SEABIOS_VGA_COREBOOT=y
CONFIG_SEABIOS_BOOTORDER_FILE=""
CONFIG_PAYLOAD_VGABIOS_FILE="payloads/external/SeaBIOS/seabios/out/vgabios.bin"
CONFIG_SEABIOS_DEBUG_LEVEL=0

CONFIG_BOOTSPLASH_IMAGE=y
CONFIG_BOOTSPLASH_FILE="bootsplash.jpg"

CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y
CONFIG_LINEAR_FRAMEBUFFER=y
# CONFIG_BOOTSPLASH is not set
CONFIG_LINEAR_FRAMEBUFFER_MAX_WIDTH=1024
CONFIG_LINEAR_FRAMEBUFFER_MAX_HEIGHT=768

Thx for the link now I know there's a problem in the color interpretation. :/

Also available in: Atom PDF