Steam
Vendor: Valve Software
Developer: Valve Software
License: Steam EULA
Web: http://steampowered.com
Steam is a software distribution service.
- online games store
- automatic updates
- in-game achievements
- synchronized savegame and screenshot functionality
- view friends playing
- instant messenger and voice chat
- remote play via game streaming
Installation
openSUSE repositories
The latest version of Steam can be installed via YasT software or zypper from the openSUSE standard repository.
If you experience missing dependencies please submit a bug or contribute them to the steam.spec file by branching the steam package in OBS.
Flatpak
Flatpak may also be used to install Steam.
1. Install flatpak
sudo zypper install flatpak
2. after this, if one wishes to install Steam as user (as opposed to as root) run:
flatpak install --user --from https://flathub.org/repo/appstream/com.valvesoftware.Steam.flatpakref
3. or, alternatively if one wishes to install Steam system-wide run:
sudo flatpak install --from https://flathub.org/repo/appstream/com.valvesoftware.Steam.flatpakref
A desktop launcher should appear in application menus, if not relogin and it should happen. If one wishes to launch Steam from the command-line run:
flatpak run com.valvesoftware.Steam
SteamCMD
SteamCMD is a command line alternative for servers and users who don't want a graphical client. See the official documentation for more information.
Play Windows games
Most games are developed for Windows. To play them on Linux, you need a compatible layer like Wine. Luckily, Steam has built-in Proton, a fork of Wine, to support Windows games on openSUSE. However, here are still something you need to do before playing those games.
First, you need to install Vulkan drivers. Currently, only Intel and AMD drivers are included in openSUSE repositories. NVIDIA drivers have to be installed via a separate repository as described here.
To run some Windows games with extraordinary 3D graphics, we will also need DXVK (bundled in Proton), which translate MS DirectX to the open source Vulkan. Unluckily, DXVK currently only support AMD and NVIDIA GPU. So if you are buying a PC, make sure to choose the right GPU.
After that, you need to start Steam, open settings, and enable Steam Play (Proton) compatibility tools.
Frequently asked questions
- Is Steam free?
Yes, Valve Software allows the installation of their Freeware Steam client via their EULA what they call a "limited installation license" without any charges.
If you buy games on the Steam store you are bound to their Subscriber Agreement. Technically you don't own the games you buy, but rent them for an unlimited amount of time. That means they are bound to your account, you can install them wherever and whenever you want, but can't sell them. The DRM will also require an internet connection to activate them for the first time. Some games even need a continuous internet connection.
Freeware games like Team Fortress 2 are marketed as "free-to-play". They get monetized via in-game purchases of additional inventory items.
- How will I know if this game runs on Linux?
The Valve store has a Linux section: http://store.steampowered.com/browse/linux/ They also add a steam-os icon to Linux compatible games.
In addition to games that are native to Linux, it is also possible to run some games that are not native to Linux through Steam Play. For many games users write compatibility reports on protondb.
- How well do games run on Linux?
Valve's Games on Steam are native ports. They will run a lot faster and smoother than the experience with Wine workarounds (see the section below for more information about Steam on Wine). Valve also claimed that the lack of DirectX overhead also increased performance.[1] If you spawn an additional XServer to run OpenGL games it will boost your FPS even more because the Desktop Environment and composition effects won't slow you down. If you are running KDE hit ALT+SHIFT+F12 to temporarily disable the KWin compositor. This will enhance video performance especially when you run OpenGL games in windowed mode.
Steam-Controller
The Steam Controller is a gamepad that was sold by Valve and can be used also on Linux.
Installation
You will need the latest version of Steam installed, after that the steam-devices package should be automatically installed. Make sure the users which should have access to the steam controller are in the games group. After the installation you might need to log-out and relogin.
Steam Play
The goal of Steam Play is to make games that are not native to Linux run as well as they do on Windows. Some games even get the benefit of better controller support through Steam Play than they would have running on Windows. Steam Play uses a customized version of Wine called Proton to launch games. This does not require the user to install Wine on their PC.
Steam Play has a relatively small list of whitelisted games, but only games which have been verified to run as well as they do on Windows will be whitelisted. More games are also being added to the whitelist as bug fixes are made and more testing is done.
Steam Play also has the option to play non-whitelisted games, but these games are more prone to having either minor issues or not working at all on Linux. For non-whitelisted games Steam Play has to be enabled in Steam in the setting dialog under Steam Play by ticking the "Enable Steam Play for all other titles" checkbox. ProtonDB is a fan made website which allows users to see how well games work with Steam Play. Users can also submit reports for games they have tested to rate how well the game works with Steam Play.
To get logs, set launch options to PROTON_LOG=1 %command%, after starting the game it will create a log file in your $HOME. Also, check issues on GitHub for help about specific games.
Steam In-Home Streaming
If you are having problems with In-home streaming, ensure you have the firewall rule enabled.
firewall-cmd --zone=public --add-service=steam-streaming --permanent
firewall-cmd --zone=public --add-service=steam-streaming
Troubleshooting
Error starting Steam installer (openSUSE Leap 15)
After installing the Steam installer, there is an error:
symbol lookup error: /usr/lib/i386-linux-gnu/libxcb-dri3.so.0: undefined symbol: xcb_send_request_with_fds
See: https://github.com/ValveSoftware/steam-for-linux/issues/5249
Workaround presented in ticket works, just start steam this way:
LIBGL_DRI3_DISABLE=1 steam
AMD graphical chip set and no game play
Some users report that with Free radeon installed for AMD graphical chip-set, there is no game play at all: games won't start after selecting and clicking them. To possibly solve this search and install the appropriate AMD proprietary driver for your card with one-click: SDB:Radeon
AMD radeonsi_dri.so opensource driver
If steam doesn't load and complains about missing radeonsi_dri.so.
Run steam with:
/usr/bin/steam %U
Loading Steam without local runtime to avoid crash or game play without sound
Some users report that newer updates of the Steam client temporarily require starting with the following command to avoid a crash. Also users report missing sound in video-clips and games. Try to load Steam without local runtime to solve this:
Loading Steam without local runtime means loading without the pre-bundled libraries that Steam delivers within the package. These could be older versions, with bugs resolved in newer versions, already installed on your system. Steam will attempt to use the ones installed on your system, when started with this option.
Failure to start Steam, when trying to load Steam without local runtime
This could be due to missing 32 bit libraries, for example on 64 bit systems. Go to directory ~/.local/share/Steam/ubuntu12_32 and investigate missing libraries by executing the commands below:
cd ~/.local/share/Steam/ubuntu12_32
command=LD_LIBRARY_PATH=".:${LD_LIBRARY_PATH}" ldd $(file *|sed '/ELF/!d;s/:.*//g')|grep 'not found'|sort|uniq
(source: https://wiki.archlinux.org/index.php/Steam#Using_native_runtime_.3D)
Example output:
libdbus-glib-1.so.2 => not found libnm-glib.so.4 => not found libnm-util.so.2 => not found
or
LD_PRELOAD=/usr/lib32/libudev.so.1 STEAM_RUNTIME=0 steam
(source: https://wiki.archlinux.org/index.php/Steam/Troubleshooting)
Example output:
you are missing the following 32-bit libraries, and Steam may not run: libXtst.so.6 libva.so.1 libvdpau.so.1 libva.so.1 libva-x11.so.1
Find these missing dependencies with YasT - Software management, select "RPM delivers", search for the missing files and install the 32bit versions.
For example, you use:
sudo zypper in libvdpau_radeonsi-32bit (for radeon cards) libXtst6-32bit libvdpau_va_gl1-32bit libva-glx2-32bit
If you still experience this problem when you have 32-bit libs installed, make sure your user is part of the video, games, audio and cd groups. This can be done with YaST -> User and Group Management -> Edit
and then select the Details tab.
Game crashes even with STEAM_RUNTIME=0
If you are encountering an issue where your games seem to crash at launch and you cannot figure out what is wrong try to see what output you get from the following two commands
gdb /path/to/executable (at the prompt, type) run
In my case I was getting the following error "terminate called after throwing an instance of 'CFileException'". The solution was to put it on an ext4 parition and then attempt to run the game.
Please also see https://wiki.archlinux.org/index.php/Steam#Some_games_fail_to_start
No Sound
Some users reported hearing nothing in their steam games.
Following this guide they tried to
rm -fv /var/lib/dbus/machine-id
and then
ln -sv /etc/machine-id /var/lib/dbus/machine-id
It says to only create the link if the file does not exist. It did exist for me, but replacing it with a symlink fixed my sound issue.
Some games may attempt to communicate with alsa directly, rather than going through pulse audio. Although this should not be needed by newer systems, this can be fixed by installing alsa-plugins-pulse.