From ArchWiki
Revision as of 14:21, 8 August 2011 by Mclaud2000 (talk | contribs) (→‎Troubleshooting: Removed "still an issue?" tag, see comments.)
Jump to navigation Jump to search

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.

Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어

External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

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


Before you can use Plymouth, you must enable kernel mode setting. Please refer to the specific instructions for ATI cards, Intel cards or Nvidia cards. All 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. Uvesafb is recommended.

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.

Note: Kernel mode setting is currently only available for Intel and ATI graphics cards, on Nvidia cards you must use Nouveau driver (as of Kernel 2.6.32). 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.


Including Plymouth in the Initcpio

Add Plymouth to the HOOKS array in Template:Filename. It must be added after base, udev and autodetect for it to work:

# nano /etc/mkinitcpio.conf
Warning: If you use hard drive encryption using the encrypt hook, you must replace encrypt with plymouth-encrypt in order to get password prompts. You will not be able to boot the machine if you do not.

For early KMS start add the module radeon (for radeon cards), i915 (for intel cards) or nouveau (for nvidia cards) to the MODULES line in Template:Filename:

# nano /etc/mkinitcpio.conf

Add plymouth to the HOOKS array:

HOOKS="base udev autodetect plymouth ..."

Rebuild your kernel image (refer to the mkinitcpio article for more info):

# mkinitcpio -p [name of your kernel preset]

The kernel command line

You now need to set quiet splash as you kernel command line parametres in your bootloader. The following is an example for Grub2 and Template:Filename (the legacy Grub and Lilo follow the same pattern):

linux /boot/vmlinuz26 root=/dev/... ro quiet splash

You can force enable KMS early start by appending "radeon.modeset=1" (for radeon cards) or "i915.modeset=1" (for intel cards) to your kernel options:

linux /boot/vmlinuz26 root=/dev/... radeon.modeset=1
linux /boot/vmlinuz26 root=/dev/... i915.modeset=1

You may also edit the file Template:Filename and append your kernel options to the line GRUB_CMDLINE_LINUX_DEFAULT="". To re-generate Template:Filename run:

# grub-mkconfig -o /boot/grub/grub.cfg

Changing the Theme

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. Script: "Script example plugin" (Despite the description seems to be a quite nice Arch logo theme)
  4. Solar: "Space theme with violent flaring blue star" and
  5. Spinfinity: "Simple theme that shows a rotating infinity sign in the center of the screen"
  6. (Text: "Text mode theme with tricolor progress bar")
  7. (Details: "Verbose fallback theme")

You can get a list of currently installed themes with:

plymouth-set-default-theme -l

To preview the themes without rebooting. Hit Ctrl+Alt+F2 to change to console, log in as root and type:

plymouth --show-splash

To quit the preview hit Ctrl+Alt+F2 again and type:

plymouth --quit

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

# plymouth-set-default-theme spinfinity

Rebuild your kernel image with:

# mkinitcpio -p [name of your kernel preset]

And reboot.


===Small black squares For some reason the command to quit Plymouth can leave small black squares around the top of your screen that attach themselves permanently to any window passing under them. Two confirmed cases are a laptop with ATI graphics card and KMS, and my a with an nVidia card and framebuffer. The issue is 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.

Now edit Template:Filename as yourself and add this line before your desktop session line (such as "exec ck-launch-session openbox-session") to kill Plymouth:

sudo /bin/plymouth quit &
Note: The lack of --retain-splash and the additional & sign on the end is required so that the xinitrc script will go on to start your desktop session and leave plymouth exiting in the background.
Warning: Failure to add this before your desktop session line (eg. "exec startxfce4") will result in an unstartable 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.

Power Off <-- Still an issue?

If you have trouble with Power Off, e.g. your computer reboots instead of shutting down, it maybe due to either KMS or Plymouth. If it's Plymouth, either launch "plymouth --mode ..." in case of reboot or halt or edit Template:Filename and comment out the following block:

if [ "$0" == "/etc/rc.shutdown" ]; then


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