# Steam

Related articles

- Steam/Wine
- Steam/Troubleshooting
- Steam/Game-specific troubleshooting
- Gamepad

From Wikipedia:

  Steam is a digital distribution, digital rights management, multiplayer and communications platform developed by Valve Corporation. It is used to distribute games and related media online, from small independent developers to larger software houses.

Steam is best known as the platform needed to play Source Engine games (e.g. Half-Life 2, Counter-Strike). Today it offers many games from many other developers.

## Installation

Note:

- Arch Linux is not officially supported, the only officially supported distribution is Ubuntu. [1].
- If you have a 64-bit system, enable the multilib repository.

Install the steam package.

Steam is not supported on this distribution. As such some fixes are needed on the users part to get things functioning properly:

- If you have a 64-bit system, you will need to install the 32-bit version of your graphics driver (the package in the OpenGL (Multilib) column)
- Steam may fail to start due to broken/missing libraries. See Steam/Troubleshooting#Steam runtime issues.
- Steam makes heavy usage of the Arial font. A decent Arial font to use is ttf-liberation or the fonts provided by Steam. Asian languages require wqy-zenhei to display properly.
- Several games have dependencies which may be missing from your system. If a game fails to launch (often without error messages) then make sure all of the libraries listed in Steam/Game-specific troubleshooting are installed.
- In case that you are using Arch Linux in your local language, make sure that you also have properly generated en_US locales (see Locale#Generating locales). Otherwise Steam client wont start with invalid pointer error.

## Usage

To start Steam simply run `steam`.

- `-bigpicture` to start in Big Picture Mode
- `-silent` don't open the main window

## Tips and tricks

### Directory structure

`~/.steam/` by default contains the following symlinks:

    bin   -> ~/.steam/bin32
    bin32 -> ~/.local/share/Steam/ubuntu12_32
    bin64 -> ~/.local/share/Steam/ubuntu12_64
    root  -> ~/.local/share/Steam
    sdk32 -> ~/.local/share/Steam/linux32
    sdk64 -> ~/.local/share/Steam/linux64
    steam -> ~/.local/share/Steam

As you can see Steam stores its files in `~/.local/share/Steam/` by default. You can change where Steam stores its content by moving `~/.local/share/Steam/` and starting Steam, which will prompt you if you have moved your Steam content. You can then browse to the new location and Steam will update the symlinks in `~/.steam/`.

Games are installed in `~/.steam/root/steamapps/common/`.

### Launch options

To set custom launch options for a game, right-click on it in your library, select Properties and click on the Set Launch Options button.

When your launch options contain `%command%` Steam will replace it with the game's launch command, otherwise Steam will prefix the launch command to your launch options. The resulting command is then run in a Bash shell, allowing you to set environment variables before `%command%`.

### Big Picture Mode without a window manager

To start Steam in Big Picture Mode from a Display manager, create a `/usr/share/xsessions/steam-big-picture.desktop` file with the following contents:

    /usr/share/xsessions/steam-big-picture.desktop

    [Desktop Entry]
    Name=Steam Big Picture Mode
    Comment=Start Steam in Big Picture Mode
    Exec=/usr/bin/steam -bigpicture
    TryExec=/usr/bin/steam
    Icon=
    Type=Application

### Steam skins

The Steam interface can be customized using skins. Skins can overwrite interface-specific files in `~/.steam/steam`.

To install a skin:

1. Place its directory in `~/.local/share/Steam/skins`.
2. Open Steam > Settings > Interface and select it.
3. Restart Steam.

An extensive list of skins can be found in this Steam forums post.

Note: Using an outdated skin may cause visual errors.

#### Creating skins

Nearly all Steam styles are defined in `~/.steam/steam/resource/styles/steam.styles` (the file is over 3,500 lines long). For a skin to be recognized it needs its own `resource/styles/steam.styles`. When a Steam update changes the official `steam.styles` your skin may become outdated, potentially resulting in visual errors.

See `~/.local/share/Steam/skins/skins_readme.txt` for a primer on how to create skins.

### Changing the Steam notification position

The default Steam notification position is bottom right.

You can change the Steam notification position by altering `Notifications.PanelPosition` in

- `resource/styles/steam.styles` for desktop notifications, and
- `resource/styles/gameoverlay.styles` for in-game notifications

Both files are overwritten by Steam on startup and `steam.styles` is only read on startup.

Note: Some games do not respect the setting in `gameoverlay.styles` e.g. XCOM: Enemy Unknown.

#### Use a skin

You can create a skin to change the notification position to your liking. For example to change the position to top right:

    $ cd ~/.local/share/Steam/skins
    $ mkdir -p Top-Right/resource
    $ cp -r ~/.steam/steam/resource/styles Top-Right/resource
    $ sed -i '/Notifications.PanelPosition/ s/"[A-Za-z]*"/"TopRight"/' Top-Right/resource/styles/*

#### Live patching

`gameoverlay.styles` can be overwritten while Steam is running, allowing you to have game-specific notification positions.

    ~/.steam/notifpos.sh

    sed -i "/Notifications.PanelPosition/ s/\"[A-Za-z]*\"/\"$1\"/" ~/.steam/steam/resource/styles/gameoverlay.styles

And the #Launch options should be something like:

    ~/.steam/notifpos.sh TopLeft && %command%

### In-Home Streaming

Steam has built-in support for In-Home Streaming.

See this Steam Community guide on how to setup a headless In-Home Streaming server on Linux.

### Finding a games AppID

Every Steam application has a unique AppID.

To find the AppID of an installed game:

1. Right click on the game in your library, select create desktop shortcut.
2. Open the created file `~/Desktop/<game>.desktop` with a text editor.
3. Find the AppID in the Exec command `Exec=steam steam://rungameid/<appid>`.

Alternatively find the game's Steam Store page and check out the URL:

    http://store.steampowered.com/app/<appid>/<name>/

## Troubleshooting

See Steam/Troubleshooting.

## See also

- Steam at Gentoo wiki
- The Big List of DRM-Free Games on Steam at PCGamingWiki
- List of DRM-free games at wikia

Category:

- Gaming