NVIDIA Drivers on Void Linux

[Void Linux]

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 |
+-----------------------------------------+------------------------+----------------------+