]> git.ipfire.org Git - thirdparty/plymouth.git/commit
two-step: Add UseEndAnimation setting
authorHans de Goede <hdegoede@redhat.com>
Tue, 18 Feb 2020 21:03:58 +0000 (22:03 +0100)
committerHans de Goede <jwrdegoede@fedoraproject.org>
Wed, 11 Mar 2020 19:22:31 +0000 (19:22 +0000)
commit50c619ed41caf5b9bf347c5d5929d4e5cfff4d11
tree6f9edd9076501fd9ec59026b7150f6cecd258d36
parent16997ce639dae7bbe991f1a4ada45ec65bf66433
two-step: Add UseEndAnimation setting

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.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
src/plugins/splash/two-step/plugin.c
themes/bgrt/bgrt.plymouth.in
themes/spinner/spinner.plymouth.in