Fbsplash

From ArchWiki

Fbsplash (formerly gensplash) is a user-space implementation of a splash screen for Linux systems. It provides a graphical environment at system startup using the Linux framebuffer layer.

Installation

Fbsplash

Install the fbsplashAUR package.

To have a background image of your virtual terminals you will need to install a kernel patched with fbcondecor, see below.

Themes

Themes are available as packages and can also be found at GNOME-Look.org or KDE-Look.org.

Configuration

Preview

To choose from the themes that you will have installed without restarting or configuring anything, you can use splash_manager command.

This command must not be executed under X, but from a TTY.

For example to test the arch-black theme, after having installed it of course, in silent mode without restarting:

# splash_manager -c demo -t arch-black --steps 100

For more information:

$ splash_manager --help

Configuration file

Add the theme (s) you installed in /etc/conf.d/splash. You can also specify screen resolutions to save some space:

/etc/conf.d/splash
...
SPLASH_THEMES = "
   arch-black
   arch-banner-icons/1280x1024.cfg
   arch-banner-noicons/1280x1024.cfg "
...

Kernel command line

To work with Fbsplash, you must pass the following options to your kernel parameters:

console=tty1 splash=silent,theme:theme name

Start Fbsplash

Tip: The F2 key will allow you to toggle between splash and Arch messages on startup. Think about it if the splash does not appear or if you find your startup taking a long time.

Normal launch

Once installed and configured, without doing anything more, fbsplash should load automatically the next time you boot, right after a few Arch messages on boot (right after udev).

Early launch

If you find these few messages unsightly (or just to enjoy your splash longer), it is possible to start fbsplash before the first messages at startup.

Just add fbsplash to HOOKS array in mkinitcpio.conf:

/etc/mkinitcpio.conf
...
HOOKS = (base fbsplash ...)
...

or:

/etc/mkinitcpio.conf
...
HOOKS = (base udev ... resume fbsplash ...)
...

or, in case of encryption of the system:

/etc/mkinitcpio.conf
...
HOOKS = (base ... keymap encrypt fbsplash ...)
...

Then, regenerate the initramfs.

Warning: To guard against any problem with fbsplash that would block your startup, it might be a good idea not to generate the fallback image with this HOOK.

Edit /etc/mkinitcpio.d/kernel.preset

/etc/mkinitcpio.d/kernel.preset
...
fallback_options = "-S autodetect,fbsplash"
...

Then, regenerate the initramfs.

Console background images

With a kernel that supports Fbcondecor (e.g., one with a framebuffer console decoration patch applied), you can have a background image of your virtual consoles.

Configuration

Note: fbcondecor-systemdAUR provides a systemd service "to activate console decorations on system start".

There is also a configuration file, /etc/conf.d/fbcondecor, to define the virtual terminals that will support this display mode.

Add the appropriate entries to your boot loader file, this kernel called vmlinuz-linux-fbcondecor and its images initramfs-linux-fbcondecor.img and initramfs-linux-fbcondecor-fallback.img.

Tip: This time you can also use splash = verbose to take advantage of background messages at startup as a replacement for the splash.

See also