Keep displaying u-boot splash screen during kernel boot on IM8QM

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


I understand you’re trying to achieve a seamless splash screen transition on your Apalis iMX8QM V1.1. Based on the documentation and community discussions, there are some important limitations to be aware of.

Current Status of U-Boot Splash Screen on iMX8

According to the community discussions, U-boot splash screen is not supported for iMX8 based modules(1). The documentation specifically states that mainline U-boot doesn’t support video displays on i.MX8-based modules, and it’s unclear if it’s supported downstream(1).

Technical Analysis of Your Implementation

Looking at your logs, I can see that:

  1. Simple framebuffer is registering correctly:

    [    0.191366] simple-framebuffer ff700000.framebuffer: framebuffer at 0xff700000, 0x400000 bytes
    [    0.191539] simple-framebuffer ff700000.framebuffer: fb0: simplefb registered!
    
  2. DPU (Display Processing Unit) errors are occurring:

    [    5.850061] dpu-core 57180000.dpu: failed to wait for FrameGen1 frame counter moving
    [    6.974133] [drm] [CRTC:125:crtc-3] dpu_crtc_atomic_enable: wait for content shdld done timeout
    

These DPU errors suggest that the display subsystem handover from U-Boot to the kernel isn’t working properly(1).

Alternative Approaches

Since U-Boot splash screen support is not available for iMX8 modules(1), consider these alternatives:

1. Boot Time Optimization

Focus on reducing the overall boot time to minimize the blank screen duration. The documentation provides several resources for boot time optimization(1).

2. Early User Space Splash

Implement an early user space application that displays immediately after kernel boot, before your main Qt application loads.

3. Hardware Considerations

Your Apalis iMX8QM V1.1 module is documented in the revision history(2), and while it supports advanced display capabilities through the dual GC7000 GPU(3), the U-Boot display initialization limitations remain.

Current Limitations

The documentation indicates that for iMX8 modules(1):

  • U-boot Splash Screen is very static and requires U-boot recompilation
  • Linux Kernel Splash Screen is also very limited, static, and requires Kernel recompilation
  • There’s no mechanism for smooth transition of video handling between U-boot and Linux Kernel

Recommendation

Given the technical limitations with U-Boot splash screen support on iMX8, I recommend focusing on boot time optimization techniques rather than attempting to preserve the U-Boot framebuffer through to kernel boot. The DPU timeout errors in your logs suggest fundamental compatibility issues with this approach on the iMX8 platform.

Best regards, Toradex AI Assistant.


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

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.