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.

Adobe Flash Player on amd64

 * Installation by a package manager (recommended)

The following USE flags are required:

Install the package:

Create the directory:

Create a symbolic link to in the  directory:


 * Manual installation

Create the directory:

Fetch the 32-bit Linux Adobe Flash Player tarball, and then extract :

Set as executable:

Big Picture Mode not working with controller
This problem is likely caused by incorrect device node permissions.

Sony DualShock 3
Check :

crw-rw 1 root input 10, 223 Apr 3 21:44 /dev/uinput

In order for Big Picture Mode to see the controller, it needs the user to have write access to it. The solution is a udev rule:

After saving the file, udev will need to be "re-triggered":

If the user(s) that intend to use the controller with Steam aren't already in the input group, they'll need to be added:

After that, logout and log back in as said user. Steam should detect the controller without issue. A good way to test this is to make sure Steam has focus and press the PS button. If Big Picture mode starts, the controller is detected and configured correctly.

Direct rendering is not being used
If Steam starts with the following error:

Error: OpenGL GLX context is not using direct rendering, which may cause performance problems.

Confirm if direct rendering is enabled with, which is provided by the package:

If direct rendering is not enabled, ensure that the correct OpenGL implementation is selected:

Next, ensure that the user running Steam has sufficient permissions to access direct rendering. If the USE variable is set to  and ConsoleKit or systemd is being used, permissions will be handled automatically. Otherwise, add the user running Steam to the group:

If direct rendering is enabled and the correct OpenGL implementation is selected, then this issue may be caused by 1.3*. . This issue has been fixed for users of the ebuild. Otherwise, run the following as a temporary workaround:

For ATI drivers:

For Nvidia drivers:

If direct rendering is still not enabled, refer to the Steam Knowledge Base article on direct rendering for possible solutions.

Hardened Gentoo
It seems that the Steam binary has  bits set, and needs to be PaX marked in order to work on a hardened system:

The binaries of most games should also be PaX marked:

Failure to perform PaX marking will result in the game failing to run, with little information given. To check if a game needs to be PaX marked, run the game's startup script or binary file (found in or ) under a debugger. This can be accomplished with some of Valve's provided startup scripts by setting the GAME_DEBUGGER environment variable to :

If a binary needs to be PaX marked, 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 an update in July 2013, Steam also needs a PaX marked when the OpenGL libraries require   markings, otherwise games will fail to run from the Steam client :

However, this results in Bash failing to run. It is also a security issue, and it is strongly recommended to try without PaX marking. If it works when using the proprietary Nvidia drivers, please make a note of it on this page.

libGL fails to load
The Steam runtime overrides the libgcc and libstdc++ libraries, which can cause problems with some graphics drivers. To avoid disabling the Steam runtime, the libgcc and libstdc++ libraries can be deleted from the Steam runtime instead:

Unfortunately, the libraries will reappear after every Steam update.

If the above solution does not work, run the following as a temporary workaround:

For Nvidia drivers:

Memory corruption
If Steam starts with the following error:


 * glibc detected *** zenity: malloc: memory corruption: 0x00000000016cf020 ***

Installing the package should fix the issue.

With Portage:

With Paludis:

Missing fonts
If Steam is having issues with missing fonts, installing the and  packages may fix the issue.

With Portage:

With Paludis:

If the X server does not recognize the newly installed fonts, run the following:

Reset the installation
To reset (i.e. wipe) the Steam installation, including installed games, and reinstall Steam without losing data:

Reversed X cursor
If an X cursor theme has not been set by the desktop environment or window manager, Steam will override the default X cursor theme. This can result in a reversed X cursor from left to right. The issue can be fixed by setting an X cursor theme, if one is available, or by installing an X cursor theme:

If the X cursor is still reversed, even after exiting Steam, run the following to fix the issue:

Segfault when remember my password is selected
Selecting the  option at the Steam login dialog when Steam is running without D-Bus, will cause Steam to segfault the next time it is started. This issue can be fixed by running the following:

Segfault when using apulse
Using Steam with while D-Bus is not running, will cause Steam to segfault with a   message. This issue can be fixed by ensuring that D-Bus is running:

Taskbar button persists even when closed or minimzed
Depending on the desktop environment being used, the Steam taskbar button may persist even when the Steam window is closed or minimized to the system tray. To correct this behavior, force the Steam window to close instead of minimize:

To set the STEAM_FRAME_FORCE_CLOSE environment variable permanently, add the following to the shell login initialization file:

Log out and back in to have the changes take effect.

Use system libraries
Steam bundles many libraries which are used instead of the system libraries. To force Steam to use the system libraries, disable the Steam runtime:

To set the STEAM_RUNTIME environment variable permanently, add the following to the shell login initialization file:

Log out and back in to have the changes take effect.

Video drivers

 * If ATI Legacy drivers are used, and a Valve game (Counter-Strike: Source, Team Fortress 2, etc.) fails to start with the following error:

Required OpenGL extension "GL_EXT_texture_sRGB_decode" is not supported. Please update your OpenGL driver.

Update the ATI Legacy drivers to the most recent version.

xterm launches briefly and then closes
This issue is caused by the shell being set to something other than a POSIX compliant shell (i.e. fish). Change the shell to a POSIX compliant shell and accept the Steam license agreement. The shell can be set back afterwards.

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.


 * Enable S3TC support:

The following USE flags are required for :

Install the package.

With Portage:

With Paludis:

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

If S3TC support is not enabled, ensure that the VIDEO_CARDS variable in is set to the correct value, and update the video driver to most recent 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

Force enable S3TC support with:

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

With Portage:

With Paludis:

Borderlands 2 and Borderlands: The PreSequel
Gearbox's SHiFT service assumes the GNU/Linux version is running on Ubuntu, which stores its SSL certificates in, whereas Gentoo (by default) stores them in. Creating a symbolic link corrects this and allows users to redeem SHiFT codes:

DiRT Showdown

 * If the launcher fails to start, enable texture compression support.


 * If an Intel GPU is being used and the launcher fails to start with the following error:

Unfortunately your machine doesn't meet the full OpenGL 4.1 requirements so the game may not perform correctly

Add  to the launch options in. Intel Broadwell and Skylake based GPUs also require  to be added to the launch options.

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, build  with the   USE flag.


 * If a red screen is visible during startup and textures are missing in-game, enable texture compression support.


 * If some textures are not clickable (e.g. the character can not move at the fountain when the right mouse button is clicked), verify the integrity of the game cache.

Left 4 Dead 2

 * If black textures are visible, enbale texture compression support.

Rust (legacy)

 * If the launcher fails to start, add  to the launch options in.

Sid Meier's Civilization V

 * If a black screen is visible and the introduction music is audible during startup, change the value of FSResID :

The correct value for FSResID appears to be system dependent, and may require setting different values before working.

Starbound

 * If the launcher fails to start with the following error:

This application failed to start because it could not find or load the Qt platform plugin "xcb".

Available platform plugins are: xcb.

Reinstalling the application may fix this problem.

Add  to the launch options in.

Stealth Bastard Deluxe

 * If the package is not installed, Stealth Bastard Deluxe will segfault.

With Portage:

With Paludis:

Stealth Bastard Deluxe specifically requests the fonts /, which can be checked for availability with. Otherwise, add the fonts to the font path, or create a font alias:

Team Fortress 2

 * If a black screen is visible for 1-2 seconds, add  to the launch options in.

X3: Terran Conflict and X3: Albion Prelude

 * If red, green and blue stripes are visible, or the launcher fails to start, enable texture compression support.

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