How to add u-boot splash screen in bsp6.5

I want to enable the splash screen on verdin8mm during uboot.

In do_configure, I added the line:
install -m 0644 ${WORKDIR}/splash_screen.ppm ${S}/drivers/video/logo/logo_linux_clut224.ppm

I also turned on the bootup logo in menuconfig as shown the image below, but it did not work correctly. Additionally, I could not find the ppm file on the device after flashing

Any suggestions please ?

Hi, I’m the Toradex AI Assistant. I’m in early beta, and I would appreciate your feedback.
The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


To enable a custom U-Boot splash screen on a Verdin iMX8MM module, you’ve taken steps in the right direction by attempting to replace the default logo file in the U-Boot source and enabling the bootup logo feature via menuconfig. However, if the custom .ppm file is not appearing as expected, there are a few areas to review and additional steps you might consider:

  1. Ensure Correct File Placement: Double-check that the splash_screen.ppm file is correctly placed in the U-Boot source directory where the original logo_linux_clut224.ppm is expected. The path you’ve used in the do_configure append seems correct, but ensure that ${WORKDIR} and ${S} variables are correctly pointing to the intended directories.

  2. File Conversion and Compatibility: Verify that your .ppm file is correctly formatted as a 224-color indexed image, which is what U-Boot expects for the splash screen. The file must be in the PPM (Portable Pixmap) format with a color depth of 8 bits per pixel. You can use image manipulation software like GIMP to adjust the image format and color depth if necessary.

  3. U-Boot Configuration: After enabling the bootup logo in menuconfig, ensure that the configuration was correctly saved and applied. You should see the relevant configuration options (CONFIG_VIDEO_LOGO and possibly CONFIG_SPLASH_SCREEN) enabled in the U-Boot .config file.

  4. Building and Flashing: After making these changes, rebuild U-Boot and ensure that the build process completes without errors. Then, flash the newly built U-Boot onto your Verdin iMX8MM module. Verify that the flashing process is successful and that the correct U-Boot version is running on the device.

  5. Alternative Approach: If the direct replacement of the logo file and enabling it through menuconfig does not yield the desired results, consider using the environment variable method described in the context you provided. This method involves storing the splash screen image on an external storage medium and setting U-Boot environment variables to load and display the image during boot. This approach offers flexibility and can be easier to manage across different builds and devices.

  6. Debugging: If the splash screen still does not appear, use the U-Boot serial console to debug. Check for any error messages related to the splash screen during boot. Additionally, verify that the file paths and environment variables

Please, also check if these links can help you solve your problem:

Splash Screen on U-Boot | Toradex Developer Center.

still not working

I included this patch in the u-boot recipe

diff --git a/configs/verdin-imx8mm_defconfig b/configs/verdin-imx8mm_defconfig
index 2e493da..160c96e 100644
--- a/configs/verdin-imx8mm_defconfig
+++ b/configs/verdin-imx8mm_defconfig
@@ -146,3 +146,20 @@ CONFIG_SDP_LOADADDR=0x40400000
\ No newline at end of file

Then, I replaced the splash screen image with my customized splash screen as below ( as mentioned on Splash Screen on U-Boot | Toradex Developer Center

do_patch[postfuncs] += "do_patch_extra"
do_patch_extra () {
    # copy logo
    install -m 0644 ${WORKDIR}/splash_screen.bmp ${S}/tools/logos/toradex.bmp

I flashed the image but the splash screen didn’t appear.
Any suggestion please?

Hello @Rabeb,

Welcome to the Toradex Community!

U boot splash screen is not supported out of the box on i.MX8-based modules, the reason being the mainline U-boot not supporting video displays for these SOCs.

The Verdin iMX8MM module only has a native MIPI DSI interface and you need to have a smooth transition of the video handling between U-boot and the Linux Kernel. Under Linux, we have some drivers for bridges (e.g. DSI to LVDS, or DSI to HDMI). However, they are not supported in U-Boot yet. So, the only way to support a splash screen in U-Boot would currently be to attach a native MIPI DSI display, which is ideally already pre-configured so that we don’t have to send any configuration parameters. Please be aware that this require some recompilation of uboot to make it work (theoretically).

May I know what type of display you are using? If possible could you specify details such as vendor, version etc… ?