Getting the proprietary NVIDIA drivers running on Void Linux is actually a really straightforward process and it's one of the things I love Void for, unlike dumbass distros like Arch.
I'll be doing this for my GeForce GTX 1060, which belongs to the Pascal architecture but the process is the same for everybody, except that you need to install the correct package for your architecture.
When you eventually run xbps-install for your driver package, the installation process
handles blacklisting nouveau automatically as well as handling other things such as
dkms.
Also BEFORE YOU PROCEED, the proprietary binaries are compiled for systems utilizing
glibc. If you chose Void with musl instead, the proprietary drivers will
not function natively, and you must use the default open-source nouveau driver instead. It's there
but not installed by default.
Enable the nonfree & multilib repositories
Since the drivers are proprietary, they reside in Void's nonfree repository.
sudo xbps-install -Sy void-repo-nonfree
And if you plan on gaming or using Wine, also enable the multilib repos.
sudo xbps-install -Sy void-repo-multilib void-repo-multilib-nonfree
And do sudo xbps-install -Syu for a refresh, 'cause otherwise they might not show up.
Actually getting the driverz
Now, you need to know your architecture.
The RTX 20/30/40/50-series, GTX 16-series,
they fall under Turing, Ampere, Ada
Lovelace & Blackwell.
Therefore, the packages you should get are:
sudo xbps-install nvidia
sudo xbps-install nvidia-libs-32bit
And the GTX 750 Ti, GTX 900-series, GTX 10-series fall under Maxwell, Pascal, & Volta.
Here we now enter into the territory of the legacy driver branches, and the separate packages are:
sudo xbps-install nvidia580
sudo xbps-install nvidia580-libs-32bit
As for the GTX 600-series & GTX 700-series, they fall under Kepler and the packages are:
sudo xbps-install nvidia470
sudo xbps-install nvidia470-libs-32bit
And just like how grandmas also need love,
the GTX 400-series & GTX 500-series fall under Fermi and their packages are:
sudo xbps-install nvidia390
sudo xbps-install nvidia390-libs-32bit
Sidenote for Steam
You would need to install the 32-bit version of libdrm for Steam to function.
sudo xbps-install -S libdrm-32bit
That's it
Throw a sudo reboot to drop nouveau and initialize the proprietary blob..
And when you log back in, run nvidia-smi to confirm everything works. This is how mine
looks:
+-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 580.142 Driver Version: 580.142 CUDA Version: 13.0 | +-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+========================+======================| | 0 NVIDIA GeForce GTX 1060 6GB Off | 00000000:01:00.0 On | N/A | | 25% 40C P8 7W / 120W | 460MiB / 6144MiB | 17% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+