I am looking for a smooth display transition between bootloader and main application.
Here is my current behavior on screen: Power on → Black screen → Splash screen (Uboot) → Black screen → main QT app.
I would like to have a smooth transition like suggested in https://wiki.archlinux.org/title/Plymouth#Smooth_transition
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?
Hello,
For achieving a smooth display transition from the bootloader to your main Qt application on the Verdin iMX8M Mini with Torizon Core, you can utilize a feature like Plymouth, which is a project aimed at enabling such transitions. However, integrating Plymouth directly with Torizon Core involves several steps, as Torizon Core, based on Yocto Project, might not have Plymouth readily available or configured out of the box for your specific setup.
Here are general steps to achieve a smoother transition:
Customize the TorizonCore Image: You’ll need to customize the TorizonCore image to include Plymouth. This involves adding Plymouth to the image recipe in Yocto Project. Since TorizonCore is built using Yocto, you can add Plymouth to your build by including it in your local.conf or through a bbappend file for your image recipe.
Configure Plymouth: After including Plymouth in your image, configure it to use a theme that matches your application’s look and feel. Plymouth themes define how the transition and progress animations look. You can create a custom theme or modify an existing one to better suit your needs.
Optimize U-Boot Configuration: To minimize the black screen time, ensure your U-Boot is optimized for fast booting. This includes disabling unnecessary hardware initializations and console outputs. Additionally, configuring U-Boot to display an early splash screen can reduce the perceived downtime between power-on and the Plymouth transition.
Seamless Transition to Application: For a seamless transition from Plymouth to your Qt application, ensure your application launches as soon as possible during the system startup. This can be achieved by optimizing your application’s startup time and by properly configuring systemd (or another init system used by TorizonCore) to start your application immediately after the system boot services.
Testing and Adjustments: After implementing the above steps, thorough testing is required to ensure the transitions are as smooth as possible. You may need to adjust the timing, optimize the boot process further, or tweak the Plymouth theme.
Please note, while Plymouth can help achieve smoother transitions, the exact implementation details can vary based on your specific hardware and software configuration. The steps provided are a general guideline and may require adjustments to fit your particular setup with the Verdin iMX8M Mini and Torizon Core.
Best regards,
Toradex AI Assistant
Please, also check if these links can help you solve your problem:
Looking at the link you provided, we don’t use GDM on our systems by default. Meaning you’ll probably need to adjust the Plymouth splash screen service. There was another topic about this here: Overlap Docker and Plymouth services boot
Basically you would modify the service so the Plymouth splash screen stays up until your containers are started. Most likely the Weston container will start up first before your Qt app fully starts. You should be able to give Weston a black screen appearance before it transitions to your Qt app.
You may need to tweak some other timings to get the effect desired for your system.
Some steps:
No need to do: sudo systemctl edit --full plymouth-quit.service
Create new plymouth-quit.service sudo nano /etc/systemd/system/plymouth-quit.service
Add: