Use plymouth on Xavier NX

I want to use plymouth to add our animation when boot. I followed this link Using plymouth on tx2.. But it did not work.

My board and release information is below.
cat nv_tegra_release

R32 (release), REVISION: 6.1, GCID: 27863751, BOARD: t186ref, EABI: aarch64

plymouth.log (86.4 KB)

I remove all console in kernel command line, and from plymouth log, it created drm devices, and can see fb0 and fb1 are added. But I can’t see splash show on the screen.

I attached the plymouth log, and copied some logs below. They seems having issues.
4月 19 20:04:44 txkj-nx plymouthd[5311]: [ply-device-manager.c:814] create_devices_from_terminals:checking for consoles
4月 19 20:04:44 txkj-nx plymouthd[5311]: [ply-device-manager.c:592] add_consoles_from_file:opening /sys/class/tty/console/active
4月 19 20:04:44 txkj-nx plymouthd[5311]: [ply-device-manager.c:600] add_consoles_from_file:reading file
4月 19 20:04:44 txkj-nx plymouthd[5311]: [ply-device-manager.c:638] add_consoles_from_file:console /dev/tty1 found!
4月 19 20:04:44 txkj-nx plymouthd[5311]: [ply-device-manager.c:414] watch_for_udev_events:watching for udev graphics device add and remove events
4月 19 20:04:44 txkj-nx plymouthd[5311]: [ply-device-manager.c:315] create_devices_for_subsystem:creating objects for drm devices
4月 19 20:04:44 txkj-nx plymouthd[5311]: [main.c:2400] main:entering event loop
4月 19 20:04:44 txkj-nx plymouthd[5311]: [ply-device-manager.c:378] on_udev_event:got add event for device fb1
4月 19 20:04:44 txkj-nx plymouthd[5311]: [ply-device-manager.c:394] on_udev_event:ignoring since we only handle subsystem graphics devices after timeout
4月 19 20:04:44 txkj-nx plymouthd[5311]: [ply-device-manager.c:378] on_udev_event:got add event for device fb0
4月 19 20:04:44 txkj-nx plymouthd[5311]: [ply-device-manager.c:394] on_udev_event:ignoring since we only handle subsystem graphics devices after timeout
4月 19 20:04:44 txkj-nx plymouthd[5311]: [ply-boot-server.c:388] print_connection_process_identity:connection is from pid 5334 (/bin/plymouth show-splash) with parent pid 1 (/lib/systemd/systemd --switched-root --system --deserialize 39)
4月 19 20:04:44 txkj-nx plymouthd[5311]: [ply-boot-server.c:484] ply_boot_connection_on_request:got show splash request
4月 19 20:04:44 txkj-nx plymouthd[5311]: [main.c:896] plymouth_should_ignore_show_splash_calls:checking if plymouth should be running
4月 19 20:04:44 txkj-nx plymouthd[5311]: [main.c:998] on_show_splash:no displays available to show splash on, waiting…

I can only say it may not work. Even if you make it work, it will only last for like less than one second and it will switch to the desktop GUI.

I remember from booting kernel to desktop UI, it will take about 10 seconds. Plymouth should show animation very early, why does it only last less than one second? Is it because HDMI and DP display delay?

The time of desktop UI trying to launch is already included in that 10 sec. And during that time, plymouth already quit.

Yes. If I add delay in extlinux.conf by increasing TIMEOUT, I can see plymouth. If not, I can see plymouth show with short time or can’t see plymouth at all.

You can try but we didn’t try plymouth for like years. Don’t know whether it would work or not.

I remember that plymouth can only either running over KMS or framebuffer. I am not sure whether during “boot time”, probably during initrd running, KMS on jetson is supported or not. I guess not. Maybe only able to try with framebuffer case first.

I ran plymouth in kernel systemd instead of initrd. Add plymouth.ignore-serial-consoles in kernel boot command line and this can make plymouth ginore console(then dont need remove change console parameter in kernel boot command line) and fallback to framebuffer.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.