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
The following packages are required for Steam:

The following packages are optional for Steam:

Install the Steam set:

USE flags
The following USE flags are required for Steam on amd64:

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 explicitly mounted 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:

Steam can be started with:

To avoid restarting or running two X servers in parallel, su 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
Fetch the Steam installer and extract the required files:

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

Overlay
The steam-launcher 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 amd64 without relying on multilib, or the emul-linux-x86-* packages (which are masked and scheduled for removal ).

Create the chroot directory:

Fetch and extract the stage tarball:

Copy DNS information:

Create the Portage directory:

Mount the necessary filesystems:

Chroot with linux32, which is provided by the package, and reload 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, su to the Steam user, and run 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.

Video drivers

 * nvidia-drivers: You will need to unmask latest.
 * Starting some games (TF, CS:S) on legacy ATI drivers will give this error: "Required OpenGL extension "GL_EXT_texture_sRGB_decode" is not supported. Please update your OpenGL driver." Workaround is here.

OpenGL GLX context is not using direct rendering
If steam is complaining about a lack of 3D capability and you do have a 3D drivers, libraries (eselect opengl list) all setup (glxinfo | grep "direct rendering" # direct rendering: Yes), steam is accessing the wrong libGL. This was caused by a recent update of to version 1.3.0. Temporary workaround:
 * Nvidia


 * ATI

Fonts
Some people seem to have problems with missing fonts. A user reported it being solved by emerging.

Sometimes Xorg does not recognize the new fonts installed. To fix this temp. run:

You may also need if fonts don't appear to be rendering correctly.

The game Stealth Bastard Deluxe will segfault if is not installed, specifically the game will request the fonts "9x15"/"9x15b", so check with  if those are available, otherwise add them to the fontpath and possibly add an alias in e.g. :

Mouse cursor
If your WM/DE does not set a mouse pointer theme, then Steam will overwrite the default X11 cursor theme, often resulting in a reversed pointer from left to right.

To fix this, just install and enable a compatible cursor theme via your WM/DE (e.g. ).

You can also enable the installed theme manually with the following method:

If the mouse cursor gets stuck pointing in the wrong direction after exiting steam you can work around that via:

Flashplayer on amd64
Get the 32bit flashplayer from adobe and extract to your current working dir. Now run:

Typically the path located in. Alternatively emerge with   option enabled and run:

Memory corruption on startup
You might get an error like this:

Try to emerge and it should work.

Hardened Gentoo
It looks like the steam binary has rwx bits in it. You will need to mark the binary with the following to get it working on a hardened system.

Binaries of most games also should be paxmarked, for ex.:

Failure to perform these paxmarkings will result in the game failing to run with little information given. You can check if the game needs to be paxmarked by running the game's startup script or binary file (found under or ) under a debugger. This can be accomplished with some of Valve's provided startup scripts by passing in gdb in a  environment variable, for ex.:

If the binary needs to be paxmarked, gdb should output something similar to "warning: Cannot call inferior functions, Linux kernel PaX protection forbids return to non-executable pages!" and/or "Cannot access memory at address 0x80486c6."

After latest update (around Jul 2013) steam also need paxmarked sh when the openGL libraries require RWX markings or it fail to run games from steam client (see https://github.com/ValveSoftware/steam-for-linux/issues/254 for details):

However, this causes bash to not run. Also as it is a security issue you are strongly encouraged to try without paxmarking it. If it works for you when using proprietary nvidia drivers please report it back.

Steam runtime
By default, Valve bundles their own libraries with the steam package and uses them instead of installed system libraries. This behavior can be changed by setting the environment variable.

Steam reset
If you want to wipe out your current steam installation which includes your installed games and reinstall steam without losing their data, you can use the  command line option:

Steam without D-Bus
When running Steam without D-Bus, do not select the  option at the Steam login dialog, otherwise Steam will segfault the next time it is run. If Steam is segfaulting as a result of this option being selected, run the following to fix the issue:

Taskbar buttons persist when Steam is minimzed to the system tray
Depending on your DE, you might have a taskbar button showing for Steam all the time, even when the main window is closed or minimized to the systray. To stop this behavior, add this to.

You will need to logout and back in to enact the changes.

Texture compression
Many games, especially those that use the Source engine, require S3 Texture Compression (S3TC) support. Without S3TC support, these games will usually have black or missing textures, or fail to start.

The following USE flags are required for amd64:
 * Enable S3TC support:

Install the package:

Next, confirm if S3TC support is enabled with glxinfo, which is provided by the package:

If S3TC support is not enabled, ensure that the  variable in  is set to the correct value, and update the video driver to the latest version.

If S3TC support is enabled, but games fail to start with the following error: This system does not support the OpenGL extension GL_EXT_texture_compression_s3tc Run the following before starting Steam:

If nouveau drivers are being used, installing may be required to stop the above error.

Dota 2

 * If black textures are visible and an older (<9.1.6) is installed, update  to a recent version.


 * If black textures are visible and a recent is installed, building  with the   USE flag may fix the issue.


 * If a red screen is visible during start and textures are missing in-game, refer to texture compression for details.

Left 4 Dead 2

 * If black textures are visible, refer to texture compression for details.

Rust (legacy)

 * If the launcher fails to start, adding  to the launch options in , may fix the issue.

Starbound
This application failed to start because it could not find or load the Qt platform plugin "xcb".
 * If the launcher fails to start with the following error:

Available platform plugins are: xcb.

Reinstalling the application may fix this problem. Adding  to the launch options in , may fix the issue.

Team Fortress 2

 * If a black screen is visible for 1-2 seconds, adding  to the launch options in , may fix the issue.

X3: Terran Conflict and X3: Albion Prelude

 * If red, green and blue stripes are visible, or the launcher fails to start, refer to texture compression for details.

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. Please do not remove content without discussion, unless it is obviously wrong.

External resources

 * Gentoo Forums
 * Gentoo Bugzilla
 * Steam for Linux
 * Steam for Linux Community
 * Valve Linux Blog
 * ArchLinux Wiki