- Jan 08, 2021
-
-
Ludovico de Nittis authored
The relaunch container option allows us to correctly handle the final environment variables from the main program, because we don't know them in advance, when we create the container for the setup steps. The downside is a potentially increased startup time. Until we enable this by default it would be very difficult to estimate the real impact that this option could have on real world systems. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Jan 05, 2021
-
-
Simon McVittie authored
It's distracting to see messages about gameoverlayrenderer all over the place. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This will be enabled if we are writing a log. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jan 04, 2021
-
-
Ludovico de Nittis authored
With this change it should be easier for users to gather the necessary logs when filing an issue report. They can now just launch Steam with "STEAM_LINUX_RUNTIME_LOG=1", and optionally also "STEAM_LINUX_RUNTIME_VERBOSE=1", and a log file will be created in their Scout/Soldier install directory. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
With the new "STEAM_LINUX_RUNTIME_VERBOSE" it should be more clear that we are enabling the verbose logs for all the Steam Linux Runtime components, instead of just pressure-vessel. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Dec 10, 2020
-
-
Simon McVittie authored
This creates a lot of noise on stderr if we're in verbose mode, but is not actually useful. By silencing it, we can have the actual problem appear more prominently. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
If starting the container failed the first time we tried it, there's no point in trying again repeatedly. Unfortunately, when Steam runs setup commands, it ignores their exit status, so we can't make it give up early. Because the main game runs in a slightly different environment, it's possible that it might succeed even when setup commands fail, and it's also possible that launch options are making it more verbose or debuggable, so try harder to start that one. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Dec 03, 2020
-
-
Simon McVittie authored
The waitforexitandrun verb is the first opportunity we get to know what our final environment variables are. It's also the first time we get run under "adverb" wrappers, if any, such as taskset. Proton uses a single set of Wine services to run the setup commands, then shuts them down and relaunches everything for the actual game; we can do similarly here. However, the startup time cost of doing this could be significant, so it's currently off by default so that we can experiment with it. Run with PRESSURE_VESSEL_RELAUNCH_CONTAINER=1 to try it. Partially addresses steam-runtime#304. Resolves: T25223 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Nov 24, 2020
-
-
When a game is launched with a custom launch option as: "LD_LIBRARY_PATH="/my_libs:${LD_LIBRARY_PATH}" %command%" we want to treat /my_libs as if it were part of the OS-level search path. Instead of overloading "SYSTEM_LD_LIBRARY_PATH", this patch introduces a new, more appropriate, environment variable called "PRESSURE_VESSEL_APP_LD_LIBRARY_PATH". Please note that "PRESSURE_VESSEL_APP_LD_LIBRARY_PATH" will also contain the system paths that are coming from `ldconfig` (added by the "run.sh" script). Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Nov 17, 2020
-
-
Simon McVittie authored
Apparently NixOS puts it somewhere else, although it does at least concede that a path other than /usr/bin for env is doomed to failure. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Oct 26, 2020
-
-
Simon McVittie authored
In newer versions of bash, an empty array counts as having been set, and can be dereferenced as `"${array[@]}"` without triggering `set -u`. However, in older versions, empty arrays count as being unset, and the entry point script fails with `launch_args[@]: unbound variable`. Resolves: https://github.com/ValveSoftware/steam-runtime/issues/284 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Oct 22, 2020
-
-
Simon McVittie authored
Apparently Wine/Proton processes often get stuck during teardown, resulting in an unwanted delay. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Sep 30, 2020
-
-
Ludovico de Nittis authored
If set, use PRESSURE_VESSEL_SOCKET_DIR in preference to XDG_RUNTIME_DIR. This is useful for example when we are in a Flatpak environment where we can't relay on XDG_RUNTIME_DIR because its value might differ between inside and outside the container. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Sep 28, 2020
-
-
Ludovico de Nittis authored
Instead of manually whitelisting all the environment variables that we might need, we pass them all. Pressure-vessel then will filter out the variables that are know to be wrong in the sandbox and the ones that will be edited. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Sep 11, 2020
-
-
Ludovico de Nittis authored
Previously to Bash 4.4, using `${container_args[@]}` was an error if `container_args` was an empty array. With this fix we expand to the array elements only if the array is not empty. (Fixes: T23654) Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Sep 08, 2020
-
-
Simon McVittie authored
This assumes pressure-vessel sets it when appropriate (pressure-vessel!81). Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This requires pressure-vessel!79. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This replaces the equivalent functionality in pv-wrap, which we cannot use when we are only using pv-wrap to run pv-launcher. It requires pressure-vessel!78. Resolves: #2 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Sep 04, 2020
-
-
Simon McVittie authored
This prevents the game's options (if they start with --, e.g. Subnautica) from being interpreted as options for the adverb. Thanks: Andrew Eikum Resolves: #1
-
- Aug 27, 2020
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
STEAM_COMPAT_APP_LIBRARY_PATH and STEAM_COMPAT_MOUNT_PATHS have gone away, and we now have STEAM_COMPAT_INSTALL_PATH, STEAM_COMPAT_LIBRARY_PATHS and STEAM_COMPAT_SHADER_PATH instead. A future Steam version will add STEAM_COMPAT_MOUNTS. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Aug 25, 2020
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
When invoked to run a non-app non-game like steam-runtime-system-info, there is (correctly) no app ID. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
These are now all optional, and STEAM_COMPAT_MOUNT_PATHS is also included in the list. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Aug 19, 2020
-
-
Simon McVittie authored
We need this for Proton integration: a Proton game runs several setup commands, followed by the game itself. This prototype has some limitations: * An as-yet-unreleased version of Steam is required. * A systemd-style XDG_RUNTIME_DIR is required. We'll fall back to /tmp when this can be done without introducing a security flaw. * Old session directories in XDG_RUNTIME_DIR are not cleaned up. * There are a lot of processes, most of which should be unnecessary. * The environment handling is rather ad-hoc. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-