2.8 KiB
2.8 KiB
publish, permalink, title, created, modified, tags, cssclasses
| publish | permalink | title | created | modified | tags | cssclasses | |||
|---|---|---|---|---|---|---|---|---|---|
| true | /os/plymouth | Plymouth | 2026-02-05T09:31:46.739-07:00 | 2026-02-05T12:18:10.585-07:00 |
|
Plymouth provides a graphical boot splash screen, including during LUKS password entry.
Installation
sudo pacman -S plymouth
Configuration
mkinitcpio (systemd hooks)
I use systemd-based initramfs hooks. Edit /etc/mkinitcpio.conf:
HOOKS=(base systemd autodetect microcode modconf kms keyboard sd-vconsole plymouth sd-encrypt block filesystems resume fsck)
Key points:
- Using
systemdnotudev - Using
sd-vconsolenotkeymap consolefont - Using
sd-encryptnotencrypt plymouthcomes aftersd-vconsoleand beforesd-encrypt
Regenerate initramfs:
sudo mkinitcpio -P
Kernel Parameters
Add splash to your bootloader config.
For Limine (/boot/EFI/limine/limine.conf):
cmdline: quiet splash rd.luks.uuid=<UUID> root=/dev/mapper/root ...
Note: With systemd hooks, use
rd.luks.uuid=instead ofcryptdevice=
For systemd-boot (/boot/loader/entries/arch.conf):
options quiet splash rd.luks.uuid=<UUID> root=/dev/mapper/root ...
Set Theme
# List available themes
plymouth-set-default-theme -l
# Set theme (and rebuild initramfs)
sudo plymouth-set-default-theme -R spinner
Popular themes:
spinner— Simple spinner (default)bgrt— Uses manufacturer logo from ACPIfade-in— Fading star field
Install more themes
paru -S plymouth-theme-arch-logo
paru -S plymouth-theme-monoarch
LUKS Integration
Plymouth displays the LUKS password prompt graphically instead of the text console.
For this to work with systemd hooks:
plymouthhook must be beforesd-encrypthooksplashmust be in kernel parameters- Use
rd.luks.uuid=for LUKS device specification
systemd vs udev Hooks
| udev-based | systemd-based |
|---|---|
udev |
systemd |
keymap consolefont |
sd-vconsole |
encrypt |
sd-encrypt |
cryptdevice=UUID=...:name |
rd.luks.uuid=... |
Testing
Test without rebooting:
sudo plymouthd
sudo plymouth --show-splash
# Press Enter to dismiss
sudo plymouth quit
Troubleshooting
No splash on boot
- Verify
splashis in kernel params - Check hook order in mkinitcpio.conf
- Regenerate initramfs:
sudo mkinitcpio -P
LUKS prompt is text-only
The plymouth hook must come before sd-encrypt:
HOOKS=(... sd-vconsole plymouth sd-encrypt ...)
View boot messages
Remove quiet temporarily to see boot messages if Plymouth isn't working.
Resources
- Arch Wiki: https://wiki.archlinux.org/title/Plymouth
- Arch Wiki (mkinitcpio systemd): https://wiki.archlinux.org/title/Mkinitcpio#Common_hooks