Splash Logo on Kernel loading

The platform I am working with is the following:

Apalis imx8qm V1.1B (I hope nothing will change on V1.1C)
Carrier Ixora 1.2A
Full HD 15.6’’ Ampire display (LVDS)
BSP 5.x

Finally I have a working system with a Cranksoftware application which autostart after boot, so the LVDS is driven correctly.

I can’t see Splash Logo on kernel loading and I don’t understand why: I enabled the following option in kernel configuration:

# CONFIG_LOGO_LINUX_VGA16 is not set
# end of Graphics support

I copy-pasted the image I used in the old system: /drivers/video/logo/logo_custom_clut224.ppm

In the kernel working-directory, after compiling I can see logo_custom_clut224.c and logo_custom_clut224.o but during the kernel loading I can’t see anaything on the display (the backlight is on).

Furthermore, during kernel loading I see on the display some messages (the same I see on the debug console). Obviously I don’t want to see this messages and I want to see the my custom splash logo.

How can I achive this target?


Hi @Merlin ,

Thanks for using the Toradex community.

I recommend giving the following article a quick read.

Splash Screen Linux Kernel

Let us know if this resolved the issue.

Best Regards

1 Like

Hi @kevin.tx , thanks for answeing.
I guess my .ppm was created in the right way (i can easy use it in 4.x kernel).
Maybe the problem is that I didn’t disabled framebuffer console yet.
I’m having some trouble with this, I tried to do it from kernel configuration but because of some dependencies I can’t disable it.
I tried the instruction in the gui but I still have some print on the LVSD during the kernel loading/launching.
It print something like

[0.711577] imx-audmix imx-audmix.0: failed to find SAI platform device

Obviously I need theese message, but only the debug console, not on the LVDS.

On the old system my collegue did it but I can’t understand how i achived this

Hi @Merlin,
are you using the ‘quiet’ kernel boot option? If yes, this also disables the kernel splash logo. Here is a kernel patch to show the splash logo when quiet boot option is enabled:

From 30235ceb71656af9d5b3a92256e38c01d181e2ff Mon Sep 17 00:00:00 2001
From: xxxxxxxxxxxxxx
Date: Fri, 15 Oct 2021 11:10:14 +0200
Subject: [PATCH] show logo when quiet

 drivers/video/fbdev/core/fbcon.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c
index 75b770514067..96ba685520dc 100644
--- a/drivers/video/fbdev/core/fbcon.c
+++ b/drivers/video/fbdev/core/fbcon.c
@@ -1040,8 +1040,10 @@ static void fbcon_init(struct vc_data *vc, int init)
 	info = registered_fb[con2fb_map[vc->vc_num]];
 	cap = info->flags;
 	if (logo_shown < 0 && console_loglevel <= CONSOLE_LOGLEVEL_QUIET)
 		logo_shown = FBCON_LOGO_DONTSHOW;
 	if (vc != svc || logo_shown == FBCON_LOGO_DONTSHOW ||
 	    (info->fix.type == FB_TYPE_TEXT))

Hi @s.steiger ,
I tried to disable quiet option from u-boot env vars but the problem is still present.
The display “works well” since I can see the boot log on the display (the same I see on the debug console).
I tried to replace the .ppm image with a new one, I compiled the kernel again, but it doesn’t appear.

Is there something like an “image error” I can search in boot log?



Hi @Merlin !

We have two other posts that solved what seems to be the same issue as yours.

Please try out their solutions and let us know which one helps you (or if none helped :stuck_out_tongue: )

Best regards,

Hi @henrique.tx ,
very thanks for your answer.
Enrico was a collegue of mine and he started this project on BSP 4.0.
I applied (after reviewing them) his patches to the meta and I reached good result.
Now I have a working system, I also removed framebuffer console from the display and everything seems to work correctly… except from the logo :sweat_smile:

I know it might sound silly but I have no idea why the splash image doesn’t appear.
I have already created kernel splash images for other systems without any problem, I guess I’m doing something wrong.

Splash screen is the only thing I need to do before starting the optimization of the system.


During the start-up process I noticed this error:

panel-simple panel-lvds: Reject override mode: panel has a fixed mode

Should be this related to my issue?