Fbsplash [dead link 2014-05-01] (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.
The AUR. For console backgrounds (discussed later in this article) you should install a kernel patched with fbcondecor such as AUR.AUR package is available in the
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 theAUR package.
Suspend to Disk
If you want suspend to disk with Uswsusp using Fbsplash, install the AUR package from the AUR. 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"
If you start Xorg using a DAEMON (kdm, gdm, etc.), also set the appropriate
rc.d-script name to avoid VT/keyboard struggle between Xorg and the splash daemon:
Starting Fbsplash early in the initcpio
If uresume and/or encrypt HOOKS are used, add fbsplash after them in
HOOKS="base udev autodetect [...] keymap encrypt uresume fbsplash"
Rebuild your initcpio via mkinitcpio. See the Mkinitcpio article 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. fbsplash-theme.AUR), you can get nice graphical console backgrounds beside the splash screen. Just search the AUR for
After installing your patched kernel and fbsplash, add
fbcondecor to your
DAEMONS array in
DAEMONS=(... fbcondecor ...)
There is also a configuration file
/etc/conf.d/fbcondecor to set up the virtual terminals to be used.
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