Skip to content

Frequently asked questions (FAQ)

R1kaB3rN edited this page Jan 29, 2025 · 13 revisions

Frequently asked questions (FAQ)

How do I run more than one game in the same wine prefix?

By default, umu-launcher sets the Proton verb waitforexitandrun when launching games, which will cause the current process to wait until an active wineserver process has exited. To run more than one game in the same prefix, you must disable this behavior for subsequent games by setting either PROTON_VERB=runinprefix or PROTON_VERB=run.

Also, it's important that the Proton or wine configuration for each nth game is equivalent except for the PROTON_VERB environment variable. Otherwise, unexpected behavior may occur. For example:

GAMEID=0 umu-run foo

GAMEID=0 PROTON_VERB=runinprefix umu-run foo

However, launching the second game with fsync disabled would be invalid:

GAMEID=0 umu-run foo

GAMEID=0 PROTON_VERB=runinprefix PROTON_NO_FSYNC=1 umu-run foo

How do I use a Proton that is installed in a system path?

To use a Proton build installed in a system path, explicitly set the path in PROTONPATH. For example:

GAMEID=0 PROTONPATH=/usr/share/steam/compatibilitytools.d/proton-ge-custom-bin umu-run foo

umu-launcher only searches $HOME/.local/share/Steam/compatibilitytools.d for UMU-Proton or GE-Proton builds when configured to use the latest Proton build. See the documentation for an example on how to do this.

Proton is compiled and is designed to execute in a runtime environment, and the reason umu-launcher does not search system paths is because compatibility tools there may not all be compiled against the Steam Linux Runtime. Since the goal of this project is for users to run their games through Proton just as it were launched from Steam, using Proton builds that were compiled outside the SLR would be against the project's goals.

How do I make more files available to the Steam Runtime container?

By default, pressure-vessel exposes the entirety of the user's home directory and environment variables defined in the compatibility tools interface, while only a subset of the host's filesystem paths to its container.

To make more files available to the Steam Runtime container, set STEAM_COMPAT_LIBRARY_PATHS with a value or colon-delimited values of absolute filesystem paths.

GAMEID=0 STEAM_COMPAT_LIBRARY_PATHS="/foo:/bar" umu-run baz

Alternatively, setting eitherPRESSURE_VESSEL_FILESYSTEMS_RO or PRESSURE_VESSEL_FILESYSTEMS_RW are also valid.

Why am I not able to see my game when using my launcher from Steam mode (Gaming mode)?

Currently, to launch your game in Steam mode, umu-launcher depends on the Proton verb waitforexitandrun and at least one of Steam's shader cache environment variables to be set in the environment, namely: STEAM_COMPAT_TRANSCODED_MEDIA_PATH, STEAM_COMPAT_MEDIA_PATH, STEAM_FOSSILIZE_DUMP_PATH, and DXVK_STATE_CACHE_PATH. For the latter, one case it can occur is when the Steam client's Shader Pre-Caching feature has been unchecked. If neither conditions are met, umu-launcher will not be able to show the game window and you will continue to see a window with Steam's spinner.

The problem of not being able to see the game's window is currently an upstream issue in gamescope that only affects Flatpak applications in Steam mode as one can find that this issue will not exist when launching the game from the desktop environment instead. The exact cause is still not clear as it involves Flatpak, gamescope, Steam, and pressure-vessel. Nonetheless, the umu-launcher fix for this is to bring the window to the foreground just as Steam or gamescope would for Steam games. It does this by acquiring the non-Steam game's (e.g., Lutris, Heroic Games Launcher, etc.) app ID then changing the values of the relevant gamescope X11 atoms to what they should be.

Until this issue is properly addressed upstream or when clients do not depend on Steam for overlays and controller support, the aforementioned conditions will be requirements for bringing the game window to the foreground.