From ArchWiki
Revision as of 20:18, 28 August 2017 by Gerry (talk | contribs) (Installation: steam flatpak installation instructions)
Jump to: navigation, search

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.


  • 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.

The following fixes are needed to get Steam functioning properly on Arch Linux:

  • 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.

Alternative Flatpak Installation

Currently does not support themes.

Install flatpak

Add the flatpak flathub repository

flatpak remote-add --if-not-exists flathub

Install the Steam flatpak

flatpak install flathub com.valvesoftware.Steam

By default steam won't be able to see your home folder, we can specify it to use the home folder so it behaves identically to as it would be on Ubuntu or SteamOS by specifying that with

flatpak override com.valvesoftware.Steam --filesystem=/home/USERNAME


For the SteamCMD, a command-line version of the Steam client, that is primarily used to install and update dedicated servers, install the steamcmdAUR package.


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:

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

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.

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

And the #Launch options should be something like:

~/.steam/ 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:<appid>/<name>/


See Steam/Troubleshooting.

See also