Patch: timed progressbar for plymouth-plugin-spinfinity

Will Woods wwoods at redhat.com
Thu Jul 17 17:43:28 UTC 2008


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: update-boottime
Type: application/x-shellscript
Size: 2104 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/fedora-desktop-list/attachments/20080717/f18833db/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: plymouth-0.5.0-spinfinity-timebar.patch
Type: text/x-patch
Size: 6746 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/fedora-desktop-list/attachments/20080717/f18833db/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3153 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/fedora-desktop-list/attachments/20080717/f18833db/attachment-0002.bin>


More information about the Fedora-desktop-list mailing list