Hi,
This proof-of-concept patch adds a simple progress bar to plymouth's "Spinfinity" plugin.
The progress bar uses an estimate of boot time - defaulting to 45 seconds if unknown - and runs from 0% to 100% over that interval.
Furthermore, the patch measures how long it takes to boot and writes that value to /etc/boottime at plugin shutdown. (This is kind of a nice side-effect - we get actual *measured* boot speed data, rather than just "feels snappier!")
There's an associated script, update-boottime, that crams /etc/boottime into your initrd, so this splash plugin can use *that* to more closely approximate the time required to boot.
This is similar to the OS X "WaitingForLoginWindow" process. It's an effective placebo - startup *seems* faster with the progress bar, even though it's exactly the same.
You can enable it by adding 'timebar:1' to the boot commandline. This will make it run in linear-time mode - the progress bar moves linearly from 0% to 100%.
Using 'timebar:2' modifies the percentage calculation to use an exponential function - this makes the bar run faster at first, then slow as it approaches 100%. This makes startup seem even faster. Seriously!
The bar (and its implementation) are kind of ugly right now, but again - this is just a proof-of-concept.
I think people get impatient with spinners after ~15s or so, so I think it's probably worth the effort to add something like this.
Don't underestimate the *perceived* difference in startup speed - or at least the feeling that it's actually Doing Something during those ~40-50 seconds it takes system(s) to start. Try it yourself. See if you think it makes a difference.
If people ask, I'll generate some binary packages of the 'timebar' plugin for people to test out, but I wanted to give you all a look at the code (and a chance to discuss the concept) first.
-w
desktop@lists.fedoraproject.org