From 1a37a30af7f7141df8a52972cb80557342fe9bc5 Mon Sep 17 00:00:00 2001 From: Atemu Date: Thu, 30 Jun 2022 00:40:01 +0200 Subject: [PATCH 1/2] libstrangle: use direct nix store path in layer json This allows you to load libstrangle without setting LD_LIBRARY_PATH to include it. Only ENABLE_VK_LAYER_TORKEL104_libstrangle=1 is required now, as expected of an implicit layer. Previously, you were required to run your VK app via the wrapper: STRANGLE_FPS=30 strangle vkcube Now you can control it via simple environment variables alone: ENABLE_VK_LAYER_TORKEL104_libstrangle=1 STRANGLE_FPS=30 vkcube --- pkgs/tools/X11/libstrangle/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/tools/X11/libstrangle/default.nix b/pkgs/tools/X11/libstrangle/default.nix index 64992a9b5ee8..e0d28dfde329 100644 --- a/pkgs/tools/X11/libstrangle/default.nix +++ b/pkgs/tools/X11/libstrangle/default.nix @@ -23,6 +23,10 @@ stdenv.mkDerivation rec { substituteAllInPlace src/strangle.sh substituteAllInPlace src/stranglevk.sh ''; + postInstall = '' + substituteInPlace $out/share/vulkan/implicit_layer.d/libstrangle_vk.json \ + --replace "libstrangle_vk.so" "$out/lib/libstrangle/lib64/libstrangle_vk.so" + ''; meta = with lib; { homepage = "https://gitlab.com/torkel104/libstrangle"; From 5194de18eed275df9cec6635cf2435ffe0940b37 Mon Sep 17 00:00:00 2001 From: Atemu Date: Thu, 7 Jul 2022 18:33:27 +0200 Subject: [PATCH 2/2] libstrangle: support 32bit via implicit layer --- pkgs/tools/X11/libstrangle/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/tools/X11/libstrangle/default.nix b/pkgs/tools/X11/libstrangle/default.nix index e0d28dfde329..037c878bd12e 100644 --- a/pkgs/tools/X11/libstrangle/default.nix +++ b/pkgs/tools/X11/libstrangle/default.nix @@ -24,6 +24,8 @@ stdenv.mkDerivation rec { substituteAllInPlace src/stranglevk.sh ''; postInstall = '' + substitute $out/share/vulkan/implicit_layer.d/libstrangle_vk.json $out/share/vulkan/implicit_layer.d/libstrangle_vk.x86.json \ + --replace "libstrangle_vk.so" "$out/lib/libstrangle/lib32/libstrangle_vk.so" substituteInPlace $out/share/vulkan/implicit_layer.d/libstrangle_vk.json \ --replace "libstrangle_vk.so" "$out/lib/libstrangle/lib64/libstrangle_vk.so" '';