From eb94f6b5274832eb5cf3d64db399c231fbe8d784 Mon Sep 17 00:00:00 2001 From: Hadi <112569860+anotherhadi@users.noreply.github.com> Date: Fri, 14 Jun 2024 10:03:29 +0200 Subject: [PATCH] Update --- hosts/laptop/configuration.nix | 5 +-- hosts/shared/nvidia.nix | 67 +++++++++++++++++++++++++--------- hosts/shared/testnvidia.nix | 52 -------------------------- 3 files changed, 51 insertions(+), 73 deletions(-) delete mode 100644 hosts/shared/testnvidia.nix diff --git a/hosts/laptop/configuration.nix b/hosts/laptop/configuration.nix index 472d6db..589f5e1 100644 --- a/hosts/laptop/configuration.nix +++ b/hosts/laptop/configuration.nix @@ -2,9 +2,8 @@ imports = [ ./hardware-configuration.nix ../shared/fonts.nix - # ../shared/nvidia.nix - # ../shared/prime.nix - ../shared/testnvidia.nix + ../shared/nvidia.nix + ../shared/prime.nix ../shared/tuigreet.nix ./variables.nix ]; diff --git a/hosts/shared/nvidia.nix b/hosts/shared/nvidia.nix index 25ece68..579de2c 100644 --- a/hosts/shared/nvidia.nix +++ b/hosts/shared/nvidia.nix @@ -1,21 +1,52 @@ -{ config, pkgs, ... }: { - hardware.opengl = { - enable = true; - driSupport = true; - driSupport32Bit = true; - extraPackages = with pkgs; [ vaapiVdpau libvdpau-va-gl ]; +{ lib, pkgs, config, ... }: +let + nvidiaDriverChannel = + config.boot.kernelPackages.nvidiaPackages.beta; # stable, latest, etc. +in { + # Load nvidia driver for Xorg and Wayland + services.xserver.videoDrivers = [ "nvidia" ]; # or "nvidiaLegacy470 etc. + boot.kernelParams = + lib.optionals (lib.elem "nvidia" config.services.xserver.videoDrivers) [ + "nvidia-drm.modeset=1" + "nvidia_drm.fbdev=1" + ]; + environment.variables = { + VK_DRIVER_FILES = + /run/opengl-driver/share/vulkan/icd.d/nvidia_icd.x86_64.json; + GBM_BACKEND = "nvidia-drm"; + WLR_NO_HARDWARE_CURSORS = "1"; + LIBVA_DRIVER_NAME = "nvidia"; # hardware acceleration + __GLX_VENDOR_LIBRARY_NAME = "nvidia"; }; - - services.xserver.videoDrivers = [ "nvidia" ]; - - boot.kernelParams = [ "nvidia.NVreg_PreserveVideoMemoryAllocations=1" ]; - - hardware.nvidia = { - modesetting.enable = true; - powerManagement.enable = true; - powerManagement.finegrained = false; - open = false; - nvidiaSettings = true; - package = config.boot.kernelPackages.nvidiaPackages.stable; + nixpkgs.config = { + nvidia.acceptLicense = true; + allowUnfreePredicate = pkg: + builtins.elem (lib.getName pkg) [ + "cudatoolkit" + "nvidia-persistenced" + "nvidia-settings" + "nvidia-x11" + ]; + }; + hardware = { + nvidia = { + open = false; + nvidiaSettings = false; + powerManagement.enable = + false; # This can cause sleep/suspend to fail and saves entire VRAM to /tmp/ + modesetting.enable = true; + package = nvidiaDriverChannel; + }; + opengl = { + enable = true; + package = nvidiaDriverChannel; + driSupport = true; + driSupport32Bit = true; + extraPackages = with pkgs; [ + nvidia-vaapi-driver + vaapiVdpau + libvdpau-va-gl + ]; + }; }; } diff --git a/hosts/shared/testnvidia.nix b/hosts/shared/testnvidia.nix deleted file mode 100644 index 579de2c..0000000 --- a/hosts/shared/testnvidia.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ lib, pkgs, config, ... }: -let - nvidiaDriverChannel = - config.boot.kernelPackages.nvidiaPackages.beta; # stable, latest, etc. -in { - # Load nvidia driver for Xorg and Wayland - services.xserver.videoDrivers = [ "nvidia" ]; # or "nvidiaLegacy470 etc. - boot.kernelParams = - lib.optionals (lib.elem "nvidia" config.services.xserver.videoDrivers) [ - "nvidia-drm.modeset=1" - "nvidia_drm.fbdev=1" - ]; - environment.variables = { - VK_DRIVER_FILES = - /run/opengl-driver/share/vulkan/icd.d/nvidia_icd.x86_64.json; - GBM_BACKEND = "nvidia-drm"; - WLR_NO_HARDWARE_CURSORS = "1"; - LIBVA_DRIVER_NAME = "nvidia"; # hardware acceleration - __GLX_VENDOR_LIBRARY_NAME = "nvidia"; - }; - nixpkgs.config = { - nvidia.acceptLicense = true; - allowUnfreePredicate = pkg: - builtins.elem (lib.getName pkg) [ - "cudatoolkit" - "nvidia-persistenced" - "nvidia-settings" - "nvidia-x11" - ]; - }; - hardware = { - nvidia = { - open = false; - nvidiaSettings = false; - powerManagement.enable = - false; # This can cause sleep/suspend to fail and saves entire VRAM to /tmp/ - modesetting.enable = true; - package = nvidiaDriverChannel; - }; - opengl = { - enable = true; - package = nvidiaDriverChannel; - driSupport = true; - driSupport32Bit = true; - extraPackages = with pkgs; [ - nvidia-vaapi-driver - vaapiVdpau - libvdpau-va-gl - ]; - }; - }; -}