Skip to content
Tags give the ability to mark specific points in history as being important
  • v0.20240726.0 protected
    d8cf3907 · Release v0.20240726.0 ·
    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
    a8aa736c · Prepare v0.20240725.0 ·
    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
    bcbaa0e4 · Release v0.20240718.0 ·
    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
    b9823992 · Prepare v0.20240610.0 ·
    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
    2c3d78e1 · Prepare v0.20240530.0 ·
    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
    37f27aec · Prepare v0.20240422.0 ·
    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
    bdf30201 · Prepare v0.20240415.0 ·
    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
    e5a61e1d · Prepare v0.20240321.0 ·
    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
    346197eb · Prepare v0.20240306.0 ·
    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
    2266ff49 · Release v0.20240301.0 ·
    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
    e4db9be5 · Prepare v0.20240212.0 ·
    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
    5939215e · Prepare v0.20240126.0 ·
    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
    37c764a8 · Prepare v0.20240125.0 ·
    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
    b7491311 · Release v0.20240124.0 ·
    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
    adae43e6 · Prepare v0.20240123.2 ·
    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
    e18877a8 · Release v0.20240123.1 ·
    steam-runtime-tools v0.20240123.1
    
      * upload-artifacts: Really upload SteamLinuxRuntime.tar.xz
        (steamrt/tasks#375, steamrt/tasks#376)
  • v0.20240123.0 protected
    967aac39 · Prepare v0.20240123.0 ·
    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
    b0dd8468 · Release v0.20240119.0 ·
    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