nvidia: support application profiles

Closes #22666.
wip/yesman
Nikolay Amiantov 7 years ago
parent f6eedf0867
commit 22750b36fd
  1. 4
      nixos/modules/hardware/video/nvidia.nix
  2. 7
      pkgs/os-specific/linux/nvidia-x11/builder.sh
  3. 1
      pkgs/os-specific/linux/nvidia-x11/default.nix
  4. 3
      pkgs/os-specific/linux/nvidia-x11/generic.nix
  5. 1
      pkgs/os-specific/linux/nvidia-x11/legacy173.nix
  6. 4
      pkgs/os-specific/linux/nvidia-x11/settings.nix

@ -49,6 +49,10 @@ in
Option "RandRRotation" "on"
'';
environment.etc."nvidia/nvidia-application-profiles-rc" = mkIf nvidia_x11.useProfiles {
source = "${nvidia_x11.bin}/share/nvidia/nvidia-application-profiles-rc";
};
hardware.opengl.package = nvidiaPackage nvidia_x11 pkgs;
hardware.opengl.package32 = nvidiaPackage nvidia_libs32 pkgs_i686;

@ -68,6 +68,13 @@ installPhase() {
nuke-refs $i
cp $i $bin/lib/modules/$kernelVersion/misc/
done
# Install application profiles.
if [ "$useProfiles" = "1" ]; then
mkdir -p $bin/share/nvidia
cp nvidia-application-profiles-*-rc $bin/share/nvidia/nvidia-application-profiles-rc
cp nvidia-application-profiles-*-key-documentation $bin/share/nvidia/nvidia-application-profiles-key-documentation
fi
fi
# All libs except GUI-only are installed now, so fixup them.

@ -37,6 +37,7 @@ in
settingsSha256 = "0q92xw4fr9p5nbhj1plynm50d32881861daxfwrisywszqijhmlf";
persistencedSha256 = null;
useGLVND = false;
useProfiles = false;
};
legacy_173 = callPackage ./legacy173.nix { };

@ -4,6 +4,7 @@
, settingsSha256
, persistencedSha256
, useGLVND ? true
, useProfiles ? true
, preferGtk2 ? false
}:
@ -41,7 +42,7 @@ let
}
else throw "nvidia-x11 does not support platform ${stdenv.system}";
inherit version useGLVND;
inherit version useGLVND useProfiles;
inherit (stdenv) system;
outputs = [ "out" ] ++ optional (!libsOnly) "bin";

@ -42,6 +42,7 @@ stdenv.mkDerivation {
settings = null;
persistenced = null;
useGLVND = false;
useProfiles = false;
};
meta = {

@ -24,6 +24,10 @@ stdenv.mkDerivation rec {
makeFlags = [ "NV_USE_BUNDLED_LIBJANSSON=0" ];
installFlags = [ "PREFIX=$(out)" ];
postPatch = lib.optionalString nvidia_x11.useProfiles ''
sed -i 's,/usr/share/nvidia/,${nvidia_x11.bin}/share/nvidia/,g' src/gtk+-2.x/ctkappprofile.c
'';
preBuild = ''
if [ -e src/libXNVCtrl/libXNVCtrl.a ]; then
( cd src/libXNVCtrl

Loading…
Cancel
Save