Warning: THE VOID WIKI IS DEPRECATED. It is no longer being maintained, contains outdated and incorrect information, and will eventually be shut down. Please refer to the Void Handbook, https://docs.voidlinux.org/, for the official documentation. If you can't find the information you're seeking, please raise an issue at https://github.com/void-linux/void-docs/issues

Steam

From Void Linux Wiki
Revision as of 06:19, 23 April 2020 by Rey (talk | contribs) (→‎Installing Steam through Flatpak: Removed last changes, which were not suited for the void docs. Added a gaurenteed fix for every setup running void with flatpak'd steam.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Steam is a gaming distribution platfrom by Valve Software.

Installing Steam through XBPS

To install Steam firstly you need to enable the nonfree repository if you haven't yet.

# xbps-install -Sy void-repo-nonfree

Next, install the steam package hosted by this repo:

# xbps-install -S steam

If you are running the i686 distribution this should be enough to get it running.

Additional steps on x86_64 machines

After installation there will be a prompt in the terminal explaining what other packages may be needed depending on the user's setup. It will tell you which repositories you need to enable and which packages you need.

Steam on x86_64 requires support for OpenGL/Vulkan in 32bits mode,
the 32bit packages are available in the `multilib` repository.
       # xbps-install -Syv void-repo-multilib{,-nonfree}
       # xbps-install -S
Generic (for all systems):
       - libgcc-32bit libstdc++-32bit libdrm-32bit libglvnd-32bit
For users of the open source drivers:
       - mesa-dri-32bit
For users of the proprietary NVIDIA driver:
       - nvidia-libs-32bit (latest nvidia package)
       - nvidia390-libs-32bit (latest previous package)
       - nvidia340-libs-32bit (latest package for old GPUs)
For mesa users this would result in:
       # xbps-install -Syv libgcc-32bit libstdc++-32bit libdrm-32bit libglvnd-32bit mesa-dri-32bit

Dbus is generally a good idea to have as you can have issue starting Steam or segfaults without it.

# ln -s /etc/sv/dbus /var/service

For some games mono must be installed:

# xbps-install -S mono

Installing Steam through Flatpak

Note: Installing Steam though Flatpak automates the process of what you will need to run Steam. Some setups require much more dependencies than others and missing some of these dependencies can lead to segfaults and random crashes. If you are switching to Steam on Flatpak you do not need the folders and files created by Steam installed through XBPS which are located in your $HOME or $HOME/.local directories.

Install Flatpak through xbps if you haven't already and enable the Flatpak repository.

# xbps-install -S flatpak
# flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Install Steam through Flatpak

# flatpak install com.valvesoftware.Steam

To run Steam through Flatpak

flatpak run com.valvesoftware.Steam

If you are using a different drive to store you game library run the following commmand where '<storage>' is the mount point of your drive.

flatpak override com.valvesoftware.Steam --filesystem=<storage>

Audio issues within Flatpak'd steam

There are many issues that can occur with the combo of Void Linux, Pulseaudio and Flatpak. If you aren't receiving sound within Steam there is a simple script that can be used, which works with the recommended Pulseaudio setup. Since how Pulseaudio is handled it will stop once it is not needed, meaning no other intervention is needed other than closing Steam to stop the service from running.

#!/bin/sh
pulseaudio --start flatpak run com.valvesoftware.Steam

You may find other "less hacky" fixes for this issues which may not apply to Void Linux due to how the enviorment varible $PULSE_SERVER is handled within Void.

Troubleshooting

Libstdc++ Library error and Steam runtime issues

The Steam Ubuntu bootstrap tarball might use an incompatible libstdc++ library, try:

$ LIBGL_DEBUG=verbose steam

to see if that's the case, and then try to remove the supplied libstdc++ from ~/.local/share/steam.

Note that this is a temporary solution, as this file will be restored every time the Steam client is updated. For a more reliable solution, you can try overriding problematic libraries with LD_PRELOAD:

$ LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1' steam

For convenience, you can put this in a script or an alias.

Games running slowly or not at all, issues with network streaming

Verify that your user belongs to the video group.

Audio not working

First, try installing pulseaudio and alsa-plugins-pulseaudio. If you do not have audio in the videos which play within the Steam client, it is possible that the ALSA libs packaged with Steam are not working.

If launching Steam from a terminal and attempting to play a video within the steam client results in an error similar to "ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave", there is a workaround which involves renaming or deleting some Steam runtime folders and library files. The bugs have already been reported here and here.

The solution is to rename or delete the alsa-lib folder and the libasound.so.* files. They can be found in ~/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/.