User:SilentGamePLS
NVIDIA Gaming and Wayland Cheat Sheet:
Sound in my games is not working:
sudo pacman -S alsa-firmware alsa-utils pipewire pipewire-alsa pipewire-pulse
Enable 32-bit support
sudo nano /etc/pacman.conf
Uncomment these lines:
[multilib] Include = /etc/pacman.d/mirrorlist
Update:
sudo pacman -Syu
Install NVIDIA Driver with dependencies including Vulkan properly:
Standard NVIDIA Driver installation with dependencies:
sudo pacman -S nvidia nvidia-settings nvidia-utils lib32-nvidia-utils lib32-opencl-nvidia opencl-nvidia libvdpau lib32-libvdpau libxnvctrl vulkan-icd-loader lib32-vulkan-icd-loader vkd3d lib32-vkd3d opencl-headers opencl-clhpp vulkan-validation-layers lib32-vulkan-validation-layers
Run mkinitcpio after installation and reboot:
sudo mkinitcpio -P
Experimental NVIDIA Driver Installation section:
NVIDIA DKMS Driver For Zen and Multiple Kernels
sudo pacman -S nvidia-dkms nvidia-settings nvidia-utils lib32-nvidia-utils lib32-opencl-nvidia opencl-nvidia libvdpau lib32-libvdpau libxnvctrl vulkan-icd-loader lib32-vulkan-icd-loader vkd3d lib32-vkd3d opencl-headers opencl-clhpp vulkan-validation-layers lib32-vulkan-validation-layers
Run mkinitcpio after installation and reboot:
sudo mkinitcpio -P
NVIDIA LTS Driver For LTS Kernels
sudo pacman -S nvidia-lts nvidia-settings nvidia-utils lib32-nvidia-utils lib32-opencl-nvidia opencl-nvidia libvdpau lib32-libvdpau libxnvctrl vulkan-icd-loader lib32-vulkan-icd-loader vkd3d lib32-vkd3d opencl-headers opencl-clhpp vulkan-validation-layers lib32-vulkan-validation-layers
Run mkinitcpio after installation and reboot:
sudo mkinitcpio -P
NVIDIA Open Source Driver
sudo pacman -S nvidia-open nvidia-settings nvidia-utils lib32-nvidia-utils lib32-opencl-nvidia opencl-nvidia libvdpau lib32-libvdpau libxnvctrl vulkan-icd-loader lib32-vulkan-icd-loader vkd3d lib32-vkd3d opencl-headers opencl-clhpp vulkan-validation-layers lib32-vulkan-validation-layers
Run mkinitcpio after installation and reboot:
sudo mkinitcpio -P
NVIDIA Open Source DKMS Driver
sudo pacman -S nvidia-open-dkms nvidia-settings nvidia-utils lib32-nvidia-utils lib32-opencl-nvidia opencl-nvidia libvdpau lib32-libvdpau libxnvctrl vulkan-icd-loader lib32-vulkan-icd-loader vkd3d lib32-vkd3d opencl-headers opencl-clhpp vulkan-validation-layers lib32-vulkan-validation-layers
Run mkinitcpio after installation and reboot:
sudo mkinitcpio -P
Wayland support will work fine if you have an NVIDIA RTX 20/30/40 series GPU's. There might be issues on GTX 10 GPU's and below. Starting with NVIDIA 560 Driver older GPU's from 10xx series are supported only by proprietary driver NVIDIA Developer Blog:
Edit /etc/mkinitcpio.conf
sudo nano /etc/mkinitcpio.conf
- Change
MODULES=()
- To
MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
Run mkinitcpio after installation and reboot:
sudo mkinitcpio -P
Edit GRUB /etc/default/grub
For other bootloaders check the [Wiki]
sudo nano /etc/default/grub
- Change
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"
- To
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet nvidia_drm.modeset=1"
Run grub configuration:
sudo grub-mkconfig -o /boot/grub/grub.cfg
Reboot, check if everything works:
sudo cat /sys/module/nvidia_drm/parameters/modeset
On every NVIDIA driver update run:
sudo mkinitcpio -P
Extra Steps with GNOME/GDM
- Removing the gdm udev that disables wayland
If you want to force-enable Wayland, run this command.
sudo ln -s /dev/null /etc/udev/rules.d/61-gdm.rules
- Reboot
Games keep crashing with 16/32/64/128 GB RAM
Set vm.max_map_count to Steam OS values:
sudo nano /usr/lib/sysctl.d/10-arch.conf
- Change
vm.max_map_count=2147483642
Reboot and check if the count increased:
cat /proc/sys/vm/max_map_count
A bunch of codecs/dependencies that can help you run different types of media audio and video formats that applies to game cut scenes and audio.
NB! If you want a non-bloated Arch Linux installation then avoid:
sudo pacman -S fluidsynth lib32-fluidsynth openal lib32-openal gvfs gvfs-nfs libkate gst-plugins-base gst-plugins-bad-libs gst-libav lib32-gst-plugins-good gst-plugin-gtk lib32-gstreamer lib32-gst-plugins-base lib32-gst-plugins-base-libs xvidcore lib32-libxvmc libxvmc ffmpeg gst-libav gst-plugins-good gst-plugins-bad smpeg faac sndio libnma openresolv x264 x265 opus sane lame libao wavpack libmad a52dec libvorbis faad2 libmpeg2 libtheora libvpx libde265 libdv schroedinger dav1d rav1e gst-libav gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-plugin-pipewire lib32-pipewire pipewire-zeroconf flac lib32-flac smpeg lib32-smpeg mac opus lib32-opus opus-tools opusfile libmpeg2
gamemode, gamescope installation for improving gaming under Steam/Lutris/Wine:
sudo pacman -S gamemode lib32-gamemode gamescope
Proper Wine\Steam\Lutris\dosbox\scummvm Install:
sudo pacman -S wine wine-gecko wine-mono steam lutris dosbox scummvm
(Optional) Proper Wine support on the systemd level after installing Wine packages
sudo systemctl restart systemd-binfmt
yay installation for heroic games launcher and other packages from AUR:
NB! yay needs git:
sudo pacman -S git
No sudo!
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
Heroic games launcher installation:
yay -S heroic-games-launcher-bin
Custom GE Proton usage:
- Download the GloriousEggroll Proton needed releases:
- Extract, enable hidden files and folders in your file manager.
- Create a folder compatibilitytools.d in your /home/user/steam/root/
- Copy/paste the extracted GE folder into:
/home/user/config/.steam/root/compatibilitytools.d
- Restart Steam, now you can use any GE Proton version.
NB! Some games work better on Wayland in some cases for native Linux games like Metro Exodus and older Win 32bit games work better on X11, so you need to switch between Wayland and X11.