Steam

From Alpine Linux

Steam is a popular game distribution platform by Valve.

Note: Steam for Linux only supports Ubuntu LTS. Thus, do not turn to Valve for support for issues with Steam on Alpine Linux.

Installation

Steam requires glibc to run, and thus doesn't straight up run on Alpine Linux. To work around this problem, we'll use Flatpak. Make sure you have the Flathub repository installed.

 # apk add flatpak
 $ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
 $ flatpak install com.valvesoftware.Steam

After installation Steam can be started using it's .desktop file or on the command line:

 $ flatpak run com.valvesoftware.Steam

Troubleshooting

My controllers aren't detected

By default Steam doesn't have permission to read your controllers. This can be fixed by installing an udev rule from the official Steam package, but the udev rules are also available as an Alpine package.

 # apk add steam-devices

SteamVR won't launch

Out of the box SteamVR might not be able to launch and give you various errors. Steam tries to fix this itself by setting the right capabilities on the SteamVR binary, but this doesn't work in the Flatpak. Instead we'll have do it manually.

 # setcap CAP_SYS_NICE+ep ~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/common/SteamVR/bin/linux64/vrcompositor-launcher

Then restart Steam.

There is an issue for this on the Flathub repository.

Steam - Error: OpenGL GLX extension not supported by display

Add the appropriate Mesa DRI driver for your video card and reboot your system.

Find the appropriate Mesa DRI driver:

# apk search mesa-dri-

For Intel cards, use:

# apk add mesa-dri-intel

eventfd: Too many open files in Proton games

Due to a low amount of allowed open file descriptors, Proton games may crash shortly after launching. This can be worked around by disabling esync but many games will perform measurably worse without it. Instead, user limits should be increased.

In order to do this, you will need PAM and a PAM enabled login:

# apk add linux-pam shadow-login

Add the following to /etc/security/limits.conf:

user hard nofile 524288
Note: Replace "user" with your username.

Finally, reboot and run ulimit -Hn to verify the new limits are applied.