From 2fd1b95fad27331307bfd14bda731e5997d60908 Mon Sep 17 00:00:00 2001 From: wchresta <34962284+wchresta@users.noreply.github.com> Date: Sat, 30 Dec 2017 21:06:09 +0100 Subject: steam: add wrapper testing for libGL NixOS: Failing to set hardware.opengl.driSupport32Bit will lead to a confusing error message about missing libGL.so.1. We include a wrapper around the steam bin to test for working 32bit opengl with glxinfo. When failing, we display a proper warning hinting towards the option. Fixes: #19518 --- pkgs/games/steam/chrootenv.nix | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'pkgs/games') diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix index a7392bbc34e9..019b1577e15f 100644 --- a/pkgs/games/steam/chrootenv.nix +++ b/pkgs/games/steam/chrootenv.nix @@ -69,6 +69,9 @@ in buildFHSUserEnv rec { xlibs.libX11 xlibs.libXfixes + # Needed to properly check for libGL.so.1 in steam-wrapper.sh + pkgsi686Linux.glxinfo + # Not formally in runtime but needed by some games gst_all_1.gstreamer gst_all_1.gst-plugins-ugly @@ -103,7 +106,15 @@ in buildFHSUserEnv rec { export TZDIR=/etc/zoneinfo ''; - runScript = "steam"; + runScript = writeScript "steam-wrapper.sh" '' + #!${stdenv.shell} + glxinfo >/dev/null 2>&1 + if [ ! "$?" = "0" ]; then + echo "*** WARNING: Test for 32-bit libGL unsuccessful." + echo " This could mean you forgot to activate hardware.opengl.driSupport32Bit" + fi + steam + ''; passthru.run = buildFHSUserEnv { name = "steam-run"; -- cgit 1.4.1