Splash screen on Apalis iMX8QM

We are evaluating the Apalis iMX8QM with our FHD LVDS dual channel display.
I’m trying to add a custom kernel splash screen, and i followed the guide at: Splash Screen on the Linux Kernel | Toradex Developer Center

I’m having a couple of problems:

First problem:

No splash screen was shown on the display, but only the console. I checked if some error occurred, and using

dmesg | grep logo

i noticed the following:
fbcon_init: disable boot-logo (boot-logo bigger than screen). I checked in kernel source code and it was generated in drivers/video/fbdev/core/fbcon.c in fbcon_prepare_logo function. Now, printig variables value, i noticed that logo_height is 1080 which is correct because the logo is 1920x1080, vc->vc_font.height is 16, logo_lines in this way is 68, but vc->vc_bottom is only 67.

To workaround this problem i set the value of vc->vc_bottom to 68 at the beginning of the function, and in this way i can see the kernel splash screen logo at startup. Is there a better solution to solve this problem?

Second problem:

when booting the module, the console messages are shown above the kernel splash screen logo. if i disabled printk in kernel config obviously there are no messages over the logo, but there is a blinking cursor on the top left corner of the screen. Following your guide it seems that i need to add the vt.global_cursor_default=0 to the boot arguments. Here is the printenv of my u-boot, and i tried to do the following setenv mmcargs 'setenv bootargs vt.global_cursor_default=0 console=${console},${baudrate} root=${mmcroot} video=imxdpufb5:off video=imxdpufb6:off video=imxdpufb7:off' but it didn’t work. How can i remove the console messages from the kernel splash screen? If this could help, here you can find the kernel config.

Thanks

Regards

Enrico

HI @Enrico

Could you provide the version of the Software of your module?
Please share the dmesg.log in a text file?

Thanks and best regards,
Jaski

Hi @jaski.tx

I’m working with BSP3.0 and kernel linux-toradex 4.14-2.0.x.

Here you find the dmesg.log.

Thanks

Enrico

HI @Enrico

To workaround this problem i set the value of vc->vc_bottom to 68 at the beginning of the function, and in this way i can see the kernel splash screen logo at startup. Is there a better solution to solve this problem?

This seems to be a correct solution. The other workaround is too choose a splash screen image with smaller resolution.

How can i remove the console messages from the kernel splash screen?

Did you disable the Kernel messages as explained here?

Best regards,
Jaski

Hi @jaski.tx,

Did you disable the Kernel messages as explained here?

Yes, i’ve tried doing the following: setenv mmcargs 'setenv bootargs vt.global_cursor_default=0 console=${console},${baudrate} root=${mmcroot} video=imxdpufb5:off video=imxdpufb6:off video=imxdpufb7:off quiet' but it didn’t work.
there wasn’t defargs variable in u-boot, so i set mmcargs.

Thanks

Regards

Enrico

Hi @jaski.tx

Were you able to reproduce my issue? are there any news about this?

Thanks

Enrico

HI @Enrico,

I was not in the office last days. I will reproduce the issue tomorrow and share my results.

Best regards,
Jaski

Hi @jaski.tx,

Looks like I partially solved the issue. To actually set vt.global_cursor_default=0 and quiet as boot arguments i changed the boot script (boot.scr) as shown here.

However in this way i’m still getting the first kernel messages on the screen (the first messages shown on the console after “Starting kernel …”). The only way to remove them is to disable printk from the kernel configuration.

If you find a solution that removes all kernel messages from the screen without disabling printk, please, let me know.

Thanks

Enrico

HI @Enrico

You need to setup the U-Boot Parameter setupargs to the following:

vt.global_cursor_default=0 consoleblank=0 quiet console=${console}

I tested this, it is working.

Best regards,
Jaski

1 Like