@@ -101,7 +101,7 @@ modulesTree = [kernel]
101
101
$ nix-env -i ncurses
102
102
$ export NIX_CFLAGS_LINK=-lncurses
103
103
$ make menuconfig ARCH=<replaceable >arch</replaceable ></screen >
104
-
104
+
105
105
</para >
106
106
</listitem >
107
107
@@ -111,9 +111,9 @@ $ make menuconfig ARCH=<replaceable>arch</replaceable></screen>
111
111
</listitem >
112
112
113
113
</orderedlist >
114
-
114
+
115
115
</para >
116
-
116
+
117
117
</listitem >
118
118
119
119
<listitem >
@@ -409,24 +409,24 @@ it. Place the resulting <filename>package.nix</filename> file into
409
409
<title >Steam in Nix</title >
410
410
411
411
<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
415
415
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
419
419
in $HOME.
420
420
</para >
421
421
<para >
422
422
Nix problems and constraints:
423
423
<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
425
425
scripts point there. Similarly for <filename >/usr/bin/python</filename >
426
426
.</para ></listitem >
427
427
<listitem ><para >We don't have the dynamic loader in <filename >/lib
428
428
</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
430
430
not be patched, as it is checked and rewritten by steam.</para ></listitem >
431
431
<listitem ><para >The steam binary cannot be patched, it's also checked.</para ></listitem >
432
432
</itemizedlist >
@@ -446,10 +446,10 @@ it. Place the resulting <filename>package.nix</filename> file into
446
446
<title >How to play</title >
447
447
448
448
<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 >
453
453
if you are using PulseAudio - this will enable 32bit ALSA apps integration.
454
454
To use the Steam controller, you need to add
455
455
<programlisting >services.udev.extraRules = ''
@@ -470,23 +470,31 @@ it. Place the resulting <filename>package.nix</filename> file into
470
470
471
471
<varlistentry >
472
472
<term >Steam fails to start. What do I do?</term >
473
- <listitem ><para >Try to run
473
+ <listitem ><para >Try to run
474
474
<programlisting >strace steam</programlisting >
475
475
to see what is causing steam to fail.</para ></listitem >
476
476
</varlistentry >
477
477
478
478
<varlistentry >
479
- <term >Using the FOSS Radeon drivers</term >
479
+ <term >Using the FOSS Radeon or nouveau (nvidia) drivers</term >
480
480
<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
485
486
<programlisting >
486
487
libGL error: unable to load driver: radeonsi_dri.so
487
488
libGL error: driver pointer missing
488
489
libGL error: failed to load driver: radeonsi
489
490
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
490
498
libGL error: failed to load driver: swrast</programlisting ></para ></listitem >
491
499
<listitem ><para >
492
500
Steam ships statically linked with a version of libcrypto that
@@ -504,7 +512,7 @@ libGL error: failed to load driver: swrast</programlisting></para></listitem>
504
512
<listitem ><para >
505
513
There is no java in steam chrootenv by default. If you get a message like
506
514
<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
508
516
<programlisting > steam.override { withJava = true; };</programlisting >
509
517
to your configuration.
510
518
</para ></listitem >
@@ -519,14 +527,14 @@ libGL error: failed to load driver: swrast</programlisting></para></listitem>
519
527
520
528
<title >steam-run</title >
521
529
<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
523
531
other linux games that expect a FHS environment.
524
- To do it, add
532
+ To do it, add
525
533
<programlisting >pkgs.(steam.override {
526
534
nativeOnly = true;
527
535
newStdcpp = true;
528
536
}).run</programlisting >
529
- to your configuration, rebuild, and run the game with
537
+ to your configuration, rebuild, and run the game with
530
538
<programlisting >steam-run ./foo</programlisting >
531
539
</para >
532
540
0 commit comments