From d3f90b2d0423b5e099a722bd15fb5df88eb353d3 Mon Sep 17 00:00:00 2001 From: Luigi Sartor Piucco Date: Mon, 1 Mar 2021 16:22:27 -0300 Subject: [PATCH 1/3] steam: add missing vulkan-loader It mostly works without it, but a pressure-vessel maintainer (@smcv) said it's necessary, not having it may cause problems later. --- pkgs/games/steam/fhsenv.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/games/steam/fhsenv.nix b/pkgs/games/steam/fhsenv.nix index 42faaf287d7..5ae812840d0 100644 --- a/pkgs/games/steam/fhsenv.nix +++ b/pkgs/games/steam/fhsenv.nix @@ -140,6 +140,7 @@ in buildFHSUserEnv rec { # dependencies for mesa drivers, needed inside pressure-vessel mesa.drivers + vulkan-loader expat wayland xlibs.libxcb From 877135dad07809579e38d915cf168ed41b0c064c Mon Sep 17 00:00:00 2001 From: Luigi Sartor Piucco Date: Tue, 2 Mar 2021 15:46:21 -0300 Subject: [PATCH 2/3] 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. --- pkgs/games/steam/fhsenv.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkgs/games/steam/fhsenv.nix b/pkgs/games/steam/fhsenv.nix index 5ae812840d0..6692f9bd9b2 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 From 7362bccc8271845383acbc7addc654389f0ff509 Mon Sep 17 00:00:00 2001 From: Luigi Sartor Piucco Date: Tue, 2 Mar 2021 16:17:53 -0300 Subject: [PATCH 3/3] nixos/steam: enable 64 bit DRI by default --- nixos/modules/programs/steam.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/programs/steam.nix b/nixos/modules/programs/steam.nix index 6e9b7729ad6..6b805c374a0 100644 --- a/nixos/modules/programs/steam.nix +++ b/nixos/modules/programs/steam.nix @@ -17,6 +17,7 @@ in { config = mkIf cfg.enable { hardware.opengl = { # this fixes the "glXChooseVisual failed" bug, context: https://github.com/NixOS/nixpkgs/issues/47932 enable = true; + driSupport = true; driSupport32Bit = true; };