Appreciate the sentiment, hopefully amd/intel release a less humongous/power hungry model at some point…
Modesetting is mandatory for wayland.
The powermanagement setting is required to support sleep.
Otherwise this looks correct. For the record, what is the exact set of problems (including whether nvidia-settings
works) you get after a nixos-rebuild boot --use-remote-sudo && systemctl reboot
with:
# fuck nvidia
services.xserver.videoDrivers = ["nvidia"];
hardware.nvidia = {
open = true;
nvidiaSettings = true;
modesetting.enable = true;
powerManagement.enable = true;
package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
version = "555.58.02";
sha256_64bit = "sha256-xctt4TPRlOJ6r5S54h5W6PT6/3Zy2R4ASNFPu8TSHKM=";
sha256_aarch64 = "sha256-wb20isMrRg8PeQBU96lWJzBMkjfySAUaqt4EgZnhyF8=";
openSha256 = "sha256-8hyRiGB+m2hL3c9MDA/Pon+Xl6E788MZ50WrrAGUVuY=";
settingsSha256 = "sha256-ZpuVZybW6CFN/gz9rx+UJvQ715FZnAOYfHn5jt5Z2C8=";
persistencedSha256 = "sha256-a1D7ZZmcKFWfPjjH1REqPM5j/YLWKnbkP9qfRyIyxAw=";
};
};
I also force the GBM backend and the GLX library, but I think that’s working around old wlroots bugs:
# Required to run the correct GBM backend for nvidia GPUs on wayland
GBM_BACKEND = "nvidia-drm";
# Apparently, without this nouveau may attempt to be used instead
# (despite it being blacklisted)
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
And finally I set the "nvidia-drm.fbdev=1"
kernel arg to work around this bug, but that should have been fixed in the driver/kernel by now.
I don’t seem to set services.xserver.videoDrivers
at all in my config, as a side note, I don’t understand how that works… My config checks if it’s in that list to switch the sway flag, though, and that’s definitely working, so I guess it ends up in there by default somehow. Either way, that setting should not be harmful.