Using nvidia open-source drivers

Jup, exactly. I would have assumed some changes got backported to 22.05 that caused this, but looking at the git log, this seems impossible:

$ git log --decorate --oneline --graph | head -7
*   380be19fbd2 (HEAD, origin/release-22.05, origin/nixpkgs-22.05-darwin, origin/nixos-22.05-small, origin/nixos-22.05-aarch64, origin/nixos-22.05) Merge pull request #235159 from prusnak/bitcoin-22.05
|\  
| * c3a341f4d26 bitcoin: 23.0 -> 23.2
|/  
* 50fc86b75d2 haskellPackages.hs-mesos: throw properly
* abd6db5708e texlive.texinfo: fix hash (#227358)
*   08741686397 Merge pull request #206382 from NixOS/backport-206193-to-release-22.05

You see 50fc86b75d2, which is where the problem is absent, and 380be19fbd2 where the problem is present.

The only change that happened in between was a minor version bump of bitcoin; the full diff just contains the version number and the hash, and searching for “bitcoin” in your config yields 0 results, so you’re not even installing it.

How the hell is that breaking nouveau?

I guess we gotta look deeper. The next thing we should check is the full closure of your system.
I’m not on NixOS, but this should work like a regular profile. First off, let’s see the generation numbers:

nix profile history --profile /nix/var/nix/profiles/system

This should allow you to find the generation numbers for the generations based on 50fc86b75d2 and 380be19fbd2. You’ll have to figure out which is which, but I would assume they’re the last two. Now, let’s say those were 661 and 662, respectively. You’d then execute this command:

nix store diff-closures /nix/var/nix/profiles/system-661-link /nix/var/nix/profiles/system-662-link

This should already show if there’s any difference between the two profiles. If there are some, you can also run

diff --recursive /nix/var/nix/profiles/system-661-link /nix/var/nix/profiles/system-662-link

which will give you more detail. Remember to replace 661 and 662 with your actual generation numbers.

Please post the output of all commands here (but truncate the first one, it would be way too long to post here).

I really hope we find something in those diffs.

1 Like