void-packages/srcpkgs/steam/files
..
README.voidlinux

README.voidlinux

Steam on i686 should work without needing to install any extra packages.
Steam on x86_64 requires support for OpenGL/Vulkan in 32bits mode,
the 32bit packages are available in the multilib repository.

	# xbps-install -S 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, install the appropriate 32-bit
libraries for the version of nvidia you have installed:

	- nvidia-libs-32bit (for the latest nvidia package)
	- nvidia470-libs-32bit (for the latest previous package)
	- nvidia390-libs-32bit (for the legacy previous package)

For mesa users this would result in:

	# xbps-install -S libgcc-32bit libstdc++-32bit libdrm-32bit libglvnd-32bit mesa-dri-32bit

The dbus service must be enabled, and the mono package will need to be
installed for some games to function.

If games are running slowly or not at all, or there are issues with network
streaming, verify that your user belongs to the video group.

If your audio is not working, try installing pulseaudio,
alsa-plugins-pulseaudio, and their "<package>-32bit" equivalents.

If you are using SteamPlay/Proton and the game crashes or hangs with error
messages that include "eventfd: Too many open files", this means the number of
open file descriptors per process is too low for proper Proton functionality.
In this case, consult limits.conf(5) and set a higher nofile limit for your
user. For more information, see the upstream documentation in the README.esync
file from https://github.com/ValveSoftware/wine.

If you are encountering runtime errors, the Steam Ubuntu bootstrap tarball might
be using an incompatible libstdc++ library. You can verify this by running the
following command:

	$ LIBGL_DEBUG=verbose steam

If that is the issue, removing the supplied libstdc++ from
~/.local/share/steam will fix it. 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.