From 28ce1cf67ba3bb5967356ecb01632e66a289466b Mon Sep 17 00:00:00 2001 From: Benjamin Palko Date: Thu, 25 Jul 2024 21:13:28 -0400 Subject: [PATCH] sort out nvidia and hyprland --- hypr/config/environments/nvidia.conf | 21 ++++++++++++---- nixos/nvidia.nix | 36 ++++++++++++++++++++++------ 2 files changed, 45 insertions(+), 12 deletions(-) diff --git a/hypr/config/environments/nvidia.conf b/hypr/config/environments/nvidia.conf index 359954b..2538462 100644 --- a/hypr/config/environments/nvidia.conf +++ b/hypr/config/environments/nvidia.conf @@ -4,13 +4,24 @@ # ----------------------------------------------------- # https://wiki.hyprland.org/Nvidia/ -env = XCURSOR_SIZE,24 -env = QT_QPA_PLATFORM,wayland -env = WLR_NO_HARDWARE_CURSORS,1 +#env = XCURSOR_SIZE,24 +#env = QT_QPA_PLATFORM,wayland +#env = WLR_NO_HARDWARE_CURSORS,1 +#env = LIBVA_DRIVER_NAME,nvidia +#env = XDG_SESSION_TYPE,wayland +#env = GBM_BACKEND,nvidia-drm +#env = __GLX_VENDOR_LIBRARY_NAME,nvidia +# env = __GL_VRR_ALLOWED,1 +# env = WLR_DRM_NO_ATOMIC,1 + +env = NVD_BACKEND,direct + env = LIBVA_DRIVER_NAME,nvidia env = XDG_SESSION_TYPE,wayland env = GBM_BACKEND,nvidia-drm env = __GLX_VENDOR_LIBRARY_NAME,nvidia -# env = __GL_VRR_ALLOWED,1 -# env = WLR_DRM_NO_ATOMIC,1 + +cursor { + no_hardware_cursors = true +} diff --git a/nixos/nvidia.nix b/nixos/nvidia.nix index 6761507..5ae22f2 100644 --- a/nixos/nvidia.nix +++ b/nixos/nvidia.nix @@ -1,17 +1,39 @@ -{ config, lib, pkgs, ... }: +{ config, pkgs, ... }: { - boot.kernelParams = [ "nvidia_drm.fbdev=1" ]; + services.xserver.videoDrivers = [ "nvidia" ]; + # boot.kernelParams = [ "nvidia_drm.fbdev=1" ]; hardware.graphics = { enable = true; - extraPackages = with pkgs; [ - nvidia-vaapi-driver - ]; + extraPackages = with pkgs; [ nvidia-vaapi-driver ]; }; hardware.nvidia = { + # Modesetting is required. modesetting.enable = true; + + # Nvidia power management. Experimental, and can cause sleep/suspend to fail. + # Enable this if you have graphical corruption issues or application crashes after waking + # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead + # of just the bare essentials. powerManagement.enable = false; + + # Fine-grained power management. Turns off GPU when not in use. + # Experimental and only works on modern Nvidia GPUs (Turing or newer). powerManagement.finegrained = false; - package = config.boot.kernelPackages.nvidiaPackages.stable; + + # Use the NVidia open source kernel module (not to be confused with the + # independent third-party "nouveau" open source driver). + # Support is limited to the Turing and later architectures. Full list of + # supported GPUs is at: + # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus + # Only available from driver 515.43.04+ + # Currently alpha-quality/buggy, so false is currently the recommended setting. + open = false; + + # Enable the Nvidia settings menu, + # accessible via `nvidia-settings`. + nvidiaSettings = true; + + # Optionally, you may need to select the appropriate driver version for your specific GPU. + package = config.boot.kernelPackages.nvidiaPackages.production; }; - services.xserver.videoDrivers = ["nvidia"]; }