I use grub as my bootloader, installed as per the Archlinux Wiki instructions. Once grub is pacman installed, I edit the option GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub as follows:
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet cryptdevice=/dev/nvme0n1p3:cryptlvm i915.enable_guc=3 i915.enable_psr=0"
cryptdevice tells grub to boot an encrypted partition (for which it has to have a module enabled).i915.enable_guc=3 is to enable the correct graphics mode for my Alder Lake chipset.i915.enable_psr=0 disables panel screen refreshing which is a power-saving mode which causes all sorts of flickering and tearing on the laptop screen.Grub is then installed as a bootloader as follows:
sudo grub-install --efi-directory=/boot/efi
sudo grub-mkconfig -o /boot/grub/grub.cfg
The correct modules have to be enabled in /etc/mkinitcpio.conf. My hooks line looks like this:
HOOKS=(base udev autodetect modconf block encrypt lvm2 filesystems keyboard keymap fsck)
encrypt and lvm2 are necessary for my filesystem setup (LUKS-encrypted logical volume under LVM)keyboard and keymap make the console keyboard respect the layout in /etc/vconsole.conf (which reads KEYMAP=uk).