From c47b8e21ea1c1d50e77821668e99dfcccc4adc12 Mon Sep 17 00:00:00 2001 From: albert Date: Sun, 28 Jul 2024 22:28:48 +0900 Subject: [PATCH] Update drivers for desktop --- nixos/common/modules/nviia-535.nix | 41 +++++++++++++++++++++++++++ nixos/hosts/nixos-desktop/default.nix | 10 +------ 2 files changed, 42 insertions(+), 9 deletions(-) create mode 100644 nixos/common/modules/nviia-535.nix diff --git a/nixos/common/modules/nviia-535.nix b/nixos/common/modules/nviia-535.nix new file mode 100644 index 00000000..e0c571a6 --- /dev/null +++ b/nixos/common/modules/nviia-535.nix @@ -0,0 +1,41 @@ +{ pkgs, config, libs, ... }: + +{ + +# Enable OpenGL + hardware.opengl = { + enable = true; + }; + +# Load nvidia driver for Xorg and Wayland + services.xserver.videoDrivers = ["nvidia"]; + + hardware.nvidia.modesetting.enable = true; + hardware.nvidia.powerManagement.enable = false; + hardware.nvidia.powerManagement.finegrained = false; + hardware.nvidia.open = false; + hardware.nvidia.nvidiaSettings = true; +# Special config to load the latest (535 or 550) driver for the support of the 4070 SUPER + hardware.nvidia.package = let + rcu_patch = pkgs.fetchpatch { + url = "https://github.com/gentoo/gentoo/raw/c64caf53/x11-drivers/nvidia-drivers/files/nvidia-drivers-470.223.02-gpl-pfn_valid.patch"; + hash = "sha256-eZiQQp2S/asE7MfGvfe6dA/kdCvek9SYa/FFGp24dVg="; + }; +in config.boot.kernelPackages.nvidiaPackages.mkDriver { + version = "535.154.05"; + sha256_64bit = "sha256-fpUGXKprgt6SYRDxSCemGXLrEsIA6GOinp+0eGbqqJg="; + sha256_aarch64 = "sha256-G0/GiObf/BZMkzzET8HQjdIcvCSqB1uhsinro2HLK9k="; + openSha256 = "sha256-wvRdHguGLxS0mR06P5Qi++pDJBCF8pJ8hr4T8O6TJIo="; + settingsSha256 = "sha256-9wqoDEWY4I7weWW05F4igj1Gj9wjHsREFMztfEmqm10="; + persistencedSha256 = "sha256-d0Q3Lk80JqkS1B54Mahu2yY/WocOqFFbZVBh+ToGhaE="; + + #version = "550.40.07"; + #sha256_64bit = "sha256-KYk2xye37v7ZW7h+uNJM/u8fNf7KyGTZjiaU03dJpK0="; + #sha256_aarch64 = "sha256-AV7KgRXYaQGBFl7zuRcfnTGr8rS5n13nGUIe3mJTXb4="; + #openSha256 = "sha256-mRUTEWVsbjq+psVe+kAT6MjyZuLkG2yRDxCMvDJRL1I="; + #settingsSha256 = "sha256-c30AQa4g4a1EHmaEu1yc05oqY01y+IusbBuq+P6rMCs="; + #persistencedSha256 = "sha256-11tLSY8uUIl4X/roNnxf5yS2PQvHvoNjnd2CB67e870="; + + patches = [ rcu_patch ]; + }; +} diff --git a/nixos/hosts/nixos-desktop/default.nix b/nixos/hosts/nixos-desktop/default.nix index 07cc9905..f25fc36f 100644 --- a/nixos/hosts/nixos-desktop/default.nix +++ b/nixos/hosts/nixos-desktop/default.nix @@ -10,6 +10,7 @@ ../../common/services/podman.nix ../../common/services/tailscale-autoconnect.nix ../../common/modules/builder.nix + ../../common/modules/nvidia-535.nix ]; boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "thunderbolt" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; @@ -41,15 +42,6 @@ enable = true; }; - nvidia = { - open = false; - nvidiaSettings = true; - modesetting.enable = true; - # package = config.boot.kernelPackages.nvidiaPackages.production; # (installs 550) - package = config.boot.kernelPackages.nvidiaPackages.stable; - }; - }; - environment.systemPackages = [ # deployments and development environments inputs.deploy-rs.packages.${system}.deploy-rs