The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Steam
Steam is a content delivery system available for GNU/Linux gaming.
Install
In order to install Steam, we must first install app-portage/layman.
Once layman is installed and synced, we must add the gamerlay
repository:
root # layman -a gamerlay root # layman -S
Ok, now we can install steam by running:
root # emerge steam-launcher
install part 2
Make sure your user is in the 'games' group by typing:
root # groups youruser
If not add your user to the 'games' group by typing:
root # usermod -a -G games youruser
Steam has its own internal package management system. Portage will not track its files, or games installed. the ebuild simply pulls in the steam installer, to run the steam installer:
root # /usr/games/bin/steam
The installer will prompt you with several questions, once done running the installer command will load the latest version of steam.
Troubleshooting
Text is corrupt or missing
Steam makes heavy usage of the Arial font. A decent Arial font to use is ttf-liberation.
root # emerge liberation-fonts root # eselect fontconfig enable 60-liberation.conf
Steam segfaults after 2nd start!
I do not know much about this behaviour, but I found a workaround. If you saved your password, you need to backup all your games and reset Steam.
user $ mkdir -p ~/backup user $ mv ~/.local/share/Steam/steamapps ~/backup user $ steam --reset user $ mv ~/backup ~/.local/share/Steam/steamapps
Start Steam again, enter username and password, but do not check "Remember my password", it is the thing that causes all the troubles. You will need to enter password every time you start Steam.
My screen in Dota 2 (and other Source games) is all red!
root # echo 'media-libs/libtxc_dxtn abi_x86_32' >> /etc/portage/package.use root # emerge media-libs/libtxc_dxtn
OpenGL GLX context is not using direct rendering
This can happen when the latest version of mesa drivers use glibc, but steam still looks for libstdc++ and libgcc_s. Those come from GCC; not glibc[1].
To make sure that steam does not look for libstdc++ and libgcc_s, they may be removed[2]:
root # rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/installed/libstdc++6-4.6-pic_4.6.3-1ubuntu5+srt4_amd64 && rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/installed/libstdc++6-4.6-pic_4.6.3-1ubuntu5+srt4_amd64.md5 && rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/installed/libstdc++6_4.8.1-2ubuntu1~12.04+steamrt2+srt1_amd64 && rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/installed/libstdc++6_4.8.1-2ubuntu1~12.04+steamrt2+srt1_amd64.md5 && rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/gcc/x86_64-linux-gnu/4.6/libstdc++_pic.a && rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/gcc/x86_64-linux-gnu/4.6/libstdc++_pic.map && rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libstdc++.so.6 && rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.18 && rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/doc/libstdc++6 && rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/doc/libstdc++6-4.6-pic && rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/installed/libstdc++6-4.6-pic_4.6.3-1ubuntu5+srt4_i386 && rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/installed/libstdc++6-4.6-pic_4.6.3-1ubuntu5+srt4_i386.md5 && rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/installed/libstdc++6_4.8.1-2ubuntu1~12.04+steamrt2+srt1_i386 && rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/installed/libstdc++6_4.8.1-2ubuntu1~12.04+steamrt2+srt1_i386.md5 && rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/gcc/i686-linux-gnu/4.6/libstdc++_pic.a && rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/gcc/i686-linux-gnu/4.6/libstdc++_pic.map && rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6 && rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6.0.18 && rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/doc/libstdc++6 && rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/doc/libstdc++6-4.6-pic && rm ~/.local/share/Steam/ubuntu12_32/steam-runtime.old/i386/usr/share/doc/libstdc++6
and
root # rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libgcc_s.so.1 && rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1
Removal
To remove steam, and content in case of corruption:
user $ rm -rf .local/share/Steam user $ rm -rf .Steam
References
[1]: archtum. archtum comments on Games Run, But Not From Steam, GNU/Linux Gaming on Reddit, February 17th, 2015. Retrieved July 14th, 2015.
[2]: altiris. [SOLVED] Steam won't open, libGL errors, Arch Linux Forums, February 18, 2015. Retrieved July 14th, 2015.