diff --git a/system/modules/boot/kernel/default.nix b/system/modules/boot/kernel/default.nix index 3370adcc..72fa3795 100644 --- a/system/modules/boot/kernel/default.nix +++ b/system/modules/boot/kernel/default.nix @@ -56,6 +56,8 @@ in { ++ ( if cfg.hardware == "amd" then ["amd_pstate=active"] + else if cfg.hardware == "nvidia" + then ["nvidia-drm.modeset=1" "nvidia-drm.fbdev=1"] else [] ) ++ cfg.extraKernelParams; diff --git a/system/modules/hardware/graphics/nvidia/default.nix b/system/modules/hardware/graphics/nvidia/default.nix index ba11e7dc..febba821 100644 --- a/system/modules/hardware/graphics/nvidia/default.nix +++ b/system/modules/hardware/graphics/nvidia/default.nix @@ -5,12 +5,14 @@ ... }: let nvidia-offload = pkgs.writeShellScriptBin "nvidia-offload" '' - export __NV_PRIME_RENDER_OFFLOAD=1 - export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 + export LIBVA_DRIVER_NAME=nvidia + export GBM_BACKEND=nvidia-drm export __GLX_VENDOR_LIBRARY_NAME=nvidia - export __VK_LAYER_NV_optimus=NVIDIA_only - export __ELECTRON_OZONE_PLATFORM_HINT=auto - exec "$@" + export __GL_VRR_ALLOWED=1 + export XDG_SESSION_TYPE=wayland + export NVD_BACKEND=direct + export ELECTRON_OZONE_PLATFORM_HINT=auto + exec "$@" ''; inherit (lib) types mkIf mkEnableOption mkOption; cfg = config.modules.hardware.graphics.nvidia;