diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-02-27 02:57:35 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-02-27 03:02:31 +0000 |
commit | ab630003f4951542d7f246f25c11a19dc718bb64 (patch) | |
tree | f62eee9a6e91ad9d6ce6a62d68facd23c3c36dbe /modules/nixos-hardware/common/gpu/nvidia.nix | |
parent | 7eb57d645ab60d8e61911c1aebc221cc2b9d98f8 (diff) | |
parent | 115770eed0c0fa50c1277cd0f7fe0f15501dbc43 (diff) | |
download | nixlib-ab630003f4951542d7f246f25c11a19dc718bb64.tar nixlib-ab630003f4951542d7f246f25c11a19dc718bb64.tar.gz nixlib-ab630003f4951542d7f246f25c11a19dc718bb64.tar.bz2 nixlib-ab630003f4951542d7f246f25c11a19dc718bb64.tar.lz nixlib-ab630003f4951542d7f246f25c11a19dc718bb64.tar.xz nixlib-ab630003f4951542d7f246f25c11a19dc718bb64.tar.zst nixlib-ab630003f4951542d7f246f25c11a19dc718bb64.zip |
modules/nixos-hardware: merge 115770eed0c
Diffstat (limited to 'modules/nixos-hardware/common/gpu/nvidia.nix')
-rw-r--r-- | modules/nixos-hardware/common/gpu/nvidia.nix | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/modules/nixos-hardware/common/gpu/nvidia.nix b/modules/nixos-hardware/common/gpu/nvidia.nix new file mode 100644 index 000000000000..fed9fa98724c --- /dev/null +++ b/modules/nixos-hardware/common/gpu/nvidia.nix @@ -0,0 +1,22 @@ +{ lib, pkgs, ... }: + +# This creates a new 'nvidia-offload' program that runs the application passed to it on the GPU +# As per https://nixos.wiki/wiki/Nvidia +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 -a "$0" "$@" + ''; +in +{ + services.xserver.videoDrivers = lib.mkDefault [ "nvidia" ]; + environment.systemPackages = [ nvidia-offload ]; + + hardware.nvidia.prime = { + offload.enable = lib.mkDefault true; + # Hardware should specify the bus ID for intel/nvidia devices + }; +} |