Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • v0.20241118.0 protected
    f21aab3e · Prepare v0.20241118.0 ·
    Release: v0.20241118.0
    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 protected
    f7326c8d · Prepare v0.20241111.0 ·
    Release: v0.20241111.0
    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 protected
    9d15225e · Prepare v0.20241101.0 ·
    Release: v0.20241101.0
    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 protected
    3dbde195 · Prepare v0.20240916.0 ·
    Release: v0.20240916.0
    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 protected
    d44ee3f2 · Prepare v0.20240820.0 ·
    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 protected
    fae8cd38 · Release v0.20240809.0 ·
    Release: v0.20240809.0
    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 protected
    5373a586 · Prepare v0.20240806.0 ·
    Release: v0.20240806.0
    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 protected
    e8fe550f · Release v0.20240805.0 ·
    Release: v0.20240805.0
    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 protected
    4b62f232 · Prepare v0.20240802.0 ·
    Release: v0.20240802.0
    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 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