about summary refs log tree commit diff
path: root/pkgs/games/steam
diff options
context:
space:
mode:
authorLuigi Sartor Piucco <luigipiucco@gmail.com>2021-03-02 15:46:21 -0300
committerLuigi Sartor Piucco <luigipiucco@gmail.com>2021-03-02 16:15:39 -0300
commit877135dad07809579e38d915cf168ed41b0c064c (patch)
tree93eee5d46af6799e683bb87bd0b67605b13a2946 /pkgs/games/steam
parentd3f90b2d0423b5e099a722bd15fb5df88eb353d3 (diff)
steam: add missing 32 bit nvidia ICD
Games still run for me and most people, but adding this fixes a warning
and may prevent problems later down the line.
Diffstat (limited to 'pkgs/games/steam')
-rw-r--r--pkgs/games/steam/fhsenv.nix11
1 files changed, 9 insertions, 2 deletions
diff --git a/pkgs/games/steam/fhsenv.nix b/pkgs/games/steam/fhsenv.nix
index 5ae812840d062..6692f9bd9b2e9 100644
--- a/pkgs/games/steam/fhsenv.nix
+++ b/pkgs/games/steam/fhsenv.nix
@@ -233,7 +233,14 @@ in buildFHSUserEnv rec {
     libvdpau
   ] ++ steamPackages.steam-runtime-wrapped.overridePkgs) ++ extraLibraries pkgs;
 
-  extraBuildCommands = if (!nativeOnly) then ''
+  extraBuildCommands = ''
+    if [ -f $out/usr/share/vulkan/icd.d/nvidia_icd.json ]; then
+      cp $out/usr/share/vulkan/icd.d/nvidia_icd{,32}.json
+      nvidia32Lib=$(realpath $out/lib32/libGLX_nvidia.so.0 | cut -d'/' -f-4)
+      escapedNvidia32Lib="''${nvidia32Lib//\//\\\/}"
+      sed -i "s/\/nix\/store\/.*\/lib\/libGLX_nvidia\.so\.0/$escapedNvidia32Lib\/lib\/libGLX_nvidia\.so\.0/g" $out/usr/share/vulkan/icd.d/nvidia_icd32.json
+    fi
+  '' + (if (!nativeOnly) then ''
     mkdir -p steamrt
     ln -s ../lib/steam-runtime steamrt/${steam-runtime-wrapped.arch}
     ${lib.optionalString (steam-runtime-wrapped-i686 != null) ''
@@ -246,7 +253,7 @@ in buildFHSUserEnv rec {
     ${lib.optionalString (steam-runtime-wrapped-i686 != null) ''
       ln -s /usr/lib32/libbz2.so usr/lib32/libbz2.so.1.0
     ''}
-  '';
+  '');
 
   extraInstallCommands = ''
     mkdir -p $out/share/applications