From ArchWiki
Revision as of 12:47, 11 January 2010 by Caligo (Talk | contribs) (Configuration)

Jump to: navigation, search

Template:I18n links start Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n links end


Splashy is a userspace implementation of a splash screen for Linux systems. It provides a graphical environment during system boot using the Linux framebuffer layer via directfb.

Please see this post on the Arch Linux forum for a repo you can add with working splashy packages. Splashy in AUR also works (see below).


  1. Grab the splashy-full package in AUR, build it via makepkg (or whatever makepkg wrapper you like) and install via Pacman.


Uvesafb Framebuffer (Preferred)

It is recommended to use Uvesafb if your hardware supports it (unless your hardware also supports KMS, see below). This allows you to use the exact native resolution of your monitor. It also allows you a widescreen boot splash.

  1. Follow the instructions on the Uvesafb page to install and configure.
  2. Add quiet splash to your kernel command line in /boot/grub/menu.lst.
    Example: kernel (hd0,6)/vmlinuz26 root=/dev/sda6 ro quiet splash

Default Framebuffer

You can also use the default kernel framebuffer if your hardware does not support Uvesafb.

  1. Find the kernel framebuffer mode number closest as possible to your monitor.
  2. Add quiet vga=mode_number splash to your kernel command line in /boot/grub/menu.lst.
    Example: kernel (hd0,6)/vmlinuz26 root=/dev/sda6 ro quiet vga=791 splash

Kernel Mode Setting

If you have a chipset that supports kernel mode setting (KMS), this is preferable to using Uvesafb. Note that when KMS is enabled you should always disable Uvesafb, as well as any "vga=" and "video=" options in your bootloader as these will conflict with the native resolution enabled by KMS.

Other Configuration Files


Add SPLASH="splashy" in /etc/rc.conf, e.g.:



Remember to rebuild the initramfs image whenever Splashy's config changes. (E.g. Splashy theme was changed.)

  1. Add splashy at the end of the HOOKS in /etc/mkinitcpio.conf, e.g.:
    HOOKS="base udev autodetect ide sata filesystems ... splashy"
  2. Rebuild initramfs image
    # mkinitcpio -p <kernel name>
    # mkinitcpio -p kernel26


Don't forget to rebuild the initramfs image after upgrading Splashy.


You can install splashy-themes in AUR to get a nice splashy theme. After installing, look at the available themes like so:

$ ls /usr/share/splashy/themes

The folder name is the theme name. Now edit /etc/splashy/config.xml and change the theme name to the want you want. Note that themes ending in 43 are 4:3 aspect ration, and the others are widescreen. Try "simplyblack" as a good first theme. After you set your theme (and any time you change your theme) you will need to again run

# mkinitcpio -p kernel26

Known Problems

  1. Splashy doesn't terminate or automatically switch to verbose mode if an error occurs or when an init script fails. No longer true with splashy-full package.
  2. Something goes "terribly wrong" when a forced filesystem check commences while Splashy is running. For some unknown reason (yet), the system reboots itself after the fsck.
  3. X can show artefacts on the top of the screen, if splashy is activated during bootup.
  4. Adding <autoverboseonerror>no</autoverboseonerror> in /etc/splashy/config.xml may solve problems when booting in battery mode on laptops
  5. If you get a lot of directfb errors, change "1.2" to "1.4" in /lib/initcpio/install/splashy
  6. If you get an error with libjpeg, try installing libjpeg6
  7. If you use gsplashy and a theme does not appear on the list, make sure that config.xml in the folder of the theme is named theme.xml instead
  8. If you get a libz.so.1 error, try either symlinking /lib/libz.so.1 to /usr/lib/libz.so.1 or changing /lib/libz.so.1 to /usr/libz.so.1 in /lib/initcpio/install/splashy