Skip to content

Arch Linux

Nikhil Prabhu edited this page Apr 5, 2026 · 8 revisions

Enable auto-decrypt for LUKS encrypted boot drive (Btrfs) with TPM 2.0

  • Install the necessary tools: sudo pacman -S tpm2-tss tpm2-tools
  • Identify the LUKS partition (the one with FSTYPE as crypto), and note down its NAME and UUID: lsblk -f
  • Enroll the TPM keyslot: sudo systemd-cryptenroll --tpm2-device=auto --tpm2-pcrs=7 /dev/<NAME>
  • Open /etc/mkinitcpio.conf, and find the HOOKS=(...) line. Within the braces, replace udev with systemd, and encrypt with sd-encrypt.
  • Open /etc/default/grub, and find the line GRUB_CMDLINE_LINUX="...". Look for cryptdevice=<UUID>=...:root, and replace it with rd.luks.name=<UUID>=root root=/dev/mapper/root
  • Regenerate and reboot:
    sudo mkinitcpio -P
    sudo grub-mkconfig -o /boot/grub/grub.cfg

Enable Plymouth splash screen for boot (AMD GPU)

  • Install Plymouth: sudo pacman -S plymouth
  • Open /etc/mkinitcpio.conf, and find the HOOKS=(...) line. Within the braces, add plymouth after systemd, but before sd-encrypt [!IMPORTANT]
  • Find the MODULES(...) line, and add amdgpu and btrfs to it.
  • Open /etc/default/grub, and add the following to GRUB_CMDLINE_LINUX_DEFAULT="...": quiet splash loglevel=3 rd.systemd.show_status=auto rd.udev.log_priority=3 vt.global_cursor_default=0
  • Regenerate and reboot:
    sudo mkinitcpio -P
    sudo grub-mkconfig -o /boot/grub/grub.cfg

Fix slow Steam downloads

On Arch Linux, Steam downloads could be super slow regardless of internet speed or the selected download server. This is because Steam sends contant DNS requests for the multiple chunks of data it downloads, and it generally relies on the OS' DNS cache. By default, Arch Linux doesn't have this DNS caching service.

To fix this, we just have to enable a DNS caching service. I'm using systemd-resolved.

  • Run sudo systemctl enable --now systemd-resolved
  • Symlink resolv.conf: sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

Clone this wiki locally