Skip to content
Pablo Estigarribia edited this page Apr 3, 2021 · 46 revisions

Table of Contents

Steam Play games do not start for me

There's pressure vessel used by default with Valve's Proton builds which is incompatible with flatpak. Give Proton community build https://github.com/flathub/com.valvesoftware.Steam.CompatibilityTool.Proton#installation a try.

You will also see Proton "Community edition" built for flatpak from gnome-software as "complement/extension" in steam app. Once installed go to preferences -> Steam play and change the compatibility tool to use the Proton community eddition.

Newer Mesa is required for running my game

See https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/wikis/mesa-git

My game is giving strange errors about missing symbols in libraries

The game (or in some rare cases Steam Runtime itself) is most likely bundling libraries that are incompatible with org.freedesktop.Platform. You might have noticed from Steam community in some cases LD_PRELOAD is being used to workaround cases like this. Don't worry, we have a scaling solution!

We have an automatically activated tool called shared-library-guard which can block bad libraries from ever being loaded. If you already (from some community post) know which library is needed, your task is easy. You just need to create a new file like https://github.com/flathub/com.valvesoftware.Steam/blob/beta/resources/blocklist/civilizationV.yml with some path fragments to match the game executable and the bad library. Don't be shy to create a pull request even if you don't know if the end result works. Flathub test build system will remotely create you a test build from pull request that you can test whether your approach was correct. If you start this app from terminal through flatpak run com.valvesoftware.Steam, you should on a success see a comment that the library was blocked and the game will start.

If you don't know what the problem is, please create an issue. First step is we need to figure out what the executable name is. You can basically just do SHARED_LIBRARY_GUARD_DEBUG="*(/*|/.*)/*" flatpak run com.valvesoftware.Steam > output.log 2>&1, launch the game and attach the output to an issue after closing the app. We'll help you creating a working pull request with blocklist entries for the game.

glXChooseVisual failed, segfaults etc with nVidia

If you're using nVidia, this may mean Flatpak is running userspace drivers that are incompatible with your host installation. The first thing to try is to do flatpak update in terminal. If there is no corresponding flatpak extension for your drivers, request one at https://github.com/flathub/org.freedesktop.Platform.GL.nvidia/issues

The application is using a lot of disk space

This application installs Steam including its runtime under a sandbox in ~/.var/app/com.valvesoftware.Steam. It looks to software running inside the application like regular user home. This directory will also contain all installed games, configurations and saves.

The easiest way to free up space is to uninstall games you don't use within Steam. Removing contents directly is possible but any lost data will be unrecoverable so don't touch it unless you're ready to risk your data and have read online how Steam stores data on Linux. Most of it should be relevant.

lib.so.6 cannot be found

This is caused by Steam app having been installed by something that doesn't correctly follow dependencies and install runtime extensions. If you installed through command-line, update Flatpak and run flatpak update to fix the issue. If you were using some GUI, report a bug against that GUI.

I got my Flatpak application into a bad shape and want to start from scratch

To reset steam for a clean install and settings try:

    flatpak run com.valvesoftware.Steam --reset

If you're using beta app, also see Using beta branch of this app

My controller isn't being detected

Most controllers require udev rules installed on the host to be usable. The Flatpak application doesn't have permissions to install udev rules in appropriate locations and udev rules shipped by Steam may also be insufficient without distribution customizations. See discussion in https://github.com/flathub/com.valvesoftware.Steam/issues/8 on locating good udev rules for your system.

Controller emulation / remapping ("Controller Configuration" in the big picture menu) can block a games access to real controllers in favour of a virtual "Microsoft X-Box 360 pad". The virtual controller only works when the game window is focused. The creation of the virtual controller can fail, with the error Couldn't initialize virtual gamepad: Couldn't open /dev/uinput for writing printed in the terminal. This can be fixed by giving your user write access to /dev/uinput.

bwrap: Can't make symlink at $HOME/...

Symlinks in home directory are not supported. See: https://github.com/flatpak/flatpak/issues/1658 for Flatpak issue.

Steam shows times with incorrect timezone

There's a fairly brute algorithm in place to try to guess correct variable to set to TZ. The application ignores TZ environment variable since the rules for TZ are reasonably complex. If your timezone is wrong and you want to override it, you can use this (Remember that zoneinfo must be a valid item under /usr/share/zoneinfo within the Flatpak application. You can find out what they are by entering flatpak through flatpak run --command=bash com.valvesoftware.Steam and looking into what /usr/share/zoneinfo has):

    flatpak --user override --env=TZ=zoneinfo com.valvesoftware.Steam

Numbers don't look properly localized in Steam

There's a hardcoded LC_NUMERIC=C. See https://github.com/flathub/com.valvesoftware.Steam/issues/62 If you find out the crashes no longer happen with described locales, comment on the case and the workaround might get removed given sufficient testing.

I messed up Steam app with overrides and now it won't start

User overrides are stored in ~/.local/share/flatpak/overrides/

Steam shows wrong free disk space on non-default libraries

This is a Steam https://github.com/ValveSoftware/steam-for-linux/issues/3881. It can happen if you give access to the library by pointing to the steamapps folder directly, e.g. --filesystem=/mnt/external_drive/games/steamapps. In this case Steam will try to read the free disk space from /mnt/external_drive/games, which is outside the sandbox, and will show the free disk space of the root tmpfs instead.

This can be fixed by allowing Steam access to the folder containing steamapps (in this case by --filesystem=/mnt/external_drive/games), or by moving the Steam library into a separate folder (e.g. /mnt/external_drive/games/steam_games/steamapps, with the override being --filesystem=/mnt/external_drive/games/steam_games).

I want to add external disk for Steam libraries

Do this by mounting the disk outside your home, then using:

    flatpak override --user --filesystem=/path/to/mountpoint com.valvesoftware.Steam

to expose the disk to Flatpak. Then directly in Steam add the other location as library. (https://support.steampowered.com/kb_article.php?ref=7418-YUBN-8129) Exposing real user home to this application is not safe and the application tries hard not to run in that scenario to avoid breaking your home directory.

Note that if you hit this FAQ section due to an error message and were previously using real home with the app, you may need to fix some directories manually. The application cannot fix anything, it was never supposed to have access to your real home directory to begin with:

$HOME/.config vs $HOME/.var/app/com.valvesoftware.Steam/.config

$HOME/.local/share/ vs $HOME/.var/app/com.valvesoftware.Steam/.local/share

$HOME/.cache vs $HOME/.var/app/com.valvesoftware.Steam/.cache

The third one should contain only non-persistent data, the second one contains all your games in addition to potentially save game data. The first one may contain save game data. If games were writing to non-standard directories outside XDG directories, no general advice for relocating data can be provided.

System Tray icons for Steam are missing

Try: ln -s ~/.var/app/com.valvesoftware.Steam/.local/share/Steam ~/.local/share/Steam. Possible explanation: systray is looking for the icons in ~/.local/share/Steam (same as in "bare-metal" version); but flatpaks are installed under .var/app/.

My issue is not related with anything listed here

Also search for https://help.steampowered.com/ for tips. Do make sure to primarily file issues to https://github.com/flathub/com.valvesoftware.Steam/issues

Clone this wiki locally