Difference between revisions of "Plymouth"

From ArchWiki
Jump to: navigation, search
(Link to project page)
(Including Plymouth in the Initcpio)
Line 26: Line 26:
 
{{hc|/etc/mkinitcpio.conf|2=HOOKS="base udev autodetect [...] plymouth"}}
 
{{hc|/etc/mkinitcpio.conf|2=HOOKS="base udev autodetect [...] plymouth"}}
  
{{Warning|If you use [[System Encryption with LUKS for dm-crypt|hard drive encryption]] with the '''encrypt''' hook, you ''must'' replace it with '''plymouth-encrypt''' in order to get to the TTY password prompts.}}
+
{{Warning|If you use [[System Encryption with LUKS for dm-crypt|hard drive encryption]] with the '''encrypt''' hook, you ''must'' replace the '''encrypt''' hook with '''plymouth-encrypt''' in order to get to the TTY password prompts.}}
  
 
For early KMS start add the module [[radeon]] (for radeon cards), [[Intel|i915]] (for intel cards) or [[nouveau]] (for nvidia cards) to the MODULES line in {{ic|/etc/mkinitcpio.conf}}:
 
For early KMS start add the module [[radeon]] (for radeon cards), [[Intel|i915]] (for intel cards) or [[nouveau]] (for nvidia cards) to the MODULES line in {{ic|/etc/mkinitcpio.conf}}:

Revision as of 18:58, 13 May 2012

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.

Preparation

Warning: Plymouth is currently under heavy development and may contain bugs.

Plymouth primarily uses KMS to display graphics. If you know what this is and you're already set up, skip to Installation.

Otherwise, there are two options:

  1. Set up KMS: Please refer to the specific instructions for ATI cards, Intel cards or Nvidia cards.
  2. While kernel mode setting is recommended, Plymouth can run without it. If you can't use KMS you will need to use framebuffer instead. Uvesafb is recommended as it can function with widescreen resolutions.

If you have neither KMS nor a framebuffer, Plymouth will fall back to text-mode.

Installation

Plymouth is not presently available in the Official Repositories, and will need to be installed from the AUR.

The stable one is called plymouthAUR but since the latest stable release of plymouth was way back in May 2010 [1], the git version plymouth-gitAUR is preferred.

Configuration

Including Plymouth in the Initcpio

Add Plymouth to the HOOKS array in /etc/mkinitcpio.conf. It must be added after base, udev and autodetect for it to work:

/etc/mkinitcpio.conf
HOOKS="base udev autodetect [...] plymouth"
Warning: If you use hard drive encryption with the encrypt hook, you must replace the encrypt hook with plymouth-encrypt in order to get to the TTY password prompts.

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 /etc/mkinitcpio.conf:

/etc/mkinitcpio.conf
MODULES="i915"
or
MODULES="radeon"
or
MODULES="nouveau"

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 /boot/grub/grub.cfg (the legacy GRUB and LILO follow the same pattern):

linux /boot/vmlinuz-linux root=/dev/... ro quiet splash

You may also edit the file /etc/default/grub and append your kernel options to the line GRUB_CMDLINE_LINUX_DEFAULT="":

/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="ro quiet splash"

To re-generate grub.cfg run:

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

For Syslinux it's on the APPEND line:

Note: Here you may want to add vga=current according to this wiki entry.
    APPEND root=UUID=988d4e11-8237-4af3-5ab6-77627128g9d0 ro vga=current quiet splash

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 Template:Keypress to change to console, log in as root and type:

plymouthd
plymouth --show-splash

To quit the preview hit Template:Keypress again and type:

plymouth --quit

Set your desired theme with the 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.

Troubleshooting

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 using KMS, and a PC with nVidia card using the regular framebuffer. This issue is caused by the --retain-splash option, which is required to keep the boot process as seamless as possible. The work-around is to kill Plymouth after login, when the --retain-splash option is no longer needed.

Edit ~/.xinitrc as yourself and add this line before your desktop session line (such as "exec ck-launch-session openbox-session") to kill Plymouth:

~/.xinitrc
sudo /bin/plymouth quit &

Or edit /etc/rc.local and add this line to it:

/etc/rc.local
plymouth quit &

This will not require using visudo!

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 /etc/sudoers (you can replace nano with whatever you like):

# EDITOR=nano visudo
# visudo

and add:

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

Reboot, and all should be well.

See also

Original Spec A related forum thread