-
v0.20240726.0 protected Release: v0.20240726.0
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 protected Release: v0.20240725.0
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 protected Release: v0.20240718.0
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 protected Release: v0.20240610.0
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 protected Release: v0.20240530.0
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 protected Release: v0.20240422.0
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 protected Release: v0.20240415.0
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 protected Release: v0.20240321.1
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 protected Release: v0.20240321.0
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 protected Release: v0.20240306.0
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 protected Release: v0.20240301.0
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
-
v0.20240212.0 protected Release: v0.20240212.0
steam-runtime-tools v0.20240212.0 * pressure-vessel: - Look for internal Nvidia helper libraries by their canonical names, which will be helpful if canonical/steam-snap#361 is fixed (steam-runtime#586) - Drop code paths that we have not used in production since mid 2021: + Remove support for providing the runtime as a tar archive + Remove obsolete command line options: - pv-wrap --runtime-archive=... - pv-wrap --runtime-id=... - populate-depot.py --include-sdk-debug - populate-depot.py --include-sdk-runtime - populate-depot.py --no-minimize - populate-depot.py --no-unpack-runtime + Stop checking for and deleting pre-2021 unpack/deploy directories - Improve test coverage - Refactoring - CI: Simplify path to relocatable amd64+i386 build of pressure-vessel * Steam Linux Runtime 1.0 (scout): - Stop generating and uploading steam-container-runtime.tar.gz, superseded by SteamLinuxRuntime.tar.xz (steamrt/tasks#388) * Diagnostic tools: - Report some more VR-related environment variables (steam-runtime#575) - check-vulkan: Update list of known errors for v1.3.275 * s-r-launch-options: - Label medic and steamrt5 runtimes nicely * Library code: - Refactoring * Documentation updates
-
v0.20240126.0 protected Release: v0.20240126.0
steam-runtime-tools v0.20240126.0 * SteamLinuxRuntime_sniper.sh: Tolerate CRLF line endings in VERSIONS.txt (steamrt/tasks#375)
-
v0.20240125.0 protected Release: v0.20240125.0
steam-runtime-tools v0.20240125.0 * pressure-vessel: - When running in Flatpak, forward inherited fds to subsandbox (steam-runtime#644, fixing a regression in 0.20240103.0)
-
v0.20240124.1 protected Release: v0.20240124.1
steam-runtime-tools v0.20240124.1 * pressure-vessel: - Temporarily go back to using /run/pressure-vessel/ldso under Snap. This is a workaround for snapd's steam_support AppArmor profile making overly specific assumptions about pressure-vessel implementation details, and will be reverted in a future release. (canonical/steam-snap#356, steam-runtime#640) * SteamLinuxRuntime_sniper, etc.: - Fix relative path from steampipe metadata to top-level regular files (steamrt/tasks#375)
-
v0.20240124.0 protected
steam-runtime-tools v0.20240124.0 * pressure-vessel: - Temporarily go back to using /run/pressure-vessel/ldso under Snap. This is a workaround for snapd's steam_support AppArmor profile making overly specific assumptions about pressure-vessel implementation details, and will be reverted in a future release. (canonical/steam-snap#356, steam-runtime#640) * SteamLinuxRuntime_sniper, etc.: - Fix relative path from steampipe metadata to top-level regular files (steamrt/tasks#375)
-
v0.20240123.2 protected Release: v0.20240123.2
steam-runtime-tools v0.20240123.2 * SteamLinuxRuntime_sniper.sh, etc.: - Avoid corrupting machine-readable output on stdout, if any - If no COMMAND, just print an entry point to use later - Allow using a name not matching tarball content - Accept .version.txt as an alternative to .VERSIONS.txt (steamrt/tasks#375, steamrt/tasks#385)
-
v0.20240123.1 protected
steam-runtime-tools v0.20240123.1 * upload-artifacts: Really upload SteamLinuxRuntime.tar.xz (steamrt/tasks#375, steamrt/tasks#376)
-
v0.20240123.0 protected Release: v0.20240123.0
steam-runtime-tools v0.20240123.0 * SteamLinuxRuntime_sniper, etc.: - Optionally generate Steampipe upload configuration - Optionally generate an archive, and a script to unpack and launch it (steamrt/tasks#375, steamrt/tasks#376)
-
v0.20240119.0 protected Release: v0.20240119.0
steam-runtime-tools v0.20240119.0 * SteamLinuxRuntime 1.0 (scout): Catch up with changed filenames in the Steam client client beta, fixing a regression for SLR 1.0 games (steamrt/tasks#382) * Documentation updates * Add missing newline to some error messages * pv-adverb: Describe target of each redirection if debugging