From a9a3af423fc734de0489ed10660509c1e00102fc Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Sun, 10 Sep 2017 11:18:00 +0800 Subject: manual: steam on nouveau also requires newStdCpp --- doc/package-notes.xml | 58 +++++++++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 25 deletions(-) (limited to 'doc/package-notes.xml') diff --git a/doc/package-notes.xml b/doc/package-notes.xml index 230f0ec7b93f..e1aea62f7848 100644 --- a/doc/package-notes.xml +++ b/doc/package-notes.xml @@ -101,7 +101,7 @@ modulesTree = [kernel] $ nix-env -i ncurses $ export NIX_CFLAGS_LINK=-lncurses $ make menuconfig ARCH=arch - + @@ -111,9 +111,9 @@ $ make menuconfig ARCH=arch - + - + @@ -409,24 +409,24 @@ it. Place the resulting package.nix file into Steam in Nix - Steam is distributed as a .deb file, for now only - as an i686 package (the amd64 package only has documentation). - When unpacked, it has a script called steam that + Steam is distributed as a .deb file, for now only + as an i686 package (the amd64 package only has documentation). + When unpacked, it has a script called steam that in ubuntu (their target distro) would go to /usr/bin - . When run for the first time, this script copies some - files to the user's home, which include another script that is the - ultimate responsible for launching the steam binary, which is also + . When run for the first time, this script copies some + files to the user's home, which include another script that is the + ultimate responsible for launching the steam binary, which is also in $HOME. Nix problems and constraints: - We don't have /bin/bash and many + We don't have /bin/bash and many scripts point there. Similarly for /usr/bin/python . We don't have the dynamic loader in /lib . - The steam.sh script in $HOME can + The steam.sh script in $HOME can not be patched, as it is checked and rewritten by steam. The steam binary cannot be patched, it's also checked. @@ -446,10 +446,10 @@ it. Place the resulting package.nix file into How to play - For 64-bit systems it's important to have - hardware.opengl.driSupport32Bit = true; - in your /etc/nixos/configuration.nix. You'll also need - hardware.pulseaudio.support32Bit = true; + For 64-bit systems it's important to have + hardware.opengl.driSupport32Bit = true; + in your /etc/nixos/configuration.nix. You'll also need + hardware.pulseaudio.support32Bit = true; if you are using PulseAudio - this will enable 32bit ALSA apps integration. To use the Steam controller, you need to add services.udev.extraRules = '' @@ -470,23 +470,31 @@ it. Place the resulting package.nix file into Steam fails to start. What do I do? - Try to run + Try to run strace steam to see what is causing steam to fail. - Using the FOSS Radeon drivers + Using the FOSS Radeon or nouveau (nvidia) drivers - The open source radeon drivers need a newer libc++ than is provided - by the default runtime, which leads to a crash on launch. Use - environment.systemPackages = [(pkgs.steam.override { newStdcpp = true; })]; - in your config if you get an error like + Both the open source radeon drivers as well as the nouveau drivers (nvidia) + need a newer libc++ than is provided by the default runtime, which leads to a + crash on launch. Use environment.systemPackages = + [(pkgs.steam.override { newStdcpp = true; })]; in your config + if you get an error like libGL error: unable to load driver: radeonsi_dri.so libGL error: driver pointer missing libGL error: failed to load driver: radeonsi libGL error: unable to load driver: swrast_dri.so +libGL error: failed to load driver: swrast + or + +libGL error: unable to load driver: nouveau_dri.so +libGL error: driver pointer missing +libGL error: failed to load driver: nouveau +libGL error: unable to load driver: swrast_dri.so libGL error: failed to load driver: swrast Steam ships statically linked with a version of libcrypto that @@ -504,7 +512,7 @@ libGL error: failed to load driver: swrast There is no java in steam chrootenv by default. If you get a message like /home/foo/.local/share/Steam/SteamApps/common/towns/towns.sh: line 1: java: command not found - You need to add + You need to add steam.override { withJava = true; }; to your configuration. @@ -519,14 +527,14 @@ libGL error: failed to load driver: swrast steam-run -The FHS-compatible chroot used for steam can also be used to run +The FHS-compatible chroot used for steam can also be used to run other linux games that expect a FHS environment. -To do it, add +To do it, add pkgs.(steam.override { nativeOnly = true; newStdcpp = true; }).run -to your configuration, rebuild, and run the game with +to your configuration, rebuild, and run the game with steam-run ./foo -- cgit 1.4.1