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.
Install the AUR package. For console backgrounds (discussed later in this article) you should install a kernel patched with fbcondecor such as AUR.
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 broken link: archived in aur-mirror] package.AUR[
Suspend to Disk
If you want suspend to disk with Uswsusp using Fbsplash, install the AUR[broken link: archived in aur-mirror] package. Additionally there is limited support for using Fbsplash in the AUR package for those using a kernel with the TuxOnIce patch.
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.
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.
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:
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.:
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.
If you have a kernel that supports Fbcondecor (eg.AUR), you can get nice graphical console backgrounds beside the splash screen.
Currently(2015) the write your own systemd unit.AUR 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
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
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