Project

General

Profile

Actions

Bug #287

open

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

Added by Antonín Dach almost 2 years ago. Updated almost 2 years ago.

Status:
New
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
11/08/2020
Due date:
% Done:

0%

Estimated time:
Affected versions:
Needs backport to:
Affected hardware:
Affected OS:

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

Files

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

Updated by Paul Menzel almost 2 years 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.

Actions #2

Updated by Antonín Dach almost 2 years 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. :/

Actions

Also available in: Atom PDF