summaryrefslogtreecommitdiffstats
path: root/README
blob: 6b09f7475f89d87fa4c65eb6698e67abcaaf953e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
plymouth - graphical boot animation and logger

Plymouth is an application that runs very early in the boot process (even before the
root filesystem is mounted!) that provides a graphical boot animation while the boot
process happens in the background.

It is designed to work on systems with DRM modesetting drivers.  The idea is
that early on in the boot process the native mode for the computer is set, plymouth
uses that mode, and that mode stays throughout the entire boot process up to and
after X starts.  Ideally, the goal is to get rid of all flicker during startup.

For systems that don't have DRM mode settings drivers, plymouth falls back to
text mode.

In either text or graphics mode, the boot messages are completely occluded.  After
the root file system is mounted read-write, the messages are dumped to
/var/log/boot.log.  Also, the user can see the messages at any time during
boot up by hitting the escape key.

Plymouth isn't really designed to be built from source by end users.  For it to work
correctly, it needs integration with the distribution.  Because it starts so early,
it needs to be packed into the distribution's initial ram disk, and the distribution
needs to poke plymouth to tell it how boot is progressing.

In the scripts/ directory there is a shell script that attempts to unpack an existing
initrd, add plymouth, and pack it back up.  It's not a complete solution, though, it's
more for debugging/testing and will probably only work on Fedora based systems.

plymouth ships with two binaries: /usr/libexec/plymouth/plymouthd and /usr/bin/plymouth

The first one, plymouthd, does all the heavy lifting. It logs the session and shows the
splash screen. The second one, /usr/bin/plymouth, is the control interface to plymouthd.

It supports things like plymouth --show-splash, or plymouth --ask-for-password, which
trigger the associated action in plymouthd.

plymouth supports various "splash" plugins which are analagous to screensavers, but
happen at boot time.  Currently there are two graphical splash plugins: fade-in,
and spinfinity.  There are also two non-graphical plugins which are for text
mode and the details view.

The graphical plugins need a logo image and background color to function.
Distributions are expected to set these up in their packages at ./configure
time, but there are some placeholder values set up if ./configure doesn't get
those options.

Plymouth isn't done yet.  It's still under active development and isn't ready for
distros to use as-is.  That should change in the near future though.