mirror of
https://gitlab.freedesktop.org/plymouth/plymouth.git
synced 2026-05-08 08:58:05 +02:00
read-only mirror of https://gitlab.freedesktop.org/plymouth/plymouth
When multiple displays were introduced, each display had its own script plugin instance. This made things easy as the scripts would not have to be rewritten for multiple screens. Unfortunately this also meant that each image was loaded multiple times, and the scripts consumed much more processing power. Additionally the scripts were not aware of each other. This patch allows a single script instance to control multiple displays while maintaining reasonable backward compatibility. All sprites are placed on a virtual canvas. Displays (or windows) then expose parts of this canvas to the user. As a default, window 0 is placed at 0,0. Further windows are placed on top of the window 0 area matching the centre point so the password dialog (which is placed in the centre) is visible on all windows. If you target window 0 only and you place dialogs in the middle of the screen, then everything should work fine. Window.GetWidth/GetHeight now takes a window number (if none supplied it will assume 0). If it replies a NULL, then you accessed beyond the end of the window set. |
||
|---|---|---|
| images | ||
| scripts | ||
| src | ||
| themes | ||
| .gitignore | ||
| acinclude.m4 | ||
| AUTHORS | ||
| autogen.sh | ||
| ChangeLog | ||
| configure.ac | ||
| COPYING | ||
| INSTALL | ||
| Makefile.am | ||
| NEWS | ||
| README | ||
| TODO | ||
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. plymouth ships with two binaries: /sbin/plymouthd and /bin/plymouth The first one, plymouthd, does all the heavy lifting. It logs the session and shows the splash screen. The second one, /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 three graphical splash plugins: solar, fade-in, and spinfinity. There are also three non-graphical plugins which are for text mode and the detailed 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.