Fbsplash

From ArchWiki
Jump to navigation Jump to search

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, such as linux-fbcondecorAUR, see below.

Themes

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

Configuration

Preview

Tango-edit-clear.pngThis article or section needs language, wiki syntax or style improvements. See Help:Style for reference.Tango-edit-clear.png

Reason: Need to add permission info. (Discuss in Talk:Fbsplash#)

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 certain options to your kernel via your bootloader:

console = tty1 splash = silent, theme: theme name

GRUB

For GRUB, Directly edit /boot/grub/grub.cfg:

/boot/grub/grub.cfg
...
linux /boot/vmlinuz-linux root=/dev/... quiet console=tty1 splash =silent,theme:arch-banner-icons
...

Or better yet, go through /etc/default/grub and add the kernel options to the GRUB_CMDLINE_LINUX_DEFAULT line:

/etc/default/grub
...
GRUB_CMDLINE_LINUX_DEFAULT="quiet console=tty1 splash=silent,theme:arch-banner-icons"
...

Do not forget to regenerate grub.cfg.

Other chargers

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: No mention of changes that LILO should make. (Discuss in Talk:Fbsplash#)

For GRUB Legacy, LILO or Syslinux, all you have to do is add the options to the kernel in the appropriate configuration file (respectively /boot/grub/menu.lst, /etc/lilo.conf or /boot/syslinux/syslinux.cfg):

GRUB Legacy:

/boot/grub/menu.lst
...
kernel /vmlinuz-linux root=/dev/disk/by-uuid/8887210b-72d3-4899-99f7-3f39ea0a0eeb rw quiet console=tty1 splash=silent,theme:arch-banner-icons
...

Syslinux:

/boot/syslinux/syslinux.cfg
...
APPEND root=UUID=8887210b-72d3-4899-99f7-3f39ea0a0eeb rw quiet console=tty1 splash=silent,theme:arch-banner-icons
...

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 in /etc/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 ..."
...

Rebuild your initcpio using mkinitcpio. See mkinitcpio#Image creation and activation for more info.

Note: In case of problems with fbsplash if your machine uses KMS (this is the case if you are using the Intel, Nouveau or radeon), add the appropriate driver to the MODULES line of mkinitcpio.conf, see Kernel mode setting#Early KMS start.
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 generate the initrd:

# mkinitcpio -p kernel

Console background images

With a kernel that supports Fbcondecor, you can have a background image of your virtual consoles.

Installing the kernel

Install linux-fbcondecorAUR.

Configuration

Note: There is service for systemd: fbcondecor-systemdAUR

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

Tip: For an early start, add fbsplash in the HOOKS of /etc/mkinitcpio.conf, add the themes in /etc/conf.d/splash and rebuild the initramfs:
# mkinitcpio -p linux-fbcondecor

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.

Example for GRUB Legacy:

/boot/grub/menu.lst
...
# (5) Arch Linux + splash in console
title Arch Linux, fbcondecor
root (hd0,4)
kernel / vmlinuz-linux-fbcondecor root = / dev / disk / by-uuid / 8887210b-72d3-4899-99f7-3f39ea0a0eeb rw quiet console = tty1 splash = silent, theme: arch-banner-icons
initrd /initramfs-linux-fbcondecor.img
...

For Syslinux:

/boot/syslinux/syslinux.cfg
...
LABEL archfbcondecor
        MENU LABEL Arch Linux Fbcondecor
        LINUX ../vmlinuz-linux-fbcondecor
        APPEND root = UUID = 8887210b-72d3-4899-99f7-3f39ea0a0eeb rw quiet console = tty1 splash = silent, theme: arch-banner-icons
        INITRD ../initramfs-linux-fbcondecor.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