Plymouth

From ArchWiki

Jump to: navigation, search
i18n
English
Česky
Italiano

Contents

Introduction

Plymouth is a project from Fedora to provide a flicker-free graphical boot process. It relies on kernel mode setting to set the native resolution of the display as early as possible, then provides an eye-candy splash screen up to the login manager.

Note: Kernel mode setting is currently only available for Intel and ATI graphics cards (as of Kernel 2.6.31). Plymouth can run without it, but may fall back to its text-mode plugin.
Warning: Plymouth is currently under heavy development and may contain bugs

Installation

Before you can use Plymouth, you must enable kernel mode setting. Please refer to the instructions for ATI cards and for Intel cards. Both of these require you to rebuild your kernel image. You will also have to do that later on in this article, so you may wish to skip that step for now.

If you don't have KMS you will need to use framebuffer instead.

Note: This may well not work. Plymouth is designed to work with KMS, although it can sometimes work with framebuffer.

Grab Plymouth from the AUR. It is best to use the git version, as this is most up to date and likely to work better.

Instructions on installing packages from the AUR are available here

Configuration

First of all, set a theme for plymouth. Plymouth comes with a selection of themes:

  1. Fade-in: "Simple theme that fades in and out with shimmering stars"
  2. Glow: "Corporate theme with pie chart boot progress followed by a glowing emerging logo"
  3. Solar: "Space theme with violent flaring blue star" and
  4. Spinfinty: "Simple theme that shows a rotating infinity sign in the center of the screen"

Set your desired theme with plymouth-set-default-theme utility, eg:

$ su
# plymouth-set-default-theme spinfinity

Add plymouth to the hooks array in mkinitcpio.conf. It must be added after base udev and autodetect for it to work.

# nano /etc/mkinitcpio.conf

Add plymouth to the hooks array:

HOOKS="base udev autodetect plymouth ..."

Rebuild your kernel image:

# mkinitcpio -p kernel26

Grub now needs configuring to work with plymouth:

# nano /boot/grub/menu.lst

If you have KMS enabled, at the end of your kernel line remove any VGA= statement. If you don't have KMS you will need to use framebuffer and so will need to add a VGA= statement. In either case, add "quiet splash" on the end:

kernel /vmlinuz26 root=/dev/disk/by-uuid/xxxx ro quiet splash

Finally, the plymouth daemon has to be killed towards the end of the boot process. This can be done with a command in rc.local:

# nano /etc/rc.local

and add the line

/bin/plymouth quit --retain-splash

Reboot, and enjoy the eye-candy start-up!

Changing the Theme

As mentioned above, plymouth comes with several themes. If you wish to try a different one, simply issue

# plymouth-set-default-theme themename

Rebuild your kernel image:

# mkinitcpio -p kernel26

And reboot.

Troubleshooting

For some reason on both my computers (a laptop with an ATI graphics card and KMS, and my desktop with an nVidia card and framebuffer) the command to quit plymouth left small black squares around the top of my screen which attached themselves permanently to any window which passed under them. The issue was caused by the --retain-splash option which is required to keep the boot process as seamless as possible. If you are having this problem, the work-around is to kill plymouth after login, when the --retain-splash option is no longer needed.

Note: This requires the use of sudo. Instructions for installing and configuring sudo can be found here

Edit /etc/rc.local again and remove the "/bin/plymouth quit --retain-splash" line.

As yourself, edit xinitrc and add a line to kill plymouth.

Warning: This must be above the line which starts your session (eg exec startxfce4) or your desktop session will not start
$ nano ~/.xinitrc

And add

sudo /bin/plymouth quit &

Note the lack of --retain-splash and the additional & sign on the end. This is required so that the xinitrc script will go on to start your desktop session.

You now need to give yourself permission to kill the plymouth daemon without a password, by editing the sudoers file:

$ su
# EDITOR=nano visudo

And add

yourusername      ALL=(ALL) NOPASSWD: /bin/plymouth

Reboot, and all should be well.

Credits

Thanks to drf for his excellent forum post on which this wiki article is based

Personal tools