Plymouth boot logo

Hi, I’m the Toradex AI Assistant.

I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.

Did you like my answer? :+1: :-1:


Hello! Thank you for your detailed explanation and the log output.

Your issue is indeed very similar to those described in the community and documentation links you’ve referenced. This behavior—where the display stays black for several seconds until the LVDS subsystem is initialized—is related to the timing of the DRM (Direct Rendering Manager) and panel drivers during the boot process. Plymouth can only show the splash screen once the DRM subsystem and display are available, which happens relatively late on your setup (around 6.8 seconds as seen in your dmesg).

Key points and possible approaches:

1. Confirm Plymouth Configuration

You’ve already created a plymouth_%.bbappend file based on the documentation, which is the right approach. Make sure your file is similar to the recommended format (example for BSP 7.x):

FILESEXTRAPATHS:prepend := "${THISDIR}/files:"

SRC_URI += " \
    file://yourlogo.png \
    file://spinner.plymouth \
"

EXTRA_OECONF += "--with-runtimedir=/run"

do_install:append () {
    install -m 0644 ${WORKDIR}/yourlogo.png ${D}${datadir}/plymouth/themes/spinner/watermark.png
    install -m 0644 ${WORKDIR}/spinner.plymouth ${D}${datadir}/plymouth/themes/spinner/spinner.plymouth
}

More details:

Some users have also found setting

PACKAGECONFIG:append = " pango drm"

in their bbappend improves reliability:

2. Initializing DRM/LVDS Earlier

The core issue is that the LVDS and DRM drivers are only initialized several seconds into the boot due to driver probing and panel timings.

  • Moving initialization earlier typically involves deep kernel changes, which are not straightforward and go beyond standard configuration or Plymouth customization.

3. Reduce Black Screen Perception

While moving the display driver’s initialization earlier isn’t easily possible via software configuration alone, you could consider these workarounds:

  • Enable the backlight statically via hardware (if your display’s electronics allow always-on backlight).
  • Use a static boot logo provided by the bootloader (e.g., U-Boot splash) for the very initial seconds. However, this often requires the framebuffer to be persistent or reused until Linux display drivers take over. Please refer to:
    Splash Screen on Torizon OS | Toradex Developer Center

4. TorizonCore Builder Approach

If you’re customizing TorizonCore, you can use the TorizonCore Builder tool to add custom splash screens and optimize boot appearance as much as possible with standard tools.

Summary:
Your observation is correct: the ~7 second black screen is due to the display subsystem only finishing initialization well after the kernel starts, and Plymouth cannot display anything until that happens. Unfortunately, this is constrained by driver load order and hardware sequencing, and is not easily changed with configuration or userspace customization tools.

For now, focus on confirming your Plymouth and splash configuration, and if possible, consider using a bootloader logo for immediate feedback before Linux display drivers initialize.

Here are useful links:

If you have more specific questions or would like suggestions for optimizing the existing boot appearance, please let me know!

Best regards,
Toradex AI Assistant.