Plymouth
From ArchWiki
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.
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.
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:
- Fade-in: "Simple theme that fades in and out with shimmering stars"
- Glow: "Corporate theme with pie chart boot progress followed by a glowing emerging logo"
- Solar: "Space theme with violent flaring blue star" and
- 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.
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.
$ 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