nvidia: fix backlight
This commit is contained in:
@@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
host.laptop = true;
|
host.laptop = true;
|
||||||
|
host.nvidia.prime.enable = true;
|
||||||
|
|
||||||
environment.systemPackages = [ pkgs.dbgate ];
|
environment.systemPackages = [ pkgs.dbgate ];
|
||||||
}
|
}
|
||||||
|
|||||||
+17
-1
@@ -7,7 +7,23 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
host.laptop = lib.mkEnableOption "laptop mode";
|
host = {
|
||||||
|
laptop = lib.mkEnableOption "laptop mode";
|
||||||
|
|
||||||
|
nvidia.prime = {
|
||||||
|
enable = lib.mkEnableOption "NVIDIA PRIME offload for hybrid graphics";
|
||||||
|
intelBusId = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "PCI:0:2:0";
|
||||||
|
description = "Intel/iGPU Bus ID used by NVIDIA PRIME.";
|
||||||
|
};
|
||||||
|
nvidiaBusId = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "PCI:1:0:0";
|
||||||
|
description = "NVIDIA dGPU Bus ID used by NVIDIA PRIME.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
|||||||
+27
-10
@@ -1,6 +1,16 @@
|
|||||||
{ config, pkgs-stable, lib, ... }: {
|
{ config, pkgs-stable, lib, ... }: let
|
||||||
boot.kernelParams = [ "nvidia-drm.modeset=1" ];
|
primeCfg = config.host.nvidia.prime;
|
||||||
services.xserver.videoDrivers = [ "nvidia" ];
|
isPrimeOffload = primeCfg.enable;
|
||||||
|
in {
|
||||||
|
boot = {
|
||||||
|
kernelParams = [ "nvidia-drm.modeset=1" ];
|
||||||
|
initrd.kernelModules = lib.optionals isPrimeOffload [ "i915" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
services.xserver.videoDrivers =
|
||||||
|
if isPrimeOffload
|
||||||
|
then [ "modesetting" "nvidia" ]
|
||||||
|
else [ "nvidia" ];
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
graphics = {
|
graphics = {
|
||||||
@@ -11,7 +21,7 @@
|
|||||||
intel-media-driver
|
intel-media-driver
|
||||||
libvdpau-va-gl
|
libvdpau-va-gl
|
||||||
];
|
];
|
||||||
extraPackages32 = with pkgs-stable.pkgsi686Linux; [nvidia-vaapi-driver intel-media-driver];
|
extraPackages32 = with pkgs-stable.pkgsi686Linux; [ nvidia-vaapi-driver intel-media-driver ];
|
||||||
};
|
};
|
||||||
|
|
||||||
nvidia = {
|
nvidia = {
|
||||||
@@ -24,21 +34,28 @@
|
|||||||
nvidiaSettings = true;
|
nvidiaSettings = true;
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
|
|
||||||
prime = lib.optionalAttrs config.host.laptop {
|
prime = lib.optionalAttrs isPrimeOffload {
|
||||||
intelBusId = "PCI:0:2:0";
|
offload = {
|
||||||
nvidiaBusId = "PCI:1:0:0";
|
enable = true;
|
||||||
|
enableOffloadCmd = true;
|
||||||
|
};
|
||||||
|
intelBusId = primeCfg.intelBusId;
|
||||||
|
nvidiaBusId = primeCfg.nvidiaBusId;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.sessionVariables = {
|
environment.sessionVariables = {
|
||||||
|
__GL_VRR_ALLOWED = 1;
|
||||||
|
ELECTRON_OZONE_PLATFORM_HINT = "auto";
|
||||||
|
NIXOS_OZONE_WL = 1;
|
||||||
|
} // lib.optionalAttrs isPrimeOffload {
|
||||||
|
LIBVA_DRIVER_NAME = "iHD";
|
||||||
|
} // lib.optionalAttrs (!isPrimeOffload) {
|
||||||
WLR_NO_HARDWARE_CURSORS = 1;
|
WLR_NO_HARDWARE_CURSORS = 1;
|
||||||
WLR_DRM_NO_ATOMIC = 1;
|
WLR_DRM_NO_ATOMIC = 1;
|
||||||
GBM_BACKEND = "nvidia-drm";
|
GBM_BACKEND = "nvidia-drm";
|
||||||
LIBVA_DRIVER_NAME = "nvidia";
|
LIBVA_DRIVER_NAME = "nvidia";
|
||||||
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
||||||
__GL_VRR_ALLOWED = 1;
|
|
||||||
ELECTRON_OZONE_PLATFORM_HINT = "auto";
|
|
||||||
NIXOS_OZONE_WL = 1;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user