-
v0.20241118.0 protectedf21aab3e · ·
steam-runtime-tools v0.20241118.0 * populate-depot: Set filter_exclusive_priority equal to major version. This allows the Steam client to distinguish between mutually incompatible branches like soldier and sniper, and avoid offering one as a way to run games that expect the other. (steamrt/tasks#597)
-
v0.20241111.0 protectedf7326c8d · ·
steam-runtime-tools v0.20241111.0 * pressure-vessel: - Add a mechanism to set SDL_DYNAMIC_API to force use of the runtime's version of SDL2 in a non-distro-specific way, even in games that have their own bundled or statically-linked SDL2 (as long as it is version ≥ 2.0.2 and the dynapi feature has not been disabled). This can be activated by setting a game's launch options to `STEAM_COMPAT_RUNTIME_SDL2=1 %command%` or by adding `runtime-sdl2` to `STEAM_COMPAT_FLAGS`. (steamrt/tasks#578) - Add an equivalent mechanism for SDL3_DYNAMIC_API, activated via `STEAM_COMPAT_RUNTIME_SDL3=1` or `runtime-sdl3`. This is not practically useful yet, but will become relevant when we start to provide SDL3 in runtimes. (steamrt/tasks#578)
-
v0.20241101.0 protected9d15225e · ·
steam-runtime-tools v0.20241101.0 * pressure-vessel: - Fix setup of VDPAU drivers in the container, which regressed in v0.20231128.0 (steam-runtime-tools!764) - Use host versions of libdrm family if newer, even without an explicit dependency, defending against possible use of dlopen() for these libraries in future Mesa releases (see mesa/mesa!21658) - Share $STEAM_RUNTIME_SCOUT with the container, so that Steam Linux Runtime 1.0 can use it (steamrt/tasks#520) - Update bubblewrap to 0.11.0 + improved logging on error (steamrt/tasks#444) * s-r-dialog: - Prefer to look for s-r-dialog-ui in $STEAM_RUNTIME_SCOUT (steamrt/tasks#520) * Diagnostic tools: - Fix build with Vulkan-Loader 1.3.296 and slightly improve error reporting (steam-runtime-tools!765) * Tree-wide: - Consistently disable GIO modules for any executable with an RPATH, but restore them before steam-runtime-urlopen runs external programs (steamrt/tasks#505) - Documentation updates * tests: - Avoid invalid escape sequences in JSON, avoiding test failures with json-glib 1.10
-
v0.20240916.0 protected3dbde195 · ·
steam-runtime-tools v0.20240916.0 * pressure-vessel: - If using host libxkbcommon, try to use host libxkbcommon-x11 as well (steamrt/tasks#530) - Update libcapsule to 0.20240916.0 + avoid a spurious warning when using the "symbols" comparison order for a library with versioned symbols - Update Flatpak-derived code from 1.15.10 + no functional changes - Update bubblewrap to 0.10.0 + no functional changes in the parts used by pressure-vessel * srt-logger: - Add timestamps in the log file (steamrt/tasks#537) * Library code / tree-wide changes: - Update libglnx to 2024-08-23 - Fix lint warnings in shell/Python scripts
-
v0.20240820.0 protectedd44ee3f2 · ·
steam-runtime-tools v0.20240820.0 [ Ryan Gonzalez ] * steam-runtime-urlopen: - When run inside the scout LD_LIBRARY_PATH runtime, if unable to open the URL via xdg-desktop-portal or Steam fails, fall back to removing the runtime's environment variables and running the system copy of xdg-open if any (steamrt/tasks#489) * srt-run-outside-ldlp: - New tool which can be used in the scout LD_LIBRARY_PATH runtime, to run system commands such as xdg-email without compatibility issues or overhead caused by the runtime or the Steam Overlay (steamrt/tasks#489) [ Simon McVittie ] * Internal changes: - Fix build with glibc 2.39 - Fix build with GLib 2.81.x - srt-run-outside-ldlp: Fix logging issues
-
v0.20240809.0 protectedfae8cd38 · ·
steam-runtime-tools v0.20240809.0 * pressure-vessel: - Treat /var/lib/dbus as a reserved path, fixing an issue where the container runtime would not start if /var/lib was in $XDG_DATA_DIRS and /var/lib/dbus/machine-id on the host was a regular file (steamrt/tasks#493, steam-runtime#688) - Similarly treat /var/run as a reserved path for completeness - Don't share paths with the container just because they appear in $XDG_CONFIG_DIRS or $XDG_DATA_DIRS. This avoids a category of possible regressions similar to steam-for-linux#10789 and steam-runtime#688. If additional shared paths are required, advanced users can still add them to PRESSURE_VESSEL_FILESYSTEMS_RO or PRESSURE_VESSEL_FILESYSTEMS_RW as before. (steamrt/tasks#493) * steam-runtime-launch-options (developer tool): - Accept reaper and steam-launch-wrapper in either order (steamrt/tasks#266) - Switch to user-specified LDLP runtime before running reaper and/or steam-launch-wrapper (steamrt/tasks#489)
-
v0.20240806.0 protected5373a586 · ·
steam-runtime-tools v0.20240806.0 [ Simon McVittie ] * pressure-vessel: - Update libcapsule to 0.20240806.0 + Always rewrite the symlink target, fixing a regression on NixOS (steam-runtime#684) + Improve consistency of capsule-capture-libs diagnostic messages - If running under srt-logger ≥ 0.20240726.0, mark each diagnostic message from capsule-capture-libs with its severity - Silence a spurious warning for libnvidia-pkcs11 on Ubuntu 24.04 (steamrt/tasks#488) * SteamLinuxRuntime 1.0: - Update fallback code path to account for changes in the Steam client since May 2024 (steamrt/tasks#490) [ Ryan Gonzalez, Simon McVittie ] * srt-logger: - Avoid reopening log file unnecessarily, fixing a regression in 0.20240805.0 (steamrt/tasks#487)
-
v0.20240805.0 protectede8fe550f · ·
steam-runtime-tools v0.20240805.0 [ Simon McVittie ] * pv-runtime: - Don't import host CA certificates when running under Snap (steamrt/tasks#416, workaround for canonical/steam-snap#397) [ Ryan Gonzalez ] * srt-logger: - Reopen output log files if they get deleted or replaced, for example by a developer wanting to clear out old logs before reproducing an issue (steamrt/tasks#487) -- Simon McVittie <smcv@collabora.com> Mon, 05 Aug 2024 19:11:13 +0100
-
v0.20240802.0 protected4b62f232 · ·
steam-runtime-tools v0.20240802.0 * pressure-vessel: - Add a mechanism to take CA certificates from the host (steamrt/tasks#416) - Update Flatpak-derived files from 1.15.9 * srt-logger: - Avoid using buggy g_log_writer_is_journald() implementation in GLib 2.58.x, fixing automatic redirection of messages to the Journal (steamrt/tasks#461) * all tools: - Apply steamrt/tasks#481 workaround globally, so that we can rely on it everywhere
-
v0.20240726.0 protectedd8cf3907 · ·
steam-runtime-tools v0.20240726.0 * all tools: - Optionally prepend a priority level marker to each diagnostic message (steamrt/tasks#444) * srt-logger: - Add an early call to g_ascii_strtoull() to avoid an apparent GLib bug (steamrt/tasks#481) - Propagate error message, if any, through _srt_syslog_level_parse * tests: - Add sample code to print GLib messages with a priority prefix (steamrt/tasks#444) - Add test coverage for _srt_syslog_level_parse() (steamrt/tasks#481)
-
v0.20240725.0 protecteda8aa736c · ·
steam-runtime-tools v0.20240725.0 [ Simon McVittie ] * pressure-vessel: - Try to provide /usr/${LIB}/gconv in the container. This fixes 64-bit games' use of iconv, and therefore indirectly Easy Anti-Cheat, on Void Linux (steamrt/tasks#477, ValveSoftware/steam-runtime#680) - Don't warn if library aliases are missing from secondary architectures (steamrt/tasks#367) [ Ryan Gonzalez ] * srt-logger: - Add --parse-level-prefix option to parse systemd-cat-style priority level prefixes (steamrt/tasks#444) - New --default-level option sets the log priority to be assumed for lines that do not have a prefix (or for all lines if --parse-level-prefix is not used), defaulting to INFO - New --file-level, --journal-level, --terminal-level options limit the messages logged to each destination. By default all messages go to the log file, and to the Journal if used. By default messages of INFO level or higher go to the terminal (therefore DEBUG messages are excluded). - Color messages that are logged to the terminal based on their level, similar to journalctl
-
v0.20240718.0 protectedbcbaa0e4 · ·
steam-runtime-tools v0.20240718.0 [ Simon McVittie ] * srt-logger: - Don't set SRT_LOG_TO_JOURNAL if there are other log destinations (steamrt/tasks#466) - Add --sh-syntax, which reports whether the logger has started successfully and provides environment variables in sh(1) syntax (steamrt/tasks#460, steamrt/tasks#461) - Add --background, which should be used when combining srt-logger with a subreaper (steamrt/tasks#460) - Add ${pkglibexecdir}/logger-0.bash, a convenience binding for use in bash scripts (steamrt/tasks#461) * s-r-dialog-ui: - Try to use the "GoNotoKurrent" fonts provided by the Steam UI for better glyph repertoire, falling back to the system sans-serif font if those are not available (steamrt/tasks#462) * s-r-launch-options: - Remove support for obsolete Steam Runtime 1½ 'heavy' * pressure-vessel: - Avoid spurious warnings about masking /etc/vulkan/*.d - Update Flatpak-derived code to Flatpak 1.15.8 * build: - Remove support for obsolete Steam Runtime 1½ 'heavy' - Require GLib 2.58.x. We now have a backport of GLib 2.58.x in Steam public betas' version of Steam Runtime 1 'scout', and the same version is bundled with relocatable pressure-vessel releases. Users of `build-aux/many-builds.py` will need to run `build-aux/many-builds.py deps` to download the new scout release before they can continue to compile steam-runtime-tools. - debian: Require SDL2_ttf for all packaged builds * documentation: - Mostly stop mentioning obsolete Steam Runtime 1½ 'heavy' * tests: - Expand test data for game controllers (steamrt/tasks#287) [ Ryan Gonzalez ] * srt-logger: - Preparations for passing through priority prefixes to the systemd Journal (steamrt/tasks#444)
-
v0.20240610.0 protectedb9823992 · ·
steam-runtime-tools v0.20240610.0 * srt-logger: - Avoid delay when copying log messages to the terminal (steamrt/tasks#447) - Improve error handling - Don't close standard file descriptors if given e.g. --journal-fd=2 - More consistently take the Journal code path if stderr is the Journal - Improve test coverage
-
v0.20240530.0 protected2c3d78e1 · ·
steam-runtime-tools v0.20240530.0 [ Simon McVittie ] * SteamLinuxRuntime etc.: - Allow all SLR branches to show in the UI (steamrt/tasks#426) - Don't remove empty files and symlinks when SDK sysroot is enabled (steamrt/tasks#448) * pressure-vessel: - Don't enable snapd workarounds by default. Since snapd 2.62, we do not need any special workarounds. - Fix a build regression with GLib 2.80.x - Update Flatpak-derived code to Flatpak 1.14.8. Some error messages are now clearer. - Update libcapsule to v0.20240520.0. No functional changes: we already had the most important changes. * tests: - Test the SDK sysroot in CI, even for non-protected branches (steamrt/tasks#448) [ Ryan Gonzalez ] * srt-supervisor: - Be compatible with kernels that do not enable CONFIG_PROC_CHILDREN, such as ChromeOS (steamrt/tasks#445) * build: - Don't attempt to build UI code if SDL_ttf is missing - build-aux: Improve docker/podman functionality - build-aux: Disable introspection on Clang asan builds
-
v0.20240422.0 protected37f27aec · ·
steam-runtime-tools v0.20240422.0 * srt-logger: - Drop severity of log redirection from NOTICE to INFO. This means it won't be shown by default. * pressure-vessel: - Don't crash if /var/cache appears in $XDG_DATA_DIRS (steamrt/tasks#434, steam-for-linux#10789) - Generally improve handling of XDG_CONFIG_DIRS entries, XDG_DATA_DIRS entries and other exported directories that are in reserved locations * Tests: - Fix a unit test failure when running under podman with overlayfs storage driver * Internal changes: - Update libglnx to 2024-04-20 + Add G_PID_FORMAT backport + Avoid deprecation warnings in g_steal_fd backport + Fix function detection when using -Werror=return-type - .editorconfig: Add
-
v0.20240415.0 protectedbdf30201 · ·
steam-runtime-tools v0.20240415.0 * steam-runtime-supervisor: - New tool, a less specialized version of pressure-vessel-adverb (steamrt/tasks#387) * pressure-vessel: - Better handling of LD_PRELOAD modules and VDPAU drivers on distributions like Clear Linux and Solus that use lib64 and lib32 directories (steam-runtime#642) - Update srt-bwrap to be identical to bubblewrap v0.9.0 + Use a clearer error message when mount(2) fails with ENOSPC (ValveSoftware/steam-runtime#637) + Make --symlink idempotent + Add --argv0 option + Fix a double-close + Fix various compiler warnings, etc. + Improve documentation * SLR_soldier, SLR_sniper: - Rename files in *_platform_*/files/ that could cause distribution issues or be deleted by over-zealous cleanup tools (steam-for-linux#10614, steamrt/tasks#422) + non-Windows-friendly filenames (containing :, etc.) + **/__pycache__/*.pyc + **/.cache/** + **/tmp/** - Save some space by using the same mechanism to preserve hard-links * Refactoring
-
v0.20240321.1 protectedf86a143b · ·
steam-runtime-tools v0.20240321.1 * pressure-vessel: - Fix a regression in handling of Vulkan layers since 0.20240301.0 (steam-runtime#662) - pv-adverb: Don't corrupt stdout if we emit a debug message during command-line parsing * pv-verify: - Don't fail verification for parents of a contents= filename (steamrt/tasks#422) * SteamLinuxRuntime, SLR_soldier, SLR_sniper: - Add filter_exclusive property to tool manifests (steamrt/tasks#426) * Packaging: - Don't build steam-runtime-tools-ui on Steam Runtime 1½ 'heavy' - Fix some typos in the previous changelog entry * Tests: - test-logger: Avoid a race condition that could make the test fail
-
v0.20240321.0 protectede5a61e1d · ·
steam-runtime-tools v0.20240321.0 * steam-runtime-system-info: - Do the same functional tests on bwrap that were previously only done in s-r-check-requirements (steamrt/tasks#406) - Do a functional test on flatpak-portal subsandboxes (steamrt/tasks#406) * steam-runtime-check-requirements: - Emit more specific messages for several common bwrap problems (steamrt/tasks#406) - Detect several common Flatpak problems (steamrt/tasks#406) * steam-runtime-launch-client: - Document --env-fd * srt-logger: - New tool to divert command output to a log file (with rotation), the terminal from which Steam was run (if any), and optionally the systemd Journal (steamrt/tasks#393) - Unset LD_PRELOAD etc. before running srt-bwrap, matching what we will actually do in pressure-vessel (steam-runtime#658) * steam-runtime-dialog: - New tool, a wrapper for zenity-style UIs (steamrt/tasks#376) * steam-runtime-dialog-ui: - New tool, a fallback UI for steam-runtime-dialog (steamrt/tasks#376) * steam-runtime-launch-options: - Use ~/.steam/root/steam-dialog, if available, in preference to zenity * pressure-vessel: - Treat $BWRAP as less-preferred than pv-bwrap. The order we try is now: $PRESSURE_VESSEL_BWRAP > srt-bwrap > $BWRAP > system bwrap instead of the previous: $PRESSURE_VESSEL_BWRAP > $BWRAP > srt-bwrap > system bwrap - Add a PRESSURE_VESSEL_WORKAROUNDS environment variable. This is a space- or comma-separated list of workarounds to enable ("+foo") or disable ("-foo"). Currently workarounds `steam-snap#356`, `steam-snap#369` and `steam-snap#370` are enabled by default while running under Snap, but they can be disabled to test new Snap releases where the relevant bug has been fixed. For non-Snap systems, the initial workarounds are `bwrap-no-perms` and `bwrap-setuid`, which are used automatically if they appear to be needed, but can be explicitly enabled or disabled for testing. - Fix a regression when using a setuid system copy of bubblewrap (steam-runtime#650) - Make library dependencies in /var/lib/snapd/hostfs available, fixing missing /usr/share/nvidia (steam-runtime#586). This is only done if `-steam-snap#359` appears in PRESSURE_VESSEL_WORKAROUNDS. - Make library dependencies in /snap available, fixing missing /usr/share/libdrm (steam-runtime#586). This cannot yet be done by default because it is not allowed by the AppArmor profile (canonical/steam-snap/issues/359), so it is only done if "-steam-snap#359" appears in PRESSURE_VESSEL_WORKAROUNDS. - Under Flatpak, use --env-fd to shorten s-r-launch-client command line - Remove dead code for non-subsandbox Flatpak - Refactoring * SteamLinuxRuntime_sniper.sh: - exec entry point instead of running it as a subprocess. This saves us a process, and more directly, it means that there's one fewer process that will not terminate its descendants when killed. - Use ~/.steam/root/steam-dialog for UI if available * Refactoring * tests: Improve unit test coverage
-
v0.20240306.0 protected346197eb · ·
steam-runtime-tools v0.20240306.0 * steam-runtime-check-requirements: - Adjust wording of messages (steamrt/tasks#406) * pressure-vessel: - Update libcapsule to a version that works around smaller-than-default stack limits by using heap allocation (steam-runtime#653) - Work around more AppArmor profile issues in snapd (steamrt/tasks#408, canonical/steam-snap#369, canonical/steam-snap#370)
-
v0.20240301.0 protected2266ff49 · ·
steam-runtime-tools v0.20240301.0 * steam-runtime-check-requirements: - Diagnose some common situations that will break steamwebhelper now that it runs under a sniper container (steamrt/tasks#406) + Check for a working version of bubblewrap (either our bundled copy srt-bwrap if unprivileged processes can create new user namespaces or a setuid-root system copy if they cannot), reporting an error message if none can be found + Check whether ~/.steam/root is below /usr, reporting an error message if it is - Add repeatable -v option to show more info, similar to flatpak -vv * steam-runtime-system-info: - Add a diagnostic flag for running Steam from below /usr (just for completeness, since Steam will no longer launch successfully in this situation) * pressure-vessel: - Work around several important paths being symlinks to a non-shared filesystem by automatically sharing their symlink targets: - ~/.config/cef_user_data, fixing a steamwebhelper crash (steamrt/tasks#411) - ~/.cache, $XDG_CACHE_HOME - ~/.config, $XDG_CONFIG_HOME - ~/.local/share, $XDG_DATA_HOME - ~/.local/state, $XDG_STATE_HOME - $XDG_CONFIG_DIRS - $XDG_DATA_DIRS - ~/.local/share/Steam - Unset STEAM_ZENITY on entry, and reset it to a path accessible inside the container runtime before running the game (steamrt/tasks#397) - If the Steam Deck's system tracing developer option is enabled, mount /sys/kernel/tracing rw (steamrt/tasks#404) - Change pv-adverb exit status to 126 (was 127) if the executable was found but could not be run - Change pv-adverb exit status to 255 (was 69) if we somehow lose track of the main process - Fix pv-adverb --assign-fd=X=Y so that only Y is required to be open already (previously X was also required to be open) - Improve pv-adverb test coverage - Only build pressure-vessel during development builds, or if targeting Steam Runtime 1.0 'scout' (which is the source of the official binary releases, for maximum cross-distro compatibility) - Adjust for rename of pv-bwrap to srt-bwrap * Steam Linux Runtime 1.0 (scout): - Remove workaround for a mid 2021 configuration change * steam-runtime-launcher-service --alongside-steam: - Only unset STEAM_ZENITY if it belongs to the LDLP runtime. Keep it as-is if it's the empty string (used on Steam Deck to disable use of zenity) or if it's the absolute path to the host zenity. (steamrt/tasks#397) * steam-runtime-launch-options: - If GUI dependencies are missing, log that to stderr - Don't use zenity if STEAM_ZENITY is explicitly set empty (steamrt/tasks#397) - Don't re-enter the scout runtime to run system zenity (steamrt/tasks#396, steamrt/tasks#397) * Library code / tree-wide changes: - Change "adverb" commands' exit status to 255 (previously 70 for pv-adverb, 128 for launch-client and launcher-interface-0) if the wait status cannot be parsed, consistent with bubblewrap - Move some code from pressure-vessel to be shareable between tools - Avoid using Flatpak-derived code outside pressure-vessel, to simplify the build - Update libglnx to 2024-02-09 - Use libglnx's backport of g_fdwalk_set_cloexec() everywhere, for better async-signal-safety - Factor out basic libc-based utility functions into a static library - Better automated test coverage * Documentation updates