59 lines
2.1 KiB
Markdown
59 lines
2.1 KiB
Markdown
# 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 <https://nouveau.freedesktop.org/CodeNames.html> to find codename:
|
|
`NV164 (TU104)`
|
|
|
|
Card is not found on the legacy driver list at <https://www.nvidia.com/en-us/drivers/unix/legacy-gpu/>.
|
|
|
|
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/<filename>.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/`
|