two-step: Add UseEndAnimation setting

System Internals / Plymouth - Hans de Goede [redhat.com] - 11 March 2020 19:22 EDT

We try to start the end animation early based on our progress accounting but this is highly unreliable because e.g.:-It counts time to enter the diskcrypt passwd as normal boot time, while this varies wildly from boot to boot-Boot times for laptops can differ significantly between docked / undocked state

Between gdm calling /bin/plymouth deactivate and the drm plugin's deactivate method getting called there can be e.g. 2.1 seconds (from a random boot), with a theoretical maximum of 3 seconds (2 seconds to finish the throbber + 1 second for the end animation).

On a modern system userland boot should be able to finish in say 5 seconds, making gdm wait an additional 1 - 3 seconds for deactivation is a huge amount of extra wait time!

This commit adds a new "UseEndAnimation" option to the two-step plugin, which defaults to true. Setting this to false makes deactivation immediate.

This works nicely with the spinner (and bgrt) themes since we do not really do anything special in the end animation there anyways and since we fade-over into gdm things will still look ok, while shaving a signifcant chunk of our boot time.

50c619e two-step: Add UseEndAnimation setting
src/plugins/splash/two-step/plugin.c | 42 ++++++++++++++++++++++++++++++++----
themes/bgrt/bgrt.plymouth.in | 3 +++
themes/spinner/spinner.plymouth.in | 9 ++++++++
3 files changed, 50 insertions(+), 4 deletions(-)

Upstream: cgit.freedesktop.org


  • Share