# install firmware packages
paru -S base-devel linux-headers --needed
# uncommented line below [multilib]
sudo vim /etc/pacman.conf
paru
# install nvidia packages
paru -S nvidia nvidia-utils lib32-nvidia-utils
# find GRUB_CMDLINE_LINUX_DEFAULT
# add nvidia-drm.modeset=1 nvidia-drm.fbdev=1
# ex. GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-drm.modeset=1 nvidia-drm.fbdev=1"
sudo vim /etc/default/grub
sudo grub-mkconfig -o /boot/grub/grub.cfg
# find MODULES=()
# add nvidia nvidia_modeset nvidia_uvm nvidia_drm
# ex. MODULES=(btrfs nvidia nvidia_modeset nvidia_uvm nvidia_drm)
# find HOOKS=()
# remove kms
sudo vim /etc/mkinitcpio.conf
sudo mkinitcpio -P
# set up pacman hook
wget https://raw.githubusercontent.com/korvahannu/arch-nvidia-drivers-installation-guide/main/nvidia.hook
sudo mkdir -p /etc/pacman.d/hooks/ && sudo mv ./nvidia.hook /etc/pacman.d/hooks/
reboot