#plymouth #arch #flicker free boot #encryption #luks

Plymouth/Flicker Free Boot on Arch

Documentation of an experiment

This experiment has been done inside a qemu/kvm virtual machine using tianocore uefi.

This same setup has been replicated successfully on my Star Labs Star Labtop MK3.

Setup description

  • Unencrypted EFI partition (fat32) (/boot)
  • luks2 lvm volume with just root inside (for the vm the latptop has two partitions, root and home)
  • systemd-boot
  • gdm wayland
  • gnome wayland

Steps

  • Install plymouth-git gdm-plymouth from AUR using yay or a similar AUR helper (using an AUR helper is suggested since it helps to keep these packages up to date)
  • Add plymouth in HOOKS in /etc/mkinitcpio.conf after base udev
  • IF THE INSTALLATION IS ENCRYPTED replace the encrypt hook with plymouth-encrypt (STILL keeping the plymouth hook added previously)
  • for graphical password prompt you may need to read this. TL;DR: add your gpu driver at the beginning of MODULES in /etc/mkinitcpio.conf. For intel GPU it’s i915, for qemu/kvm VM it’s qxl, for amd GPU it should be radeon
  • Edit /boot/loader/entries/arch-linux.conf, adding these command line arguments: quiet splash loglevel=3 rd.udev.log_priority=3 vt.global_cursor_default=0
  • systemctl disable gdm and systemctl enable gdm-plymouth
  • mkinitcpio -p linux

Notes

The final experience is not really flicker free. It’s not clear what the cause is, considering this setup should be replicating the one Fedora has in place, but anyway the final result is good looking enough.

External references