Linux graphics driver setup
Prerequesites
First, enable multilib (32-Bit). It is very important to run games through Proton (Steam) and other WINE-related applications like Lutris, Bottles and Heroic Game Launcher. To enable multilib repository, uncomment the [multilib] section in /etc/pacman.conf.
1
2
[multilib]
Include = /etc/pacman.d/mirrorlist
Then upgrade your system.
1
sudo pacman -Syu
Installation
To install support for Vulkan API (will be functional only if you have a Vulkan capable GPU) and 32-bit games, execute following commands.
Nvidia
1
sudo pacman -S --needed nvidia-dkms nvidia-utils lib32-nvidia-utils nvidia-settings vulkan-icd-loader lib32-vulkan-icd-loader
Warning: Installing nvidia-settings on Manjaro will fail as it isn’t in the repos and gets installed with the drivers themself. To make sure you’re running proprietary Nvidia drivers you should run
sudo mhwd -i pci video-nvidia
I use nvidia-dkms package to let nvidia compile the driver against the actual kernel(s) I run. The other packages like nvidia or nvidia-lts are precompiled and may not suit to the kernel(s) running.
AMD
1
sudo pacman -S --needed lib32-mesa vulkan-radeon lib32-vulkan-radeon vulkan-icd-loader lib32-vulkan-icd-loader
Intel
1
sudo pacman -S --needed lib32-mesa vulkan-intel lib32-vulkan-intel vulkan-icd-loader lib32-vulkan-icd-loader
Note for Intel integrated graphics users: Only Skylake and newer Intel CPUs (processors) offer full Vulkan support. Broadwell, Haswell and Ivy Bridge only offer partial support, which will very likely not work with a lot of games properly. Sandy Bridge and older lack any Vulkan support whatsoever.
Preparing the kernel
It’s recommended to add all needed driver modules to initial ramdisk to include the modules (drivers) into the kernel when it’s booting. To achieve this add the modules to /etc/mkinitcpio.conf and recompile initramfs.
1
2
3
4
MODULES=(i915 nvidia nvidia_modeset nvidia_uvm nvidia_drm)
BINARIES=()
FILES=()
HOOKS=(base udev plymouth autodetect microcode modconf kms keyboard keymap consolefont block filesystems fsck)
For me I have a laptop with switchable graphics and therefor I would load also
i915for the Intel card besides Nvidia modules. For AMD users it would beamdgpu. More of that in the “Hybrid Systems”-Section.
When you finished recompiling initramfs is executed like this:
1
sudo mkinitcpio -P linux
For
linuxyou have to set your wanted kernel image, others could belinux-ltsorlinux-zen.
Hint: Missing firmware messages
If you may get missing firmware messages as shown below there’s the mkinitcpio-firmware AUR package to get rid of this.
1
2
3
4
==> WARNING: Possibly missing firmware for module: bfa
==> WARNING: Possibly missing firmware for module: qed
==> WARNING: Possibly missing firmware for module: qla1280
==> WARNING: Possibly missing firmware for module: qla2xxx
Install it with an AUR helper like yay:
1
yay -S mkinitcpio-firmware
For most users this messages are harmless and “Possibly” means that you might not actually need this firmware. Anyway if these message are annoying you you can workaround this way.
Further reading: Lutris docs > Installing Drivers
