- 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.
- 1 Installation
- 2 Usage
- 3 Tips and tricks
- 4 Troubleshooting
- 5 See also
Install the 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 the fonts provided by Steam. Asian languages require to display properly. or
- 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
The Flatpak application currently does not support themes.
By default Steam won't be able to access your home directory, you can run the following command to allow it, so that it behaves like on Ubuntu or SteamOS:
flatpak override com.valvesoftware.Steam --filesystem=/home/$USER
To start Steam simply run
-bigpictureto start in Big Picture Mode
-silentdon't open the main window
Tips and tricks
~/.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
Games are installed in
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
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 TryExec=/usr/bin/steam Icon= Type=Application
The Steam interface can be customized using skins. Skins can overwrite interface-specific files in
To install a skin:
- Place its directory in
- Open Steam > Settings > Interface and select it.
- Restart Steam.
An extensive list of skins can be found in this Steam forums post.
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
When a Steam update changes the official
steam.styles your skin may become outdated, potentially resulting in visual errors.
~/.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
resource/styles/steam.stylesfor desktop notifications, and
resource/styles/gameoverlay.stylesfor in-game notifications
Both files are overwritten by Steam on startup and
steam.styles is only read on startup.
gameoverlay.stylese.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/*
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/notifpos.sh TopLeft && %command%
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:
- Right click on the game in your library, select create desktop shortcut.
- Open the created file
~/Desktop/<game>.desktopwith a text editor.
- Find the AppID in the Exec command
Alternatively find the game's Steam Store page and check out the URL: