fbsplash
fbsplash is a Gentoo implementation of a bootsplash screen to provide some eye candy during boot up or while working on a terminal without X. It is currently available in portage as media-gfx/splashutils.
Contents |
Installation
You can install media-gfx/splashutils with the following command:
root # emerge --ask splashutilsTo also install the Gentoo themes which are also used on the Live CD/DVD:
root # emerge --ask media-gfx/splash-themes-gentooAnd more themes with:
root # emerge --ask media-gfx/bootsplash-themesThe build might fail, because many libraries need to have static libraries to be available at boot time, here is a list of USE flags which could be put into /etc/portage/package.use (03/07/2012):
# for boot-splash media-libs/freetype static-libs media-libs/libpng static-libs media-libs/lcms static-libs virtual/jpeg static-libs media-libs/libjpeg static-libs media-libs/libjpeg-turbo static-libs media-libs/libmng static-libs sys-libs/zlib static-libs app-arch/bzip2 static-libs
Remember to update the packages after changing the USE flags:
root # emerge --ask --changed-use --deep @worldUSE Flags
| USE flag | Default | Recommended | Description |
|---|---|---|---|
| hardened | No | No | activate default security enhancements for toolchain (gcc, glibc, binutils) |
| png | Yes | Yes | Adds support for libpng (PNG images) |
| truetype | Yes | Yes | Adds support for FreeType and/or FreeType2 fonts |
| mng | Yes | Yes | Adds support for libmng (MNG images) |
| gpm | No | Adds support for sys-libs/gpm (Console-based mouse driver) | |
| fbcondecor | No | Yes | Support for the fbcondecor kernel patch. |
Requirements
To use a splash image the kernel needs to support initramfs.
Kernel
Enable framebuffer console decorations:
Device Drivers ->
Graphics support ->
Console display driver support --->
[*] VGA text console
[*] Enable Scrollback Buffer in System RAM
(64) Scrollback Buffer Size (in KB)
<*> Framebuffer Console support
-*- Map the console to the primary display device
[ ] Framebuffer Console Rotation
[*] Support for the Framebuffer Console Decorations
[ ] Select compiled-in fontsEnable Keyboard support for framebuffer themes:
Device Drivers --->
Input Device Support --->
<*> Event InterfaceUsing either radeon, intel or nouveau drivers provides a framebuffer capable device which is well implemented into the operating system. For users with the binary nVidia or AMD driver, there are workarounds using uvesafb to get frambuffer support.
Usage
General usage screnarios.
Themes
The different themes are stored in /etc/splash where the folder represents the theme name. To test some of them on the console use:
root # splash_manager -c set --theme=natural_gentoo --tty=1This will change the theme on tty1 to natural_gentoo. You can choose any theme in /etc/splash that matches your current resolution. Now to see the theme go to tty1 by pressing Ctrl+Alt+F1.
If you want to preview a theme in silent mode without reboot, then try
root # splash_manager -c demo -t natural_gentoo -m s --steps=100For more reference please refer to
root # splash_manager --helpGenkernel
If the initramfs is created using genkernel, the configuration in /etc/genkernel.conf should be changed to the theme used.
# Enable splashutils in early space (initrd). Default is "no". SPLASH="yes" # Use this splash theme. If commented out - the "default" name theme is used. # Also, SPLASH="yes" needs to be enabled for this one to one work. # This supersedes the "SPLASH_THEME" option of /etc/conf.d/splash (in early space). SPLASH_THEME="emerge-world"
Alternatively the /etc/conf.d/splash could be used to configure the theme, which will be loaded after initramfs.
Append
To append the theme to an existing initramfs:
root # splash_geninitramfs --verbose --res NxN --append /path/to/initramfsimage themeGenerate
To create a new initramfs for our theme:
root # splash_geninitramfs --verbose --res NxN --generate /boot/initramfs-bootsplash themeCopy
To create a new initramfs with the content of an existing one to add our theme:
root # splash_geninitramfs --verbose --res NxN --copy /path/to/initramfsdir themeBootloader
In GRUB2 the parameters can be added to the variable GRUB_CMDLINE_LINUX_DEFAULT in /etc/defaults/grub.
... splash=verbose,theme:emerge-world video=1920x1080 ...
Then run:
root # grub2-mkconfig -o /boot/grub2/grub.cfgThis enables the verbose version of the emerge-world theme, a full list of parameters can be found in /usr/share/doc/splashutils*/kernel_parameters. The parameter video=1920x1080 is optional, but will choose the proper resolution for the image.
Screenshot
To make screenshots of the framebuffer console, the tool media-gfx/fbgrab can be used:
user $ fbgrab fbscreen.png