Skip to content
Tags give the ability to mark specific points in history as being important
  • v0.20231013.1 protected
    bac27c41 · Release v0.20231013.1 ·
    Release: v0.20231013.1
    steam-runtime-tools v0.20231013.1
    
      * launcher-service: Unblock and unignore all signals during startup,
        fixing detection of subprocesses exiting when launched by Steam
        (steamrt/tasks#354, ValveSoftware/SteamVR-for-Linux#618)
  • v0.20231013.0 protected
    9d0a96fb · Release v0.20231013.0 ·
    Release: v0.20231013.0
    steam-runtime-tools v0.20231013.0
    
      * pressure-vessel:
        - Add more entries to the list of NVIDIA driver libraries,
          notably libnvidia-gpucomp. Thanks to Daniel Dadap (steamrt/tasks#340)
        - pv-runtime: Duplicate symlinks in /etc, /var into the FEX-Emu
          interpreter root, fixing incorrect /etc/os-release under FEX-Emu
          (steamrt/tasks#342)
        - pv-adverb: Reduce environment variables, etc. to debug level.
          This reduces noise when redirecting to the systemd Journal.
        - pv-runtime: Use a closer match for 99-pulseaudio-default.conf
          when the host system uses PulseAudio.
          Thanks to Nozomi Miyamori (steam-runtime#623)
        - pv-runtime: Show warnings if unable to load drivers/layers
          (steam-runtime-tools#108)
      * Reduce profiling messages to debug level unless SRT_LOG=timing.
        This reduces noise when redirecting to the systemd Journal.
      * build:
        - Quote clang, clang++ commands correctly
        - Fix generation of timestamp for scout-on-soldier at merge commits
        - debian: Work around Debian#1053836
      * tests: Silence valgrind false-positives for one-per-process allocations
  • v0.20230928.1 protected
    ce104521 · Release v0.20230928.1 ·
    Release: v0.20230928.1
    steam-runtime-tools v0.20230928.1
    
      * Hotfix for versions >= 0.20230919.0
      * pv-runtime: Deduplicate Vulkan drivers, etc. by their manifest content.
        When using Flatpak with the Nvidia drivers, we see two identical
        sets of manifests: they are intended to describe the x86_64 and i386
        drivers, but each one is equally valid to load the other, resulting in
        the same driver being loaded twice.
        Some games like Red Dead Redemption 2 and The Elder Scrolls Online
        have been reported to crash when this happens.
        Until 0.20230919.0, this was accidentally mitigated by
        steam-runtime-tools#124, but fixing that bug exposed the crashes.
        Avoid this by not making JSON manifests available in the container if
        they are a byte-for-byte duplicate of a manifest we already processed.
        (Regression in 0.20230919.0; steam-runtime#624)
      * tests: Stop assuming libcrypt will be pulled into a scout container.
        (Regression in 0.20230928.0)
  • v0.20230928.0 protected
    bea59a83 · Release v0.20230928.0 ·
    Release: v0.20230928.0
    steam-runtime-tools v0.20230928.0
    
      * pressure-vessel: Update libcapsule to v0.20230928.0
        - Don't treat libcrypt.so.1 as part of glibc.
          It's build-time optional since glibc 2.28, and is not built
          by default since 2.38. In newer distributions like Debian >= 11 and
          Ubuntu >= 20.04, it's usually replaced by libxcrypt.
          (steamrt/tasks#332)
      * launch-options: Override PRESSURE_VESSEL_PREFIX when needed
  • v0.20230922.0 protected
    99583941 · Release v0.20230922.0 ·
    Release: v0.20230922.0
    steam-runtime-tools v0.20230922.0
    
      * system-info:
        - Fix a use-after-free closing standard output of the vulkan and
          xdg-portal checks
  • v0.20230919.0 protected
    f10cd8e4 · Prepare v0.20230919.0 ·
    Release: v0.20230919.0
    steam-runtime-tools v0.20230919.0
    
      * pressure-vessel:
        - Use a fully-resolved path when pointing to Vulkan drivers' and layers'
          JSON manifests, fixing broken symlinks when running under Flatpak
          (steam-runtime-tools#124)
        - Try to avoid duplicating Vulkan drivers and layers, by marking their
          manifests with the `library_arch` parameter where appropriate.
          In particular this fixes loading of released MangoHud versions
          under Flatpak (steam-runtime#618)
      * system-info:
        - Fix an incorrect use of VA-API that can cause an assertion failure in
          debug builds of Mesa (steam-runtime-tools#117). Thanks to David Rosca
        - Fix an incorrect use of VA-API that can cause the check to fail
          with non-Mesa drivers. Thanks to Emil Velikov
        - Avoid searching ~/.local/share for Vulkan drivers twice if it
          resolves to the same path as $XDG_DATA_HOME
        - Log a warning if machine-readable output cannot be closed
        - Refactoring
      * input-monitor:
        - Fix an ongoing memory leak
      * Documentation updates
      * Tests:
        - Fix continuous-integration failure when the beta and stable scout SDKs
          currently have different versions of a library that gets bundled
          with pressure-vessel, notably GLib
        - Improve logging when testing graphics driver discovery
  • v0.20230905.0 protected
    d7d3db26 · Release v0.20230905.0 ·
    Release: v0.20230905.0
    steam-runtime-tools v0.20230905.0
    
      * identify-library-abi: On Exherbo, run both versions of ldconfig.
        Unlike other multiarch/multilib designs, Exherbo has one build of
        ldconfig per architecture, each with its own configuration that only
        searches libraries intended for that word size.
        (Helps: steam-runtime#615)
  • v0.20230831.0 protected
    8969cc52 · Release v0.20230831.0 ·
    Release: v0.20230831.0
    steam-runtime-tools v0.20230831.0
    
      * system-info: Detect whether the LD_LIBRARY_PATH or container runtime
        is on a fully-featured Linux filesystem
        - Non-Linux filesystems (NTFS, FAT, SMB/CIFS, etc.) are diagnosed as a
          potential issue because they often lack features like permissions,
          ownership, symbolic links and hard links.
        - Networked filesystems (NFS, SMB/CIFS, etc.) are diagnosed as a
          potential issue because they often make "fast" metadata operations
          unexpectedly slow.
        - Overlay and user-space filesystems (overlayfs, FUSE, etc.) are
          diagnosed as a potential issue because we cannot tell whether the
          backing filesystem is in one of the above problematic categories.
      * pressure-vessel: Try to cope with being unable to set file permissions:
        - On a NTFS or other non-Unix filesystem
          (steam-runtime#434, steam-runtime#460, steam-runtime#491,
          steam-runtime#544, steam-runtime#606)
        - On a Unix filesystem owned by someone else
          (as seen in a comment on steam-runtime#434)
        - Please note that Proton is outside the scope of this project, and
          intentionally does not allow being shared between different Unix
          user IDs (see Proton#4820, steam-runtime#477).
        - Please note that the affected configurations are not recommended.
          The recommended layout is to have all Steam libraries on native,
          local Linux filesystems (ext4, btrfs, xfs or similar), owned by the
          same user ID that runs Steam.
        - System administrators should be aware that configuring write access
          to the Steam library for more than one user, for example NTFS
          with umask=007 or 000, will allow any of the users with write
          permission to gain control over the account of any other user
          who will run Steam games from that library (a privilege escalation
          security vulnerability).
          Do not use this arrangement unless you completely trust all users
          who have write access to the Steam library.
      * Update libglnx to 2023-08-29:
        - Use libglnx backport of g_strv_equal() instead of our own
        - Avoid generating crash dumps during unit testing
      * Build system refactoring
  • v0.20230804.0 protected
    d60c38e2 · Release v0.20230804.0 ·
    Release: v0.20230804.0
    steam-runtime-tools v0.20230804.0
    
      * pressure-vessel fixes:
        - Improve log messages from capsule-capture-libs when a library
          dependency is not found (Helps: jupiter/tasks#887)
        - Be compatible with timeout(1) from busybox
          (Helps: ValveSoftware/Dota-2#2390)
        - Fix some small memory leaks
      * Diagnostic tools:
        - Be compatible with timeout(1) from busybox
        - Fix memory leaks when querying steam: protocol handler
        - Fix memory leaks when loading prior results from serialized JSON
      * Tests/CI:
        - Fix several memory leaks
      * Lint fixes
      * Documentation updates
  • v0.20230718.0 protected
    b7477515 · Release v0.20230718.0 ·
    Release: v0.20230718.0
    steam-runtime-tools v0.20230718.0
    
      * pressure-vessel fixes:
        - runtime: Cope with OSs where an alias is used as the canonical
          SONAME.
          In particular this handles libbz2.so.1 on Fedora, which doesn't match
          the upstream SONAME libbz2.so.1.0.
          (Resolves: ValveSoftware/Dota-2#2392)
        - runtime: Ignore nvidia-vaapi-driver when capturing VA-API drivers.
          It has more major dependencies than we are really prepared to deal
          with, in particular GStreamer.
          (Resolves: ValveSoftware/Dota-2#2392)
        - runtime: If creating one alias fails, move on to the next one
        - runtime: Improve debug logging for libraries taken from the host OS
        - runtime: Improve debug logging for libraries that have aliases
        - runtime: Improve debug logging for exported paths
      * Documentation updates
  • v0.20230621.0 protected
    26c8ef08 · Release v0.20230621.0 ·
    Release: v0.20230621.0
    steam-runtime-tools v0.20230621.0
    
      * pressure-vessel:
        - Don't let bubblewrap prevent standard output from reporting
          end-of-file (steam-runtime#593)
        - Add pv-adverb --assign-fd option
      * input-monitor:
        - Hex-dump evdev capabilities by default, in a format that is easier
          to copy/paste into steam-runtime-tools and SDL test data
        - Also hex-dump the HID report descriptor for HID devices
        - Add --only-new option, which is the opposite of --once
      * system-info:
        - check-vulkan: Update for Vulkan-Headers >= 1.3.246
        - check-xdg-portal: Look for more xdg-desktop-portal interfaces.
          The June 2023 update to Steam makes more use of the various portals,
          in particular the FileChooser for "native" File -> Open... dialogs.
      * Documentation:
        - Update for Debian 12 having been released
        - Make CLI tools show a placeholder in --help for all options with
          arguments
        - Mention Steam Runtime 5 as another possible future branch
  • v0.20230605.0 protected
    4d31a5c0 · Release v0.20230605.0 ·
    Release: 0.20230605.0
    steam-runtime-tools v0.20230605.0
    
      * launch-client:
        - Add --inside-app=APPID option.
          This attempts to run the command inside Steam app/game APPID,
          similar to --bus-name=com.steampowered.AppAPPID.
        - Add --alongside-steam option.
          This attempts to run the command in the same execution environment
          as Steam, without the Steam Runtime, similar to how Steam implements
          non-Steam game shortcuts. (steamrt/tasks#293, steam-runtime-tools#107)
        - Add --host option.
          This attempts to run the command on the host system from inside a
          Flatpak or Snap app, similar to flatpak-spawn --host.
        - Officially deprecate --dbus-address and --socket
        - Refactoring
      * launcher-service:
        - Add --alongside-steam option
          (steamrt-tasks#293, steam-runtime-tools#107)
        - Add --no-replace option
        - Refactoring
  • v0.20230601.0 protected
    9e1a0c40 · Release v0.20230601.0 ·
    Release: 0.20230601.0
    steam-runtime-tools v0.20230601.0
    
      * pressure-vessel:
        - Cope gracefully with duplicate modules in LD_PRELOAD/LD_AUDIT
          (steamrt/tasks#302)
      * scout-on-soldier:
        - Remove compatibility with very old soldier releases
      * steam-runtime-tools library:
        - Use CRLF line endings for diagnostic messages if stderr is a terminal,
          fixing stair-stepping when running s-r-launch-client with debug enabled
      * launcher-service:
        - Add --stop-on-parent-exit option
        - Validate bus names properly
        - Improve exit status for a wrong --exit-on-readable
        - Fix a typo in the man page
      * Automated tests:
        - Restructure pv-adverb code so we can unit-test it
        - Make sure we generate an invalid D-Bus name when needed
        - Expand test coverage for launcher-service options
  • v0.20230509.0 protected
    8ad4a0a6 · Release v0.20230509.0 ·
    Release: 0.20230509.0
    steam-runtime-tools v0.20230509.0
    
      * check-vulkan: Avoid out-of-spec behaviour that caused a crash with
        some versions of the Nvidia proprietary driver (steamrt/tasks#294).
        Thanks to James Jones.
      * pv-wrap: Try to share TMPDIR, etc. with the container.
        We share /tmp with the container, so it's consistent if we also
        share $TMPDIR and so on.
      * pv-wrap: Don't use temporary directories below $XDG_RUNTIME_DIR.
        Canonical's unofficial Snap packaging of Steam sets this up, but then
        doesn't allow pressure-vessel to bind-mount that location
        (steam-runtime#586)
  • v0.20230418.0 protected
    a9a9d3c3 · Prepare v0.20230418.0 ·
    Release: v0.20230418.0
    steam-runtime-tools v0.20230418.0
    
      [ Ludovico de Nittis ]
      * system-info, pressure-vessel: Support Vulkan layer manifest version 1.2.1
        - In system-info, report the library_arch field (if present)
        - In pressure-vessel, copy the library_arch field (if present)
        (steam-runtime-tools#103)
  • v0.20230405.0 protected
    57c952fe · Release v0.20230405.0 ·
    Release: v0.20230405.0
    steam-runtime-tools v0.20230405.0
    
      [ Ludovico de Nittis ]
      * pressure-vessel: Ignore the Discord IPC socket if it's a dangling
        symlink, fixing a regression in 0.20230403.0 for users of the
        Discord Flatpak app (steam-runtime#581)
    
      [ Simon McVittie ]
      * Add some missing symbols to the ABI tracking
      * Documentation updates
        - container-runtimes: Add release notes link
        - container-runtimes: Link to container-runtime.md for general info
        - slr-for-game-developers: Fix some broken links
      * Correct version number in meson.build
  • v0.20230403.0 protected
    be4f14a0 · Prepare v0.20230403.0 ·
    Release: v0.20230403.0
    steam-runtime-tools v0.20230403.0
    
      [ Simon McVittie ]
      * pressure-vessel: Remove pv-test-ui.
        This has been superseded by steam-runtime-launch-options.
        Please see docs/slr-for-game-developers.md for more information.
      * Documentation updates, especially in docs/slr-for-game-developers.md
        - Describe how to use steam-runtime-launch-options
        - Clarify how to unpack the soldier SDK
        - Describe how to use a locally-modified Platform or SDK
        - Document more required and recommended libraries
        - Put more emphasis on sniper and less on soldier
        - Add some advice on debugging SLR on new distributions
        - Expand READMEs for SteamLinuxRuntime and SteamLinuxRuntime_soldier
        - Add a README for SteamLinuxRuntime_sniper
        - Improve cross-references
      * Update bundled projects:
        - bubblewrap v0.8.0
        - libglnx to 2023-02-27
    
      [ Ludovico de Nittis ]
      * pv-wrap: Share Discord "Rich Presence" IPC sockets with the container
        (steam-runtime-tools#102)
      * system-info: Detect whether the desktop session is X11 or Wayland,
        and related information (steamrt/tasks#235)
      * system-info: Fix a minor memory leak
      * Test improvements
  • v0.20230314.0 protected
    3ec2cb5c · Release v0.20230314.0 ·
    Release: v0.20230314.0
    steam-runtime-tools v0.20230314.0
    
      [ Simon McVittie ]
      * pv-wrap: Stop providing /run/host/container-runtime.
        This was never an intended way to detect the container environment:
        the intended interface is to look for /run/host/container-manager, as
        per <https://systemd.io/CONTAINER_INTERFACE/>.
        Removing this will cause controller hotplug detection to regress in
        games that bundled their own copy of SDL between 2.25.x (sometime
        around September 2022) and 2.26.4. However, removing this can also
        avoid a crash with some bundled SDL versions.
        The regression can be avoided by not bundling SDL, and instead
        relying on the Steam Runtime to provide a sufficiently recent version.
    
      [ Ludovico de Nittis ]
      * graphics-provider: Ignore Homebrew/Linuxbrew paths.
        Older versions of Homebrew used to install `ldconfig` into the general
        Homebrew bin directory that was usually prepended to PATH. This
        could result in crashes, because ldconfig is tightly coupled to the
        version of glibc in use, and we would try to use Homebrew's ldconfig
        with the system glibc. Newer versions of Homebrew avoid this by not
        putting their ldconfig in the PATH. (steam-runtime#569)
      * wrap-setup: Preserve a custom XCURSOR_PATH values from the host
        (steam-runtime#572)
    
      [ Simon McVittie, Miguel Casique Meneses ]
      * Tests/CI adjustments (steamrt/tasks#248)
  • v0.20230227.0 protected
    3c807534 · Release v0.20230227.0 ·
    Release: v0.20230227.0
    steam-runtime-tools v0.20230227.0
    
      [ Ludovico de Nittis ]
      * library: Separate the libelf based checks into a separate helper.
        We can't compile inspect-library with an RPATH because we want to
        load libraries as the host system does, which means we can't guarantee
        to be able to find libelf.so.1 if the host system doesn't have it.
        Avoid this dependency by moving the libelf based checks into a separate
        helper program, with the right RPATH to find the bundled copy. This
        also keeps that code out of the critical path for identifying
        graphics drivers in pressure-vessel.
        (steamrt/tasks#236, steam-runtime#562)
      * inspect-library helper: Refactoring
  • v0.20230220.0 protected
    87b78c8b · Release v0.20230220.0 ·
    Release: v0.20230220.0
    steam-runtime-tools v0.20230220.0
    
      * pressure-vessel:
        - Ensure Vulkan layer manifests are all in the same
          directory, fixing a regression in 0.20230206.0 for layers like
          MangoHUD that use $LIB or $PLATFORM in their layer_path
          (steamrt/tasks#239, steam-runtime#564)
        - Log critical warnings if layers are not going to work
        - Don't append layers to VK_DRIVER_FILES under FEX-Emu
      * steam-runtime-launch-options:
        - Allow edits to the game's command-line options.
          As with all settings in steam-runtime-launch-options, these are
          not saved from one run to the next, so this is a convenient way to
          make temporary changes like adding -vulkan to Source-engine-based
          games without affecting the next run of the same game.