Regarding splash screen image not shown using plymouth

Hello,
my requirement is boot animation using plymouth .
i already have plymouth in openembeeded layer so i add the plymouth.bbappend file in my custom layer
i added the .plymouth file and image under files directory

plymouth_%.bbappend
FILESEXTRAPATHS:prepend := “${THISDIR}/files:”
SRC_URI:append = "
file://spinner.plymouth
file://rasppi_fixed_converted.png
"
do_install:append() {
install -d ${D}${datadir}/plymouth/themes/spinner
install -m 0644 ${WORKDIR}/spinner.plymouth ${D}${datadir}/plymouth/themes/spinner/
install -m 0644 ${WORKDIR}/rasppi_fixed_converted.png ${D}${datadir}/plymouth/themes/spinner/
# Set default theme
#echo “spinner” > ${D}${sysconfdir}/plymouth/plymouthd.conf
install -d ${D}${sysconfdir}/plymouth
echo “[Daemon]\nTheme=spinner” > ${D}${sysconfdir}/plymouth/plymouthd.conf
}
DEPENDS += “libpng”
EXTRA_OECONF += “–enable-png”
PLYMOUTH_THEMES = " spinner"

Set the default theme to “spinner”

PACKAGES += “plymouth-theme-spinner”
#FILES:plymouth-theme-spinner += “${datadir}/plymouth/themes/spinner/”
FILES:plymouth-theme-spinner += “${datadir}/plymouth/themes/spinner/ ${sysconfdir}/plymouth/plymouthd.conf”
PACKAGES += “plymouth-utils”
FILES:${PN}-utils = “${bindir}/plymouth-set-default-theme ${bindir}/plymouth”

spinner.plymouth
[Plymouth Theme]
Name=Spinner
Description=Adoption of official Spinner Theme for TorizonCore.
ModuleName=two-step
[two-step]
Font=Cantarell 12
TitleFont=Cantarell Light 30
ImageDir=/usr/share/plymouth/themes/spinner
#ImageDir=${datadir}/plymouth/themes/spinner
DialogHorizontalAlignment=.5
DialogVerticalAlignment=.382
TitleHorizontalAlignment=.5
TitleVerticalAlignment=.382
HorizontalAlignment=.5
VerticalAlignment=.7
WatermarkHorizontalAlignment=.5
WatermarkVerticalAlignment=.45
Transition=none
TransitionDuration=0.0
BackgroundStartColor=0x000000
BackgroundEndColor=0x000000
ProgressBarBackgroundColor=0x606060
ProgressBarForegroundColor=0xffffff
MessageBelowAnimation=true
[updates]
SuppressMessages=true
ProgressBarShowPercentComplete=true
UseProgressBar=true
_Title=Installing Updates…
_SubTitle=Do not turn off your computer
[system-upgrade]
SuppressMessages=true
ProgressBarShowPercentComplete=true
UseProgressBar=true
_Title=Upgrading System…
_SubTitle=Do not turn off your computer
[firmware-upgrade]
SuppressMessages=true
ProgressBarShowPercentComplete=true
UseProgressBar=true
UseFirmwareBackground=true
_Title=Upgrading Firmware…
_SubTitle=Do not turn off your computer
~

and in local.conf
LICENSE_FLAGS_ACCEPTED:append = " commercial"
IMAGE_INSTALL:append = " ffmpeg"
IMAGE_FEATURES += " splash"
PACKAGECONFIG:append:pn-plymouth = " drm gtk initrd pango png"
IMAGE_INSTALL:append = " plymouth plymouth-set-default-theme plymouth-theme-spinner dracut libpng"
#APPEND += " quiet splash vt.global_cursor_default=0 plymouth.ignore-serial-consoles"
PREFERRED_PROVIDER_virtual/boot-splash = “plymouth”

APPEND += " quiet splash plymouth.ignore-serial-consoles vt.global_cursor_default=0 console=tty1"
#APPEND += " quiet splash vt.global_cursor_default=0"
DISTRO_FEATURES:append = " framebuffer"
IMAGE_INSTALL:append = " weston weston-init"
LICENSE_FLAGS_ACCEPTED:append = " synaptics-killswitch"

DISTRO_FEATURES:append = " systemd usrmerge pam plymouth"
VIRTUAL-RUNTIME_init_manager = “systemd”

after the flash i run the command plymouthd&&plymouth --show-splash it is showing the loading symbol and when i run the plymouth --quit it is comming out from the splash screen

Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Hello,

It seems you’re working on implementing a boot animation using Plymouth on a custom Yocto build for your Toradex device. You’ve made several configurations, but the splash screen isn’t displaying as expected during boot. Let’s go through some steps to troubleshoot and resolve this issue:

  1. Verify File Paths and Permissions: Double-check that the paths specified in your .bbappend file are correct and that the files are being installed in the expected directories. Ensure the image files have the correct permissions to be readable by Plymouth.

  2. Check Plymouth Configuration: Confirm that the plymouthd.conf file is correctly set up to use your custom theme. The theme name in the configuration should match the directory name where your theme files are located.

  3. DRM and Framebuffer Support: Plymouth relies on DRM for graphical output. Ensure your kernel and device tree support DRM and framebuffer. Check the kernel configuration for DRM support and ensure the necessary modules are loaded.

  4. Enable Plymouth Debugging: Add plymouth.debug to the kernel command line to enable detailed logging. This can help identify where the process might be failing.

  5. Review Boot Logs: Examine the system logs (dmesg and journal logs) for any errors related to Plymouth or framebuffer initialization. These logs can provide clues if there are issues with the graphics driver or Plymouth itself.

  6. Test Plymouth Manually: Since running plymouthd && plymouth --show-splash works manually, the issue might be with the automatic start during boot. Ensure Plymouth is correctly integrated into the boot process by checking the init system (systemd) configuration.

By following these steps, you should be able to identify and resolve the issue with your Plymouth splash screen not displaying during boot. If the problem persists, consider simplifying the setup to a minimal configuration and gradually adding complexity to isolate the cause.

Best regards,
Toradex AI Assistant

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

Issues Adding Custom Splash Screen Using Plymouth.

Hi @Devireddy ,
Are you still facing this issue?

yes still i am facing same issue prem

Hi @Devireddy ,
Have you added this patch?

I have only below patches
0001-Avoid-linking-to-plymouth_logo_file.patch
0001-Make-full-path-to-systemd-tty-ask-password-agent-con.patch
0001-plymouth-Add-the-retain-splash-option.patch
scripts
0001-Drop-libdl-references.patch
0001-Make-themes-build-optional.patch
0001-plymouth-start-service-in-add-related-kernel-paramet.patch
themes

Add the patch which i have shared and test the image.

i will do that prem

I have one doubt prem, if we are not using docker then also we need to use this patch

@Devireddy ,
Yes, add the patch and verify plymouth service is started or not.

i added that patch still issue is same
when i run plymouth --show-splash it is showing screen with loading symbol

Check the service is loaded or not

Service is loaded

change the logo name to torizonlogo-white.png
and change the
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
}

changed still not working

Can you share your *.bbappend file

i am working on raspberrypi board
this is my bbappendfile
FILESEXTRAPATHS:prepend := “${THISDIR}/files:”

SRC_URI:append = "
file://spinner.plymouth
file://rasppi_0198.png
"

do_install:append() {
install -d ${D}${datadir}/plymouth/themes/spinner
install -m 0644 ${WORKDIR}/spinner.plymouth ${D}${datadir}/plymouth/themes/spinner/
install -m 0644 ${WORKDIR}/rasppi_0198.png ${D}${datadir}/plymouth/themes/spinner/
# Set default theme
#echo “spinner” > ${D}${sysconfdir}/plymouth/plymouthd.conf
install -d ${D}${sysconfdir}/plymouth
echo “[Daemon]\nTheme=spinner” > ${D}${sysconfdir}/plymouth/plymouthd.conf
}

DEPENDS += “libpng”
EXTRA_OECONF += “–enable-png”
PLYMOUTH_THEMES = " spinner"

Set the default theme to “spinner”

PACKAGES += “plymouth-theme-spinner”

#FILES:plymouth-theme-spinner += “${datadir}/plymouth/themes/spinner/”
FILES:plymouth-theme-spinner += “${datadir}/plymouth/themes/spinner/ ${sysconfdir}/plymouth/plymouthd.conf”

PACKAGES += “plymouth-utils”
FILES:${PN}-utils = “${bindir}/plymouth-set-default-theme ${bindir}/plymouth”

Hello prem ,do you got any conflict between plymouth and weston

Hi @Devireddy,
I have implemented this in verdin-imx8mp platform.

Okay. Can you the procedure you implemented in verdin-imx8mp platform.
When i implemented in raspberry-pi after booting i am getting it is stuck in execu systemcall