Ray Strode [Mon, 6 Oct 2008 15:33:39 +0000 (11:33 -0400)]
update libdir detection to reflect to plymouth dir
Previously, plymouth was installed in /usr/bin and
we'd look for it there to figure out if this is a
64-bit or 32-bit install. Now it's in /bin, so we
need to look in /bin instead.
Ray Strode [Thu, 25 Sep 2008 20:05:28 +0000 (16:05 -0400)]
Model text progress bar code after graphical one
Since both the spinfinity progress bar and text
progress bar are very similiar, it makes sense
to export parallel api for them. This just changes
things around a bit so that the two plugins and
controls more closely model each other.
This change also takes advantage of the on_boot_progress
plugin interface to get more reliable boot timing
information.
Ray Strode [Thu, 25 Sep 2008 04:45:38 +0000 (00:45 -0400)]
Move boot time accounting up a layer
This way all plugins can access it as a standard feature.
We'll need to move it a layer higher still, though, to
make sure progress bars don't get reset when the user
presses escape twice, etc (it's per-boot state, not
per-splash state).
Will Woods [Wed, 24 Sep 2008 15:13:19 +0000 (11:13 -0400)]
Add progress bar to spinfinity
The progress bar uses an estimate of boot time - defaulting to
45 seconds if unknown - and runs from 0% to 100% over that
interval.
The patch measures how long it takes to boot and writes that
value to /var/lib/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
/var/lib/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 -
see
http://daringfireball.net/misc/2005/04/tiger_details#waitingforloginwindow
for details on that.
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.
Ray Strode [Wed, 24 Sep 2008 14:58:19 +0000 (10:58 -0400)]
Fix build, remove some superfluous code
I was a little quick to the trigger in the
previous commit. This commit fixes the build
by passing in the right arguments to the function
and also clears out a duplicated chunk of code.
Ray Strode [Wed, 24 Sep 2008 14:38:27 +0000 (10:38 -0400)]
Hide text splash on shutdown
We always want to hide the text splash when plymouth
quits. Even if --retain-splash was called. Cross
fading from text to graphics doesn't make too much
sense.
Ray Strode [Mon, 22 Sep 2008 03:12:12 +0000 (23:12 -0400)]
Add new interface to make splash plugin go to idle
There are times when we want to make the splash
screen stop any pending animations and got to an
idle state. For instance, right before resuming,
or right before loading up GDM. It may take a
few frames for the splash screen to get there though.
This interface tells the splash screen it needs to
idle and provides a trigger for it to fire when it's
actually made it to an idle state.
Ray Strode [Mon, 22 Sep 2008 02:44:19 +0000 (22:44 -0400)]
Add new trigger object
This just calls a closure at a later point in time.
It will get used for having the splash plugin perform
tasks that will make the daemon defer responding to
the client.
Ray Strode [Sat, 13 Sep 2008 15:05:26 +0000 (11:05 -0400)]
Unload plugin instead of hiding it on free()
We basically don't want to ever implicitly hide on
the shutdown path, only when asked to explictly,
or when the splash plugin itself deems it
necessary.
Ray Strode [Wed, 10 Sep 2008 17:31:47 +0000 (13:31 -0400)]
Force shadow frame buffer to have cairo compatible row stride
Previously it would keep the rowstride of the scanout buffer,
which isn't right. The entire point of the shadow buffer is
that it has a known at compile time constant memory layout.
(This change fixes password prompts on some hardware)
Ray Strode [Wed, 27 Aug 2008 03:51:59 +0000 (23:51 -0400)]
Add start of font rendering support
We now have a plugin that we load after / is mounted.
It links against pango for text support. In
libplybootsplash we have a new label control
that will call into the plugin if it's loaded or
render invisible otherwise.
Ray Strode [Thu, 21 Aug 2008 18:11:24 +0000 (14:11 -0400)]
Add --prompt option to ask-for-password client command
We want to be able to ask the user a question instead
of assuming they know what question to answer. This
will be important if /opt and /home get encrypted with
different passwords.