aboutsummaryrefslogtreecommitdiff
path: root/content/docs/gentoo/steam.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/docs/gentoo/steam.md')
-rw-r--r--content/docs/gentoo/steam.md65
1 files changed, 65 insertions, 0 deletions
diff --git a/content/docs/gentoo/steam.md b/content/docs/gentoo/steam.md
new file mode 100644
index 0000000..23b14b2
--- /dev/null
+++ b/content/docs/gentoo/steam.md
@@ -0,0 +1,65 @@
+---
+title: "Steam"
+linkTitle: "Steam"
+weight: 1
+description: >
+ How to make steam work seamlessly on gentoo with a chroot
+---
+
+I am not using a multilib profile on gentoo (I use amd64 only everywhere), so when the time came to install steam I had to get a little creative. Overall I believe this is the perfect
+way to install and use steam as it self contains it cleanly while not limiting the functionalities. In particular sound works, as does the hardware acceleration in games. I tried to
+achieve that with containers but didn't quite made it work as well as this chroot setup.
+
+## Installation notes
+
+Note that there is no way to provide a "most recent stage 3" installation link. You will have to browse http://distfiles.gentoo.org/releases/amd64/autobuilds/current-stage3-amd64/
+and adjust the download url manually bellow :
+
+{{< highlight sh >}}
+mkdir /usr/local/steam
+cd /usr/local/steam
+wget http://distfiles.gentoo.org/releases/amd64/autobuilds/current-stage3-amd64/stage3-amd64-20190122T214501Z.tar.xz
+tar -xvpf stage3*
+rm stage3*
+cp -L /etc/resolv.conf etc
+mkdir usr/portage
+mkdir -p srv/gentoo-distfiles
+mount -R /dev dev
+mount -R /sys sys
+mount -t proc proc proc
+mount -R /usr/portage usr/portage
+mount -R /usr/src usr/src
+mount -R /srv/gentoo-distfiles/ srv/gentoo-distfiles/
+mount -R /run run
+cp /etc/portage/make.conf etc/portage/
+sed -e '/LLVM_TARGETS/d' -e '/getbinpkg/d' -i etc/portage/make.conf
+rm -rf etc/portage/package.use
+cp /etc/portage/package.use etc/portage/
+cp /etc/portage/package.accept_keywords etc/portage/
+chroot .
+env-update && source /etc/profile
+wget -P /etc/portage/repos.conf/ https://raw.githubusercontent.com/anyc/steam-overlay/master/steam-overlay.conf
+emaint sync --repo steam-overlay
+emerge dev-vcs/git -q
+emerge --ask games-util/steam-launcher
+useradd -m -G audio,video steam
+{{< /highlight >}}
+
+## Launch script
+
+Note that we use `su` and not `su -` since we need to preserve the environment. If you don't you won't get any sound in game. The pulseaudio socket is shared through the mount of
+/run inside the chroot :
+{{< highlight sh >}}
+su
+cd /usr/local/steam
+mount -R /dev dev
+mount -R /sys sys
+mount -t proc proc proc
+mount -R /usr/portage usr/portage
+mount -R /usr/src usr/src
+mount -R /run run
+chroot .
+env-update && source /etc/profile
+su steam
+steam
+{{< /highlight >}}