Installing Nvidia Vulkan drivers instead of default Nvidia

So I know that the latest “official” driver for Nvidia is easy to install. However, that driver doesn’t have the latest patches for Vulcan that the latest “beta” driver from Nvidia does.

Linux 396.54.09

Because I want to use Nixos and game using Steam, I need this driver. Is there any kind of guide that can show me the following:

  1. How to install this beta driver in NixOS
  2. How to keep that driver “static” no matter how many times I do a switch-rebuild so it wont pull in the normal release Nvidia driver.

Any ideas?

Normally this should be doable by setting services.xserver.videoDrivers = ["nvidiaBeta"];.

However, by the looks of it, the nvidia drivers (both stable, upstream latest seems to be 410.66 and beta, upstream latest seems to be 410.57) haven’t been updated in a while. @vcunat (maintainer) is there a particular reason for this, or just that nobody’s gone ahead and done it?

I think our default did match the latest longterm from upstream just a couple months ago, but on the whole it’s under-maintained (by me). Newer version: nvidia_x11_beta: reinit at 410.57 by eadwu · Pull Request #45030 · NixOS/nixpkgs · GitHub

So the latest Vulkan driver introduces new functionality that drastically improves the ability to run Windows games in Linux using DXVK both with and without Steam. It’s a huge leap forward, not your normal, incremental beta release. Probably something a great many NixOS Nvidia users would appreciate.

2 Likes

PRs are always welcome :wink:

Hi iheckemann.

I’m assuming as PR is a Package Request for the nixos project on github? I can certainly do that…but is there any format I should be aware of when making such a request other than “Package Request” in the title and listing out the details of the request itself?

I’m assuming as PR is a Package Request for the nixos project on github? I can certainly do that…but is there any format I should be aware of when making such a request other than “Package Request” in the title and listing out the details of the request itself?

PR in the git jargon is «Pull Request», also known as «Merge Request» on GitLab — it is basically a patch or a series of patches sent via the project’s git workflow (in Nixpkgs case, GitHub)

Oops, sorry I was unclear there! As @7c6f434c explained, it’s a change/set of changes you make to some project (nixpkgs in this case) and propose to have merged upstream.

I’m guessing you haven’t done this before, if you want to do the nvidia update (which ought to be pretty easy) and get some help with it, the IRC channel is a great place to do so. You can join via webchat if you don’t have an IRC client.