I also saw your post on this earlier this morning, and it worked:
So, I guess “specific nvidia driver version” is the way to go until the update nvidia stable
to 555.0+
How did you find this solution?
I also saw your post on this earlier this morning, and it worked:
So, I guess “specific nvidia driver version” is the way to go until the update nvidia stable
to 555.0+
How did you find this solution?
I would just maintain the driver version downstream at least until the LTS kernel catches up with your hardware, personally.
It was pretty obvious after the fourth time the latest kernel was incompatible with the current nvidia driver version on stable. I think I first started running a different nvidia version in 2022?
Using mkDriver
to do this became possible towards the end of last year, I learned about it from one of the nvidia maintainers after I explained to someone here how to do this and they pointed out there’s a nicer way now.
I use xanmod not stable, zen or latest, over 6.10 its not work with error
also i see 550.78 won't compile on 6.10-rc1 due to GPL violations and removed follow_pfn() - #6 by SoftExpert - Linux - NVIDIA Developer Forums
maybe it can solve by using patch
Just update the driver to a version that supports 6.10, 550.78 is ancient by nvidia driver standards: Unable to build nix due to nvidia drivers due or kernel 6.10(?) - #18 by TLATER
Perhaps this would be my learning lesson about ‘mkDriver’: Since 560.35.03 released a few hours ago, how would one go about with inputting the following? Where can I find the following information, or find out if it’s available for NixOS?
version =
sha256_64bit =
sha256_aarch64 =
openSha256 =
settingsSha256 =
persistencedSha256 =
reference: NVIDIA stable driver 560.35.03 released for Linux with Wayland fixes | GamingOnLinux
As @TLATER said before, you can either set these to an empty string, rebuild and it will give you the values, but you can also get this information directly from the PR: linuxPackages.nvidiaPackages.latest: 555.58.02 -> 560.35.03 by Kiskae · Pull Request #336334 · NixOS/nixpkgs · GitHub
Generally, you can get the hashes for all versions (stable, beta, …) from the nvidia-x11 package.
Ah, you’re right… I actually didn’t understand what an “empty string” is, but I’ll try to look it up. I don’t want to bother folks any further, but I appreciate everyone’s input!
Like this:
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
version = "560.35.03";
sha256_64bit = "";
sha256_aarch64 = "";
openSha256 = "";
settingsSha256 = "";
persistencedSha256 = "";
};
""
is a string of zero characters, i.e., an empty string.
You can also use lib.fakeHash
, but that’s unnecessary here.
Any idea what values work for 560 ? I managed to use @TLATER 's config for version 555 above, but could not get 560 to work
Nor have I: nvidia: Update to 560.35.03 by TLATER · Pull Request #360 · TLATER/dotfiles · GitHub
The build dependencies changed, AIUI, so the update is less trivial now. I still need to sit down and figure it out sometime.
Couldn’t help but notice that some hashes are different from the ones in nixpkgs (which work fine for me).
$ diff nixpkgs.txt tlater.txt
3c3
< sha256_aarch64 = "sha256-s8ZAVKvRNXpjxRYqM3E5oss5FdqW+tv1qQC2pDjfG+s=";
---
> sha256_aarch64 = "sha256-8pMskvrdQ8WyNBvkU/xPc/CtcYXCa7ekP73oGuKfH+M=";
6c6
< persistencedSha256 = "sha256-E2J2wYYyRu7Kc3MMZz/8ZIemcZg68rkzvqEwFAL3fFs=";
---
> persistencedSha256 = "sha256-VWTJg/pluRYVVBDiJ+t2uhyodRuIFfHpzCZMte1krDM=";
Could this be the problem?
Hmm, that should result in the download failing, not a build failure. I’ll have to check what’s up.
Do you disable nvidiaSettings
? This commit is required to get that driver version to build on stable: nvidia-settings: add vulkan-headers dependency · NixOS/nixpkgs@0384602 · GitHub
No, I’ve always had it enabled.
I’m using nixos-unstable
, so that commit was already included in my nixpkgs by the time I updated.
Hi folks,
Same situation as last time, but now with kernel 6.14 :
I’ve tried using an “empty string” but it also doesn’t work for me, such as: Unable to build nix due to nvidia drivers due or kernel 6.10(?) - #28 by TLATER
How do folks normally get all the information for:
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
version = "560.35.03";
sha256_64bit = "";
sha256_aarch64 = "";
openSha256 = "";
settingsSha256 = "";
persistencedSha256 = "";
};
Is there a specific website I should turn to find the sha256 and etc.?
I’m seeking the latest nvidia drivers for NixOS that would allow me to upgrade the kernel to 6.14.
Nix hashes use a nonstandard alphabet, computed over the full directory tree in a special archive. In theory you can calculate them, have fun if you insist.
nix-prefetch-*
scripts exist, but it’s a PITA to figure out what you’re supposed to download, especially for the nvidia driver since it’s 4 different URLs in a clown car. I think the extraction mechanism for at least some of them is custom, too, so you’d have to match that perfectly.
What exactly do you mean by “doesn’t work for me”? Like, does nix segfault, or are you unable to read the strings it prints? Does replacing the empty strings with lib.fakeHash
help?
What exactly do you mean by “doesn’t work for me”?
My apologies for the vague conclusion.
I actually get the same output whether I use empty strings
or lib.fakeHash
or lib.fakeSha256
in either scenario:
error: hash mismatch in fixed-output derivation '/nix/store/i5nh1hgagr8cilc8lbs6p1fly5czchv9-source.drv':
specified: sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
got: sha256-XMk+FvTlGpMquM8aE8kgYK2PIEszUZD2+Zmj2OpYrzU=
error: 1 dependencies of derivation '/nix/store/1k4g4f0vgn2vnchwl5yypr05gclik4nf-nvidia-settings-570.133.07.drv' failed to build
error: 1 dependencies of derivation '/nix/store/3p6bqv5xwpvs87c6m16jk6jmda77yxcf-system-path.drv' failed to build
error: 1 dependencies of derivation '/nix/store/hw7q4jl062syba35yia3l1vbm9dja9k7-nixos-system-nixos-nvidia-gpu-24.11.716288.d02d88f8de5b.drv' failed to build
error: 1 dependencies of derivation '/nix/store/aczj0d5i7x7anldympp8052ddsgf96lv-nixos-system-nixos-24.11.716288.d02d88f8de5b.drv' failed to build
So in that case, the value of settingsSha256
is sha256-XMk+FvTlGpMquM8aE8kgYK2PIEszUZD2+Zmj2OpYrzU=
. The derivation name is similar enough to the attribute name and the hash is what appears in the error, so you should be able to find out the rest by updating the values until it works.
Just curious, how did you know this value was for settingsSha256
, and not the other entries? What was the indication?
Yes, that is the expected output here. It’s definitely confusing to have a bunch of derivations called source
but as @drakon pointed out, you can likely guess what hash it’s talking about based on what depends on it.
error: 1 dependencies of derivation '...nvidia-settings-570.133.07.drv' failed to build