Steam

''Steam is an Internet-based digital distribution, digital rights management (DRM), multiplayer, and social networking platform developed by Valve Corporation. Steam provides the user with installation and automatic updating of games on multiple computers, and community features such as friends lists and groups, cloud saving, and in-game voice and chat functionality.'' - Wikipedia, the free encyclopedia

Games

 * Official Steam Linux games list.
 * SteamDB Linux games list.

Dependencies
For Portage, create the following set of required Steam dependencies:

For Paludis, create the following set of required Steam dependencies:

Install the Steam set.

With Portage:

With Paludis:

USE flags
For Portage, to enable the required USE flags for Steam dependencies under, add the the following file:

Update the system:

Kernel
Steam expects that, which requires kernel tmpfs support, is mounted prior to being started. should be mounted automatically by OpenRC and systemd during boot, but can also be mounted explicitly via :

Installation
The Steam installer downloads and installs the Steam client to the users home directory. This prevents Portage from managing the Steam client updates or the software installed by it. The Steam client is solely responsible for managing software installation and updates.

Manual
Fetch and extract the Steam installer:

Run the Steam installer:

Install the above Steam installer script:

Steam can be started with:

To avoid restarting or running two X servers in parallel, to the Steam user, and use  to give the Steam user access to the running X server. Refer to bash-steam-launcher for details.

Manual with alternative installer script
The following installation method is almost identical to the manual installation method, except that an alternative Steam installer script is used.

Fetch the Steam installer and extract the required files:

Fetch and run Julian Ospald's (hasufell) Steam installer script:

If the installer script creates broken symbolic links when run with Dash, run the installer script with Bash instead:

Overlay
The ebuild is available from the Gentoo Gamers overlay or anyc's Steam overlay.

Chroot
It is possible to run Steam in a 32-bit chroot on without relying on multilib.

Create the chroot directory:

Fetch and extract the stage tarball:

Copy DNS information:

Create the Portage directory:

Mount the necessary filesystems:

Chroot with, which is provided by the package, and update the environment:

Create the Steam user:

Next, install Steam from one of the above installation methods. When complete, create the following wrapper script to setup the chroot, to the Steam user, and start Steam:

Although the above script uses D-Bus, it is possible to run Steam without it, but a manual method is required to connect the X server from within the chroot.

Client troubleshooting
See Steam/Client troubleshooting.

Games troubleshooting
See Steam/Games troubleshooting.

Asking for help
The best place to ask for help is the Steam thread on the Gentoo Forums. If a solution to an issue is confirmed by others, add it to this page or the relevant troubleshooting subpage. Please do not remove content without discussion, unless it is obviously wrong.

External resources

 * Gentoo Forums - Native Steam client and source game engine
 * Gentoo Bugzilla - steam-installer ebuild (outdated)
 * ArchWiki - Steam
 * GitHub - Steam for Linux Client
 * Steam Community - Steam for Linux