Fbsplash
Fbsplash (formerly gensplash) is a userspace implementation of a splash screen for Linux systems. It provides a graphical environment during system boot using the Linux framebuffer layer. Fbsplash has not been actively updated in the recent years and may not be working correctly on a recent Arch setup using systemd. If you want a fancy splash screen during boot, you might want to try Plymouth instead.
Contents
Installation
Fbsplash
Install the fbsplashAUR package. For console backgrounds (discussed later in this article) you should install a kernel patched with fbcondecor such as linux-fbcondecorAUR.
Scripts
The fbsplash package provides the scripts for basic functionality. If you want more bells and whistles, like smooth progress, filesystem-check progress messages, support for boot-services/'daemons'-icons and theme hook scripts, you may also install the fbsplash-extrasAUR[broken link: archived in aur-mirror] package.
Themes
Themes can be found by searching the AUR for fbsplash-theme, in GNOME-Look.org or in KDE-Look.org.
Suspend to Disk
If you want suspend to disk with Uswsusp using Fbsplash, install the uswsusp-fbsplashAUR[broken link: archived in aur-mirror] package. Additionally there is limited support for using Fbsplash in the tuxonice-useruiAUR package for those using a kernel with the TuxOnIce patch.
Configuration
Kernel Command Line
You now need to set something like quiet loglevel=3 logo.nologo gfxpayload=keep console=tty1 splash=silent,fadein,fadeout,theme:arch-banner-icons
as your kernel command line parameters in your bootloader. See Kernel parameters for more info.
The parameter loglevel=3
prevents kernel messages from garbling the splash even with funny hardware (as recent initscripts do not set this by default any more). quiet
is needed additionally for silencing initcpio messages. logo.nologo
removes the boot logo (not needed with linux-fbcondecor since it does not have one anyway). console=tty1
redirects system messages to tty1 and splash=silent,fadein,fadeout,theme:arch-banner-icons
creates a silent, splash-only boot with fading in/out arch-banner-icons theme.
Configuration Files
Put one or more of the themes you installed into /etc/conf.d/splash
. You can also specify screen resolutions to save some initcpio space:
/etc/conf.d/splash
SPLASH_THEMES=" arch-black arch-banner-icons/1280x1024.cfg arch-banner-noicons/1280x1024.cfg"
Starting Fbsplash early in the initcpio
If uresume and/or encrypt HOOKS are used, add fbsplash after them in mkinitcpio.conf, e.g.:
/etc/mkinitcpio.conf
HOOKS="base udev autodetect [...] keymap encrypt uresume fbsplash"
Rebuild your initcpio via mkinitcpio. See mkinitcpio#Image creation and activation for more info.
If you have trouble getting fbsplash to work and your machine uses KMS (Kernel Mode Setting), try adding the appropriate driver to mkinitcpio.conf[broken link: invalid section].
Console backgrounds
If you have a kernel that supports Fbcondecor (eg. linux-fbcondecorAUR), you can get nice graphical console backgrounds beside the splash screen.
Currently(2015) the fbsplashAUR package provides a deprecated daemon script to set up console backgrounds. However, the programs that actually handle console backgrounds are still working fine! Just look for /usr/bin/splash_manager or /usr/bin/fbcondecor_ctl and set up console backgrounds manually, or use them as a basis to write your own systemd unit.
Even if you have no interest in a splash screen, you will still need splash themes for your console background. Either get an existing one from the AUR fbsplash-theme or create one yourself in /etc/splash/
. The only parameter in the theme .cfg file needed to enable console backgrounds is pic
.
You may even boot up with a nice console background and the plain Arch Linux boot messages instead of a splash screen. Just change your kernel command line to use the verbose mode:
quiet console=tty1 splash=verbose,theme:arch-banner-icons