-
v0.20230905.0 protectedd7d3db26 · ·
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 protected8969cc52 · ·
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 protectedd60c38e2 · ·
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 protectedb7477515 · ·
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 protected26c8ef08 · ·
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 protected4d31a5c0 · ·
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 protected9e1a0c40 · ·
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 protected8ad4a0a6 · ·
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 protecteda9a9d3c3 · ·
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 protected57c952fe · ·
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 protectedbe4f14a0 · ·
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 protected3ec2cb5c · ·
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 protected3c807534 · ·
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 protected87b78c8b · ·
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.
-
v0.20230216.0 protected41df1928 · ·
steam-runtime-tools v0.20230216.0 * check-vulkan: Add new error codes from Vulkan-Loader v1.3.239 (steamrt/tasks#228) * pv-wrap: Temporarily provide /run/host/container-runtime. This is a hotfix for a SDL 2.26.x regression that broke controller hotplug (steamrt/tasks#234)
-
v0.20230206.0 protected46af2204 · ·
steam-runtime-tools v0.20230206.0 [ Ludovico de Nittis ] * pressure-vessel: Reuse the basename of Vulkan drivers. Since Vulkan Loader 1.3.234, it is possible to select which driver to use by listing their names in the environment variable `VK_LOADER_DRIVERS_SELECT`, but this functionality will only work with pressure-vessel if we keep the original JSON manifest name. (steamrt/tasks#223, steam-runtime#558)
-
v0.20230131.0 protected6285cc0c · ·
steam-runtime-tools v0.20230131.0 [ Ludovico de Nittis ] * runtime: Correct path_visible_in_provider_namespace() check. This makes Vulkan layers work more reliably, particularly if installed into ~/.local/share for a home directory in /home (steamrt/tasks#213). [ Simon McVittie ] * CI: Build and upload content for Steam app 1070560 (SteamLinuxRuntime) rather than handling it as a special case of the workflows used for soldier and sniper (helps: steamrt/tasks#200, steamrt/tasks#207) * _v2-entry-point: Remove unused verbose() function * populate-depot.py: Internal improvements for CI (helps: steamrt/tasks#200, steamrt/tasks#206) * tests: Use -S option when invoking old versions of Python * tests: Internal improvements
-
v0.20230112.0 protected44419123 · ·
steam-runtime-tools v0.20230112.0 [ Simon McVittie ] * scripts: Convert most scripts from bash to the POSIX shell /bin/sh. This improves robustness if the bash found in $PATH cannot be run in the scout environment, in particular if it was installed via Nix and relies on DT_RUNPATH. (steam-runtime#545, steamrt/tasks#209) * container-runtime: Remove backwards compatibility with old versions of the pressure-vessel/ directory * container-runtime: Update documentation to reflect this now being part of steam-runtime-tools [ Ludovico de Nittis ] * system-info: Detect when an expected version definition was missing from a library, either having different version definitions or being completely unversioned (steamrt/steam-runtime-tools#95)
-
v0.20221215.0 protectedcfe44727 · ·
steam-runtime-tools v0.20221215.0 * CI fixes only
-
v0.20221208.1 protected70fd2457 · ·
steam-runtime-tools v0.20221208.1 * CI: Also make the actual binaries available to debuginfod