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.
This commit is contained in:
Luigi Sartor Piucco 2021-03-02 15:46:21 -03:00
parent d3f90b2d04
commit 877135dad0

View file

@ -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