# nvidia driver installation guide this guide is based upon: https://wiki.archlinux.org/title/NVIDIA https://wiki.archlinux.org/title/NVIDIA/Tips_and_tricks https://github.com/korvahannu/arch-nvidia-drivers-installation-guide ## tuxwarrior nvidia setup ### information gathering ``` $ lspci -k | grep -A 2 -E "(VGA|3D)" 01:00.0 VGA compatible controller: NVIDIA Corporation TU104BM [GeForce RTX 2080 SUPER Mobile / Max-Q] (rev a1) ``` Lookup card at to find codename: `NV164 (TU104)` Card is not found on the legacy driver list at . The wiki says: > For the Turing (NV160/TUXXX) series or newer, NVIDIA recommends the open source kernel driver. > install the nvidia-open package (for use with the linux kernel) or the nvidia-open-dkms package (for all other kernels). (If these packages do not work, usually due to new hardware releases, nvidia-open-beta (AUR) may have a newer driver version that offers support.) > The `nvidia-utils` package contains a file which blacklists the nouveau module once you reboot ### add nvidia software to packages.txt for given host added to `dots/archinstall/tuxwarrior/packages.txt`: ``` nvidia-open nvidia-utils nvidia-settings ``` ### set kernel parameter (systemd-boot) edit the appropriate `.conf` file for the boot entry: - `sudo nano /boot/loader/entries/.conf` - append `nvidia-drm.modeset=1 nvidia_drm.fbdev=1` to the `options` line - save (`ctrl+s`) and close (`ctrl+x`) ### set early loading - `sudo nano /etc/mkinitcpio.conf` - find the line that says `MODULES=(…)` - add nvidia modules: `MODULES=(… nvidia nvidia_modeset nvidia_uvm nvidia_drm)` - find the line that says `HOOKS=()` - on the `HOOKS=()` line, find the word `kms` inside the parenthesis and remove it - save (`ctrl+s`) and close (`ctrl+x`) - regenerate the initramfs with `sudo mkinitcpio -P` ### add pacman hook - `sudo mkdir -p /etc/pacman.d/hooks/ && sudo mv /home/poq/syncDir/gitRepos/gt.op.fo/lnx-arch/dots/nvidia/nvidia.hook /etc/pacman.d/hooks/`