Skip to content

Commit a9a3af4

Browse files
committedSep 10, 2017
manual: steam on nouveau also requires newStdCpp
1 parent 1550242 commit a9a3af4

File tree

1 file changed

+33
-25
lines changed

1 file changed

+33
-25
lines changed
 

‎doc/package-notes.xml

+33-25
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ modulesTree = [kernel]
101101
$ nix-env -i ncurses
102102
$ export NIX_CFLAGS_LINK=-lncurses
103103
$ make menuconfig ARCH=<replaceable>arch</replaceable></screen>
104-
104+
105105
</para>
106106
</listitem>
107107

@@ -111,9 +111,9 @@ $ make menuconfig ARCH=<replaceable>arch</replaceable></screen>
111111
</listitem>
112112

113113
</orderedlist>
114-
114+
115115
</para>
116-
116+
117117
</listitem>
118118

119119
<listitem>
@@ -409,24 +409,24 @@ it. Place the resulting <filename>package.nix</filename> file into
409409
<title>Steam in Nix</title>
410410

411411
<para>
412-
Steam is distributed as a <filename>.deb</filename> file, for now only
413-
as an i686 package (the amd64 package only has documentation).
414-
When unpacked, it has a script called <filename>steam</filename> that
412+
Steam is distributed as a <filename>.deb</filename> file, for now only
413+
as an i686 package (the amd64 package only has documentation).
414+
When unpacked, it has a script called <filename>steam</filename> that
415415
in ubuntu (their target distro) would go to <filename>/usr/bin
416-
</filename>. When run for the first time, this script copies some
417-
files to the user's home, which include another script that is the
418-
ultimate responsible for launching the steam binary, which is also
416+
</filename>. When run for the first time, this script copies some
417+
files to the user's home, which include another script that is the
418+
ultimate responsible for launching the steam binary, which is also
419419
in $HOME.
420420
</para>
421421
<para>
422422
Nix problems and constraints:
423423
<itemizedlist>
424-
<listitem><para>We don't have <filename>/bin/bash</filename> and many
424+
<listitem><para>We don't have <filename>/bin/bash</filename> and many
425425
scripts point there. Similarly for <filename>/usr/bin/python</filename>
426426
.</para></listitem>
427427
<listitem><para>We don't have the dynamic loader in <filename>/lib
428428
</filename>.</para></listitem>
429-
<listitem><para>The <filename>steam.sh</filename> script in $HOME can
429+
<listitem><para>The <filename>steam.sh</filename> script in $HOME can
430430
not be patched, as it is checked and rewritten by steam.</para></listitem>
431431
<listitem><para>The steam binary cannot be patched, it's also checked.</para></listitem>
432432
</itemizedlist>
@@ -446,10 +446,10 @@ it. Place the resulting <filename>package.nix</filename> file into
446446
<title>How to play</title>
447447

448448
<para>
449-
For 64-bit systems it's important to have
450-
<programlisting>hardware.opengl.driSupport32Bit = true;</programlisting>
451-
in your <filename>/etc/nixos/configuration.nix</filename>. You'll also need
452-
<programlisting>hardware.pulseaudio.support32Bit = true;</programlisting>
449+
For 64-bit systems it's important to have
450+
<programlisting>hardware.opengl.driSupport32Bit = true;</programlisting>
451+
in your <filename>/etc/nixos/configuration.nix</filename>. You'll also need
452+
<programlisting>hardware.pulseaudio.support32Bit = true;</programlisting>
453453
if you are using PulseAudio - this will enable 32bit ALSA apps integration.
454454
To use the Steam controller, you need to add
455455
<programlisting>services.udev.extraRules = ''
@@ -470,23 +470,31 @@ it. Place the resulting <filename>package.nix</filename> file into
470470

471471
<varlistentry>
472472
<term>Steam fails to start. What do I do?</term>
473-
<listitem><para>Try to run
473+
<listitem><para>Try to run
474474
<programlisting>strace steam</programlisting>
475475
to see what is causing steam to fail.</para></listitem>
476476
</varlistentry>
477477

478478
<varlistentry>
479-
<term>Using the FOSS Radeon drivers</term>
479+
<term>Using the FOSS Radeon or nouveau (nvidia) drivers</term>
480480
<listitem><itemizedlist><listitem><para>
481-
The open source radeon drivers need a newer libc++ than is provided
482-
by the default runtime, which leads to a crash on launch. Use
483-
<programlisting>environment.systemPackages = [(pkgs.steam.override { newStdcpp = true; })];</programlisting>
484-
in your config if you get an error like
481+
Both the open source radeon drivers as well as the nouveau drivers (nvidia)
482+
need a newer libc++ than is provided by the default runtime, which leads to a
483+
crash on launch. Use <programlisting>environment.systemPackages =
484+
[(pkgs.steam.override { newStdcpp = true; })];</programlisting> in your config
485+
if you get an error like
485486
<programlisting>
486487
libGL error: unable to load driver: radeonsi_dri.so
487488
libGL error: driver pointer missing
488489
libGL error: failed to load driver: radeonsi
489490
libGL error: unable to load driver: swrast_dri.so
491+
libGL error: failed to load driver: swrast</programlisting>
492+
or
493+
<programlisting>
494+
libGL error: unable to load driver: nouveau_dri.so
495+
libGL error: driver pointer missing
496+
libGL error: failed to load driver: nouveau
497+
libGL error: unable to load driver: swrast_dri.so
490498
libGL error: failed to load driver: swrast</programlisting></para></listitem>
491499
<listitem><para>
492500
Steam ships statically linked with a version of libcrypto that
@@ -504,7 +512,7 @@ libGL error: failed to load driver: swrast</programlisting></para></listitem>
504512
<listitem><para>
505513
There is no java in steam chrootenv by default. If you get a message like
506514
<programlisting>/home/foo/.local/share/Steam/SteamApps/common/towns/towns.sh: line 1: java: command not found</programlisting>
507-
You need to add
515+
You need to add
508516
<programlisting> steam.override { withJava = true; };</programlisting>
509517
to your configuration.
510518
</para></listitem>
@@ -519,14 +527,14 @@ libGL error: failed to load driver: swrast</programlisting></para></listitem>
519527

520528
<title>steam-run</title>
521529
<para>
522-
The FHS-compatible chroot used for steam can also be used to run
530+
The FHS-compatible chroot used for steam can also be used to run
523531
other linux games that expect a FHS environment.
524-
To do it, add
532+
To do it, add
525533
<programlisting>pkgs.(steam.override {
526534
nativeOnly = true;
527535
newStdcpp = true;
528536
}).run</programlisting>
529-
to your configuration, rebuild, and run the game with
537+
to your configuration, rebuild, and run the game with
530538
<programlisting>steam-run ./foo</programlisting>
531539
</para>
532540

0 commit comments

Comments
 (0)
Please sign in to comment.