Plymouth

Plymouth is used to show splash screens during system boot and shutdown. It is a more modern alternative to fbsplash and provides flicker-free animated boot splashes with support for progress bars, solar flares, and other nifty things. In addition to OpenRC, it also has full systemd support. Since it is a boot splash tool, Plymouth does not provide background eye-candy for the ttys way fbsplash does (meaning it shows no decoration on the consoles after the system has booted).

Kernel
Specific kernel options must be altered in order to get Plymouth working properly. Use the command (or equivalent) in order to modify the kernel configuration.

Bootup logo
It is highly advised to disable the Linux bootup logo. On some systems having the bootup logo displayed seems to cause problems.

KMS for Nvidia cards (official drivers)
To use the official Nvidia drivers see the wiki's official Nvidia-drivers article.

Emerge
The package can be installed by running:

Configuration
- the sole configuration file for Plymouth. It can be left untouched. Selecting theme is described in further section.

Initramfs generators
There are currently two initramfs generators that support Plymouth. Either one will produce essentially the same result. Determining which to use, is entirely the choice of the user. This article does not go into detail on troubleshooting failed results. So, choosing the more comfortable initramfs would be a wise choice. Using genkernel-next is recommended, since many users are already familiar with using genkernel.

At this point in time, normal genkernel cannot create an initramfs with a Plymouth theme included. Therefore, in order to proceed, either dracut or will need to be selected, in order to build an initramfs capable of including a Plymouth theme. From this point onward, this configuration guide will continue presuming genkernel-next has been selected, since it is marked stable in the Portage tree and is essentially a drop in replacement for normal genkernel. Instructions for Dracut will be provided, although they are far from a full configuration.

Genkernel-Next
Continue by enabling the  USE flag in  in order for Portage to  genkernel-next properly:

Use a text editor of choice to enable Plymouth and the Plymouth theme in genkernel-next's configuration file:

Then use genkernel-next to generate the initramfs (note that Plymouth requires udev):

When using genkernel-next, skip the Dracut section, that immediately follows this section.

Dracut
Dracut is an alternative initramfs generator created by the Fedora development team. Before reading the rest of Dracut guide, here is a fun fact: both Plymouth and Dracut are cities in Massachusetts. This is speculation. However, it would appear, the creators of these programs might have taken this into consideration.

Follow this link for Dracut installation instructions. Dracut should enable Plymouth automatically if it is installed.

Manual initramfs creation
When creating a manual initramfs, for example using Custom_Initramfs, it is possible to bundle Plymouth.

First, disable  USE flag for Plymouth (it will not display anything until udev is properly initialized). Otherwise udev will need to be added to the initramfs as well.

Then, populate the initramfs with the plymouth files and theme. While it may be done manually, the better way is utilizing. It will deliver all the binaries, config and themes needed (only the theme that is enabled, so do not forget to re-execute when changing theme).

The script will copy all the files to selected directory.

Add this code snippet to the initramfs generation script, just before the initramfs packing:

Finally, update the actual init script in initramfs:

systemd
Plymouth automatically registers itself with systemd to show splash screens during shutdown and restart. No additional configuration is required.

OpenRC
There is a plugin for Plymouth that extends a single line version of OpenRC's status to the framebuffer. It can be installed via:

No additional configuration for the plugin is necessary, it should be operational next time Plymouth is ran. To remove this functionality simply uninstall the plugin.

Additionally, make sure that the RC is non-interactive. Edit the file:

GRUB2
When using GRUB2, an update to GRUB2's configuration file must be made in order to enable the splash screen during early boot. Append the options  to the GRUB_CMDLINE_LINUX_DEFAULT variable. You might also want to adjust the resolution in the GRUB_GFXMODE variable to match the desired resolution for the monitor, and set GRUB_GFXPAYLOAD_LINUX to "keep" in order to preserve the graphics mode during the entire boot.

This all can be performed by modifying the configuration file:

Themes
After emerging Plymouth a number of themes will be pulled in automatically, however more Plymouth themes can be downloaded from the web and installed manually. Extract the downloaded themes to the Plymouth theme directory:

Make sure each new theme is contained in its own folder (just like the default themes that are installed) or they will not be detected by Plymouth.

Once the themes have been extracted verify successful extraction by requesting Plymouth to generate a list of all available themes. Do this using the command:

Assuming the solar theme is desired as the system's theme, run:

It is possible to create themes for Plymouth. See the Theme creation article for more information.

Usage
Regenerate the initramfs using the or  command, depending on which generator you've chosen earlier:

or

As long as the configuration has been performed properly, this will pack the selected Plymouth theme into the initramfs.

Then regenerate GRUB config to use the initramfs and apply your GRUB2 graphical settings:

Tips
According to the README file distributed with Plymouth, boot messages are dumped to after the root filesystem has been mounted read-write.

External resources

 * An early Gentoo guide for Plymouth (by Gentoo developer ).
 * Plymouth on Gentoo (Funtoo) – Revisited - Anders Evenrud's Blog
 * Plymouth on gentoo - Anders Evenrud's Blog (old)
 * Red Hat 7's Plymouth documentation - Describes how to create a theme using the two-step plugin.