dregil: Fix suspend/hibernate issue related to nvidia settings

This commit is contained in:
Alexander Kobjolke 2026-02-25 21:44:51 +01:00
parent 892bd5f8e3
commit 4fc9ee5d66
4 changed files with 45 additions and 26 deletions

View file

@ -9,15 +9,6 @@
lib,
...
}:
let
nvidia-offload = pkgs.writeShellScriptBin "nvidia-offload" ''
export __NV_PRIME_RENDER_OFFLOAD=1
export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export __VK_LAYER_NV_optimus=NVIDIA_only
exec "$@"
'';
in
{
imports = [
# Include the results of the hardware scan.
@ -90,7 +81,6 @@ in
wget
ripgrep
git
nvidia-offload
pinentry-qt
];

View file

@ -10,7 +10,10 @@
}:
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
../../modules/wm/nvidia.nix
];
boot.initrd.availableKernelModules = [
"xhci_pci"
@ -92,22 +95,22 @@
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
hardware.nvidia = {
nvidiaSettings = true;
nvidiaPersistenced = true;
open = true;
# hardware.nvidia = {
# nvidiaSettings = true;
# nvidiaPersistenced = true;
# open = true;
# modesetting.enable = true;
package = config.boot.kernelPackages.nvidiaPackages.beta;
# prime = {
# offload.enable = true;
#
# intelBusId = "PCI:1:0:0";
# nvidiaBusId = "PCI:1:0:0";
# intelBusId = "0@0:2:0";
# nvidiaBusId = "1@1:0:0";
# # modesetting.enable = true;
# # package = config.boot.kernelPackages.nvidiaPackages.beta;
# # prime = {
# # offload.enable = true;
# #
# # intelBusId = "PCI:1:0:0";
# # nvidiaBusId = "PCI:1:0:0";
# # intelBusId = "0@0:2:0";
# # nvidiaBusId = "1@1:0:0";
# # };
# };
};
hardware.graphics = {
enable = true;

25
modules/wm/nvidia.nix Normal file
View file

@ -0,0 +1,25 @@
{
config,
...
}:
{
hardware.graphics.enable = true;
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia = {
modesetting.enable = true;
nvidiaPersistenced = true;
powerManagement.enable = true;
powerManagement.finegrained = false;
open = false;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.latest;
};
boot.kernelParams = [
"nvidia-drm.fbdev=1"
"nvidia-drm.modeset=1"
];
}

View file

@ -6,6 +6,7 @@
}:
{
imports = [ ./nvidia.nix ];
# Enable the X11 windowing system.
services = {
dbus = {