summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhaofeng Li <hello@zhaofeng.li>2022-07-18 03:57:37 -0700
committerKira Bruneau <kira.bruneau@pm.me>2022-08-15 17:28:35 -0400
commit0df91aa122f4cb1543b7db598a83daddc39d5e95 (patch)
treeaddd64290ade82b7d2a37aaffb54c7431131a81f
parentMerge pull request #186040 from kira-bruneau/backport-185848-to-release-22.05 (diff)
downloadnixpkgs-origin/backport-182378-to-release-22.05.tar.gz
mangohud: Build mangoapp and mangohudctl for gamescope integrationorigin/backport-182378-to-release-22.05
(cherry picked from commit 3705020d970627dbb3fc312cf834e2277973bfd6)
-rw-r--r--pkgs/tools/graphics/mangohud/default.nix21
1 files changed, 21 insertions, 0 deletions
diff --git a/pkgs/tools/graphics/mangohud/default.nix b/pkgs/tools/graphics/mangohud/default.nix
index 80d7c1e9d08a..26c1b99216c6 100644
--- a/pkgs/tools/graphics/mangohud/default.nix
+++ b/pkgs/tools/graphics/mangohud/default.nix
@@ -26,7 +26,12 @@
, libXNVCtrl
, wayland
, spdlog
+, glew
+, glfw
+, nlohmann_json
+, xorg
, addOpenGLRunpath
+, gamescopeSupport ? true # build mangoapp and mangohudctl
}:
let
@@ -102,6 +107,10 @@ in stdenv.mkDerivation rec {
"-Dvulkan_datadir=${vulkan-headers}/share"
"-Dwith_wayland=enabled"
"-Duse_system_spdlog=enabled"
+ ] ++ lib.optionals gamescopeSupport [
+ "-Dmangoapp_layer=true"
+ "-Dmangoapp=true"
+ "-Dmangohudctl=true"
];
nativeBuildInputs = [
@@ -122,6 +131,12 @@ in stdenv.mkDerivation rec {
libXNVCtrl
wayland
spdlog
+ ] ++ lib.optionals gamescopeSupport [
+ glew
+ glfw
+ nlohmann_json
+ vulkan-headers
+ xorg.libXrandr
];
# Support 32bit Vulkan applications by linking in 32bit Vulkan layer
@@ -137,6 +152,12 @@ in stdenv.mkDerivation rec {
wrapProgram "$out/bin/mangohud" \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ addOpenGLRunpath.driverLink ]} \
--prefix XDG_DATA_DIRS : "$out/share"
+ '' + lib.optionalString (gamescopeSupport) ''
+ if [[ -e "$out/bin/mangoapp" ]]; then
+ wrapProgram "$out/bin/mangoapp" \
+ --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ addOpenGLRunpath.driverLink ]} \
+ --prefix XDG_DATA_DIRS : "$out/share"
+ fi
'';
meta = with lib; {