- Jul 27, 2023
-
-
Simon McVittie authored
We were using Debian testing, but that's now reporting a memory leak that wasn't there 10 days ago, stalling CI. It's not clear whether this is a real bug in steam-runtime-tools or a regression in a dependency. For now, hold it back to Debian 12 which is not a moving target. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jul 18, 2023
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
runtime: Ignore nvidia-vaapi-driver when capturing VA-API drivers See merge request !574
-
Ludovico de Nittis authored
exports: Don't try to export paths that refer to the container See merge request !575
-
Ludovico de Nittis authored
pv-runtime: Cope with OSs where an alias is used as the canonical SONAME See merge request !573
-
- Jul 17, 2023
-
-
Simon McVittie authored
We can have two kinds of filename in /overrides: either the symbolic link points to a path that is already going to be in the container, like /run/host/… or /usr/…, or it points to a path that is only in the container if we explicitly ask the FlatpakExports object to share it, like /home/…. For the paths that are already set up for the container, it's both misleading and useless to go through the motions of asking FlatpakExports to share it. It's misleading because it looks for a container-side filename in an environment that probably won't have it, like /usr/lib/x86_64-linux-gnu/… on a Fedora system that only has /usr/lib64, and even if we do find it, it's not the version of that file that we want to use. It's also useless because even if we do find the desired filename on the host, FlatpakExports will refuse to export paths below a prefix such as /usr that is controlled by the runtime. A secondary benefit of this change is that it results in summarizing the contents of /overrides in a debug-level log, which is useful for situations like <https://github.com/ValveSoftware/Dota-2/issues/2392 > where we suspect that those contents might be wrong. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Normally, we can rely on driver modules such as DRI, VA-API, Vulkan and GLX having relatively minimal, low-level dependencies, which are not too much trouble to import into the container. However, nvidia-vaapi-driver pulls in GStreamer core libraries, all of GLib, elfutils' libdw, and several compression libraries. The more libraries we import into the container, the more likely we are to have one of the failure modes that our container is designed to avoid: either a library that causes trouble for some reason (like libbz2 in Dota-2#2392), or a game developer accidentally relying on application-level functionality of a newer operating system that our container cannot guarantee to provide in a portable way. GStreamer is particularly problematic here, because it has its own plugin architecture. Importing a driver that links to GStreamer, but none of GStreamer's plugins, is unlikely to work as desired: it will be unable to encode or decode any videos, likely making nvidia-vaapi-driver essentially useless. Resolves: https://github.com/ValveSoftware/Dota-2/issues/2392 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
The upstream SONAME of the reference libbz2 library is libbz2.so.1.0, but Fedora and its derivatives patch the build system to change the SONAME to libbz2.so.1. In Debian (and therefore the Steam Runtime) we provide libbz2.so.1 as an alias for the canonical library name, but in Fedora, libbz2.so.1 *is* the canonical library name (and there is no libbz2.so.1.0 symlink). We do not normally need a host copy of libbz2 at all, because graphics drivers do not normally depend on it. but nvidia-vaapi-driver pulls it in via GStreamer and elfutils libdw. When we set up the container, in the common case where we do not need to use the host libbz2.so.1.0, we make sure to create a symlink libbz2.so.1 in /overrides/lib/TUPLE/aliases, pointing to the runtime's driver. Similarly, if we use a newer host copy of libbz2.so.1.0 as a dependency of a graphics driver, we would create a symlink libbz2.so.1 pointing to that (via /overrides/lib/TUPLE/libbz2.so.1.0). The case that we did not deal correctly with until now is that the graphics driver dependencies on the host include libbz2.so.1, with its SONAME set accordingly. If that happens, then we need to create a symlink that is the reverse of what we would usually do, with libbz2.so.1.0 pointing to the host's libbz2.so.1. Resolves: https://github.com/ValveSoftware/Dota-2/issues/2392 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Not many libraries have aliases, and those that do are unusual and relatively likely to go wrong, so it's worth being a little more verbose here. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
If we need aliases for (for example) libbz2.so.1.0 and libOSMesa.so.8, and creating the alias symlink for libbz2.so.1.0 fails, there's no reason not to try to set up libOSMesa.so.8. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jul 12, 2023
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Proton 8.0 is the latest released version, and requires sniper, not soldier. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jun 21, 2023
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
check-xdg-portal: Look for more xdg-desktop-portal interfaces See merge request !571
-
- Jun 19, 2023
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Now that Debian 12 has been released, we've started a new branch based on Debian 13 development. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
check-vulkan: Allow -Werror compilation with Vulkan-Headers >= 1.3.246 See merge request !572
-
Simon McVittie authored
The June 2023 update to Steam makes more use of the various portals, in particular the FileChooser for "native" File -> Open... dialogs. If xdg-desktop-portal does not have a backend that offers this interface, or has one but has been (mis)configured not to use it, then we should diagnose that. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This version introduces an additional error code. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jun 16, 2023
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jun 15, 2023
-
-
Ludovico de Nittis authored
input-monitor: Add --only-new option See merge request !569
-
Simon McVittie authored
This is the opposite of --once: instead of only showing the devices that were already connected, it ignores those devices, and only shows new events, in practice meaning devices that are subsequently connected. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
pressure-vessel: Avoid sitting on original stdout file descriptor See merge request !570
-
Ludovico de Nittis authored
bin, pressure-vessel: Show a placeholder for all options with arguments See merge request !568
-
- Jun 14, 2023
-
-
Simon McVittie authored
This allows us to pass a harmless stdout/stderr to bwrap, which will hold them open in its supervisor process, preventing processes inside the container from signalling EOF on those file descriptors. In particular, this lets a caller use pv-wrap --launcher -- --info-fd=1 --bus-name=... and read from fd 1 until EOF to detect that launcher-service is ready, without bwrap holding the fd open and therefore preventing EOF detection. A side benefit of this is that if we opened a structured logging file descriptor as our stdout/stderr, then pv-wrap (and not the game itself) will be "blamed" for any messages that bubblewrap emits from its stdout/stderr - which seems reasonable, since pv-wrap is using bubblewrap as an implementation detail. Solution for https://github.com/ValveSoftware/steam-runtime/issues/593 Helps: https://github.com/Matoking/protontricks/issues/231 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
We'll use this in pv-wrap in a subsequent commit. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
The code gets simpler if we always allocate and free this, with it owning the fds directly. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Otherwise, the --help is misleading. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
input-monitor: Show more information See merge request !567
-
Simon McVittie authored
This is potentially useful information for any heuristic for identifying different types of input device, because it is less ambiguous than the evdev interface. For example, the evdev interface cannot reliably tell the difference between a 3-axis accelerometer and a set of 3 driving-simulation pedals, because both are often reported as a device with the same three axes (X, Y, Z) and no buttons. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jun 13, 2023
-
-
Simon McVittie authored
Now that we're using a more readable output format for these, we don't need to limit them to verbose mode. This gives us essentially the same information as evemu-describe(1), but without requiring Steam users to install additional tools. Because the pretty-printed version only shows known joystick/gamepad buttons and a few of the most common non-joystick keys, it can be misleading. For example, we wouldn't show the unassigned button code used by the 8BitDo SNES30 v0100 via Bluetooth as described in https://github.com/libsdl-org/SDL/pull/7791 , or the multimedia control keyboard keys found on the Google Stadia Controller rev.A on the same pull request. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This will allow input-monitor to print hex-dumps in a format that can be pasted into SDL and steam-runtime-tools test data without significant editing. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-