Getting Nvidia GPU working on Linux
1 minute read •
# Setting up
# Nvidia propieretory drivers and stuff
# Note: If using "linux" kernal install "nvidia" driver. For "linux-zen" install "nvidia-dkms".
# Also remove the package "optimus-manager" because it blacklists nvidia kernel modules.
# Grub config
Add nvidia-drm.modeset=1 rd.driver.blacklist=nouveau modprobe.blacklist=nouveau in GRUB_CMDLINE_LINUX_DEFAULT= inside the file /etc/default/grub
Put the cmdline parameters
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet nvidia-drm.modeset=1 rd.driver.blacklist=nouveau modprobe.blacklist=nouveau"
Then generate grub config
# Initramfs
MODULES=(amdgpu nvidia nvidia_modeset nvidia_uvm nvidia_drm)
# Now Reboot.
sudo reboot now
# Check if the modules are loaded successfully
|
This should output something like this:
|
# Run Aplications using nvidia gpu
# Prepend these Environment Variables before applications to run with nvidia gpu:
DRI_PRIME=pci-0000_01_00_0 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia
DRI_PRIME=pci-0000_01_00_0 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia <command>
DRI_PRIME=pci-0000_01_00_0 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia
DRI_PRIME=pci-0000_01_00_0 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia
DRI_PRIME=pci-0000_01_00_0 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia
# Or, just use prime-run command
# You can check which programs are using nvidia gpu
Troubleshooting
If you run into problem with CUDA then try running nvidia-modprobe.