diff options
author | Kira Bruneau <kira.bruneau@pm.me> | 2023-04-13 23:20:12 -0400 |
---|---|---|
committer | Kira Bruneau <kira.bruneau@pm.me> | 2023-04-14 11:48:58 -0400 |
commit | 62bad427ffb0104cf5c577ca45557f7d3bce7faf (patch) | |
tree | d164950131e4b8c9628f6880f76bbe748dc41e1f /pkgs/tools/graphics/mangohud | |
parent | d9cb109138cb32c7441794072e6fc122e8b08473 (diff) |
mangohud: suport nvidia cards when directly using vulkan layer
Before this change, NVIDIA GPUs were only supported when using the mangohud & mangoapp binaries. This extends support to direct use of the Vulkan layer (enabled through `MANGOHUD=1`).
Diffstat (limited to 'pkgs/tools/graphics/mangohud')
-rw-r--r-- | pkgs/tools/graphics/mangohud/default.nix | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/pkgs/tools/graphics/mangohud/default.nix b/pkgs/tools/graphics/mangohud/default.nix index 891f8806fab4f..82f2c65009a20 100644 --- a/pkgs/tools/graphics/mangohud/default.nix +++ b/pkgs/tools/graphics/mangohud/default.nix @@ -12,6 +12,7 @@ , dbus , hwdata , mangohud32 +, addOpenGLRunpath , appstream , glslang , makeWrapper @@ -28,7 +29,6 @@ , glfw , nlohmann_json , xorg -, addOpenGLRunpath , gamescopeSupport ? true # build mangoapp and mangohudctl }: @@ -134,6 +134,7 @@ stdenv.mkDerivation (finalAttrs: { ]; nativeBuildInputs = [ + addOpenGLRunpath appstream glslang makeWrapper @@ -167,18 +168,17 @@ stdenv.mkDerivation (finalAttrs: { "$out/share/vulkan/implicit_layer.d/MangoHud.x86.json" ''; - # Support Nvidia cards by adding OpenGL path and support overlaying - # Vulkan applications without requiring MangoHud to be installed postFixup = '' + # Add OpenGL driver path to RUNPATH to support NVIDIA cards + addOpenGLRunpath "$out/lib/mangohud/libMangoHud.so" + ${lib.optionalString gamescopeSupport '' + addOpenGLRunpath "$out/bin/mangoapp" + ''} + + # Prefix XDG_DATA_DIRS to support overlaying Vulkan apps without + # requiring MangoHud to be installed 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; { |