From 60d3abc6ecdc21b4ab921d34a55b4af48690f55a Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Thu, 11 Mar 2021 18:53:14 +0100 Subject: Rewrote the whole website to get rid on a heavy theme --- content/docs/gentoo/steam.md | 65 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 content/docs/gentoo/steam.md (limited to 'content/docs/gentoo/steam.md') 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 >}} -- cgit v1.2.3