- Dec 17, 2020
-
-
Simon McVittie authored
If we don't use a child setup function, then GLib can go into a more optimized code path involving posix_spawn(), where we don't get detailed error reporting. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Dec 14, 2020
-
-
Simon McVittie authored
Improve how we collect DRI drivers See merge request !200
-
Simon McVittie authored
This means we use all the search paths that steam-runtime-tools knows about, and in particular we respect LIBGL_DRIVERS_PATH and a Slackware-specific path. It also means we stop collecting "extra" drivers, which is potentially dangerous, as justified in the previous commit. Resolves: https://github.com/ValveSoftware/steam-runtime/issues/318 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
These are drivers for which our best guess is that the native loader would not actually load them. We want to include them in steam-runtime-system-info's diagnostic output in case we are wrong, but we don't want to include them in the container: if our guess is correct, then the host system doesn't actually load them, and the worst-case scenario is that they are somehow broken, in which case adding them to the search path might *break* the container. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
runtime: Cope with /tmp being a symlink See merge request !199
-
- Dec 11, 2020
-
-
Simon McVittie authored
We can make life easier for the VA-API and VDPAU driver loaders by trying to put everything in one directory, as we already do for DRI. We might as well do the same for Vulkan and EGL, where the names we choose are completely arbitrary anyway. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Instead of building a list of drivers and then converting it into a search path, we can build the search path as we go. The only side-effect is that previously we interleaved x86_64 and i386 paths, but now we put all the x86_64 paths before all the i386 paths. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
We need those to be able to deal with some graphics drivers. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Slackware puts DRI drivers here. Partially addresses https://github.com/ValveSoftware/steam-runtime/issues/318 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Now that we have a backport of this function, we don't need to use a simplified version. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Because capsule-capture-libs doesn't overwrite existing symbolic links, in the unlikely event that s2tc exists in more than one directory in the search path, we want to look at the highest-precedence first. The reversed order was correct for the current implementation of collecting DRI drivers, but not for s2tc. 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>
-
Simon McVittie authored
This hasn't been true since af22427b. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
If /tmp is a symlink in the current execution environment, then when we ask bwrap to bind-mount /tmp/pressure-vessel-wrap.XXXXXX/overrides over itself, it will try to create the parent directory /tmp, and fail because there's a symlink in the way. Canonicalize the path and use that instead. Partially addresses https://github.com/ValveSoftware/steam-runtime/issues/321 (symlinks "above" the home directory have the same problem, but are harder to fix). Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
Refactor PvRuntime to break up pv_runtime_use_provider_graphics_stack() See merge request !198
-
Ludovico de Nittis authored
runtime: Share more code between Vulkan and EGL See merge request !197
-
Ludovico de Nittis authored
Make loops less deep See merge request !196
-
Ludovico de Nittis authored
Rename misleading variables See merge request !195
-
- Dec 10, 2020
-
-
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>
-
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>
-
Simon McVittie authored
This brings it in line with the other code path here, which tolerates containers that are single-architecture. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
The Vulkan and EGL JSON manifests are more similar than they are different, so let's handle them through the same code (which I already factored out into smaller functions). Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Instead of having a function to make a list of Vulkan layers and/or ICDs available, let's have a function to act on a single layer or ICD. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
srt_vulkan_layer_get_json_path() and srt_vulkan_icd_get_json_path() return paths relative to the SrtSystemInfo's sysroot (the graphics driver provider), which might be the root filesystem, but might equally be /run/host when we're running inside Flatpak. Rename this variable accordingly. We were already using it correctly: the third argument to pv_runtime_take_from_provider() is a path in the provider sysroot. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Paths derived from self->overrides are valid in the current execution environment, but if we're running in a Flatpak environment, that's not the host. Rename them accordingly. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
Flatpak-related fixes See merge request !194
-
Simon McVittie authored
We are not going to be able to do this from within Flatpak, and it is unsuitable for running runtimes other than Steam Runtime 1 'scout', for which the LD_LIBRARY_PATH runtime mostly already works. If we need an automatic fallback to running on the host for scout games, we can do that better by running `pressure-vessel-wrap --test`. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Otherwise, pid-based IPC between the Steam client and the game will fail. This is not expected to work if bwrap on the host is setuid, so it will not work for users of Debian, Arch linux-hardened, etc., but it's better than nothing. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Because we were testing for a prefix match with a trailing slash, when FlatpakExports exports /home/me, we would not rewrite it to /home/me/.var/app/com.valvesoftware.Steam. Instead of adding the necessary special cases, use a slightly refactored version of flatpak_has_path_prefix(), which already does what we need. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Instead of asking flatpak-spawn to use Flatpak's D-Bus API, we can use pv-launch to talk to the same D-Bus API, which gives us one fewer component to align to get a working prototype. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
If we're doing the equivalent of `flatpak-spawn` or `flatpak-spawn --host`, we can emulate the unset-env option by running `env -u`. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
We only need this in one branch. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
graphics: Use the right filename for Vulkan layers in a sysroot See merge request !193
-
Simon McVittie authored
pressure-vessel: Make graphics drivers outside $HOME available, if used Closes #29 See merge request !192
-
- Dec 09, 2020
-
-
Simon McVittie authored
The API is that when we're inspecting a sysroot, we put the filename relative to the sysroot in the result object. We did this correctly for the ICDs, but not for layers. The result was that adding Vulkan layer support caused a regression for the sandbox-escaping prototype of launching pressure-vessel from inside Flatpak. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-