Plymouth animation

I’m trying to get a custom splash animation via a Reference Image with Yocto Project/OpenEmbedded.

I added a custom layer that that install pictures and those two files into image.

medical.script (1.4 KB)
medical.plymouth (201 Bytes)

The main question is how I should run animation since none of the functions below doesn’t work
Plymouth.SetTimeout(0.04, NextFrame); Plymouth.SetUpdateFunction(NextFrame);

I would use ModuleName=two-step , but there is no option to set up only one time run, and than animation isn’t interrupted very nicely.

The images are loaded correctly, as I can call them individually (sprite = Sprite(animation[9]):wink: and they are displayed. The size of all images is 4MB.

I run FLTK on Xorg server.
Thank you for all your help!

Hi, I’m the Toradex AI Assistant.

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


Custom Plymouth Animation Setup for Toradex Reference Images

Plymouth Configuration for Custom Animations

For creating custom Plymouth splash animations on Toradex Reference Images with Yocto Project, you’ll need to properly configure your Plymouth theme files (1).

Basic Plymouth Theme Structure

The recommended approach is to create a custom layer following the established pattern (1):

recipes-core/plymouth/plymouth_%.bbappend

(1)

Your .bbappend file should include (1):

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

SRC_URI += " \
	file://torizonlogo-white.png \
	file://spinner.plymouth \
"

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

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

(1)

Animation Timing Considerations

For animation functionality, Plymouth provides several built-in modules. The documentation shows that Plymouth supports various themes including the spinner theme (1). However, for custom animations with timing functions like Plymouth.SetTimeout() and Plymouth.SetUpdateFunction(), you may need to ensure your script theme is properly configured.

Build Integration

To include Plymouth in your Reference Image, add this to your conf/local.conf (1):

CORE_IMAGE_EXTRA_INSTALL += "plymouth"

(1)

Directory Structure

Your custom layer should follow this structure (1):

.
├── conf
│   └── layer.conf
├── COPYING.MIT
├── README
└── recipes-core
	└── plymouth
		├── files
		│   ├── spinner.plymouth
		│   └── torizonlogo-white.png
		└── plymouth_%.bbappend

(1)

Building and Deployment

After configuration, build your image (1):

$ bitbake tdx-reference-multimedia-image

(1)

You can verify Plymouth installation using (1):

$ bitbake -e tdx-reference-multimedia-image | grep plymouth

(1)

Important Notes

Starting from BSP 6, Linux Kernel splash screen support has been dropped, making Plymouth the recommended solution (2). Plymouth runs very early in the boot process and provides graphical boot animation while the boot process happens in the background (1).

For animation timing issues you’re experiencing, ensure your Plymouth script theme is correctly configured and that the animation functions are properly implemented within the Plymouth scripting framework.

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.

this topic solved my issue:

thank you.