- Mar 06, 2023
-
-
Simon McVittie authored
This should speed it up a bit by not having to provision another runner and download another Docker image. Helps: steamrt/tasks#248 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Previously, this used a mystery Docker image from a CI variable (in practice a loosely-curated Debian 11 image with an arbitrary assortment of build-dependencies). Let's use something more discoverable, more minimal, and more modern: the Debian "testing" rolling release. This will give us a newish version of tools like shellcheck. Helps: steamrt/tasks#248 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Previously, this used a mystery Docker image from a CI variable (in practice a loosely-curated Debian 11 image with an arbitrary assortment of build-dependencies). Let's use something more discoverable and also more minimal: a basic Debian 11 image. Helps: steamrt/tasks#248 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
We currently use Debian 12 prereleases to build the actual production container depots, because Debian 12 has python3-vdf available in the ordinary package archive, meaning we don't have to bring our own. Reflect that here. I've kept this as a template job and an instantiation of that template, so that when we're eventually thinking about moving CI to Debian 13, we can test the script in that first, without losing Debian 12 coverage. Helps: steamrt/tasks#248 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
We have two use-cases for this script: we use it to build production runtime releases, which we can do in an environment that we control, and we use it from tests/pressure-vessel/prepare-test-depots.sh as part of testing pressure-vessel. For the first use-case, we don't need to care about Ubuntu or Arch: we can use any OS image of our choice, and in this case, we have chosen to use Debian. For the second use-case, we don't need to test the script exhaustively: as long as tests/pressure-vessel/prepare-test-depots.sh succeeds, we're happy with that. Helps: steamrt/tasks#248 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This mitigates Dockerhub rate-limiting, and should be faster. The proxy doesn't seem to like the Ubuntu images, so don't use it for them for now. Helps: steamrt/tasks#248 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
steamos/package-builder:bullseye contained a random selection of packages' build-dependencies. Use a more minimal image instead. Helps: steamrt/tasks#248 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Debian 9 'stretch' and SteamOS 2 'brewmaster' are unmaintained. Helps: steamrt/tasks#248 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This was integrated into debian/gitlab-ci.yml in commit 7ce7ba8f "CI: Run the old SteamLinuxRuntime CI tests in the subproject" (!532). Helps: steamrt/tasks#248 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Feb 27, 2023
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Avoid libelf dependency in critical-path code See merge request !540
-
Ludovico de Nittis authored
In `inspect-library` we only care about the line based output. With this commit we make the line based format the default and remove the older JSON based one. The option `--line-based` is still available in `inspect-library` to avoid any unexpected breakage and we expect to remove it after a couple of Steam Runtime releases. In `inspect-library-libelf` instead, we already removed the `--line-based` option because it is a new helper and there are no backwards-compat concerns. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
Move the shared functions between `inspect-library` and `inspect-library-supplement` into a common separate file. This helps to avoid duplicating code between the two helpers. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
`libelf.so.1` is usually always available in the host system because it is a dependency of several core packages, e.g. mesa. However on some less traditional distributions, like NixOS or Gentoo, this might not always be the case. We can't compile `inspect-library` with an `RPATH` because we want to load libraries as the host system does. And this means that `libelf.so.1` needs to be picked from the host system and we can't use the version included in pressure-vessel. For this reason we move the libelf based checks into a separate helper and keep that dependency out of the critical path to identify the graphics drivers. Effectively, this commit brings back `inspect-library.c` to the version we had with af6b41e0. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
This is in preparation to handle different inspect-library arguments without duplicating the necessary code. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
This will be useful for a subsequent commit where we will need to call inspect-library a second time. It allows us to minimize code duplication. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Feb 20, 2023
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
launch-options: Make the command to run editable See merge request !539
-
Simon McVittie authored
Fix regression for Vulkan layers with $LIB or $PLATFORM in their layer_path See merge request !538
-
Simon McVittie authored
This is especially convenient as a way to append command-line options, such as adding `-vulkan` to Source-engine-based games. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Because implicit layers don't respect VK_LAYER_PATH, we rely on adding /overrides/share to $XDG_DATA_DIRS as our way to get our modified JSON manifests to be picked up. However, this will only work if all of our layers are described by manifests directly inside /overrides/share/vulkan/*_layers.d/, and putting the manifests in a subdirectory of that directory will not work. steamrt/tasks#239 Fixes: c2fd0c62 "pressure-vessel: Reuse the drivers basename" Resolves: https://github.com/ValveSoftware/steam-runtime/issues/564 Co-authored-by:
Ludovico de Nittis <ludovico.denittis@collabora.com> Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Diagnoses: https://github.com/ValveSoftware/steam-runtime/issues/564 Diagnoses: steamrt/tasks#239 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
pv-runtime: Don't append layers to VK_DRIVER_FILES under FEX-Emu See merge request !537
-
Simon McVittie authored
Layers are not drivers, and their search path is different. Fixes: 451544d8 "Add support for FEX-Emu graphics thunking" Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Feb 16, 2023
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
pv-wrap: Temporarily provide /run/host/container-runtime See merge request !535
-
Simon McVittie authored
SDL 2.26.x doesn't detect non-Flatpak, non-Snap sandboxes correctly (a regression in 2.25.1, specifically commit e8cb4da7 "Add utility function to detect if SDL is inside a sandbox") because the path it looks for was unintentionally changed from the intended /run/host/container-manager (from systemd's Container Interface document) to /run/host/container-runtime. Until we get the fixed SDL deployed to all branches, we can easily work around this by having pressure-vessel provide both paths. steamrt/tasks#234 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
check-vulkan: Add new error codes from Vulkan-Loader v1.3.239 See merge request !536
-
Simon McVittie authored
This fixes the build with -Werror=switch-enum on systems that have upgraded Vulkan-Loader, such as Debian 12 'bookworm'. steamrt/tasks#228 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Feb 06, 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
runtime: Always use the driver basename See merge request !534
-
Ludovico de Nittis authored
When creating the JSON manifests, we were simply naming them sequentially, as an easy way to avoid conflicts. However, 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`. This functionality would not work in pressure-vessel, unless we keep the original JSON manifest name. With this commit now we always reuse the JSON manifest basename. In the rare events where this could cause a conflict, we create unique sub directories to avoid issues. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
Be more explicit about what we are doing. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Feb 03, 2023
-
-
Ludovico de Nittis authored
Move the creation of the directory in the same function that actually uses it. This will make it more clear what is happening and reduces the function implicit requirements. This is also a preparation step towards reusing the manifest basename, that will be added as a subsequent commit. The directories are only created when we have an ICD_KIND_ABSOLUTE because, in all the other cases, the eventual need to create the parent directories is automatically handled by `pv_runtime_take_from_provider()`. With this commit we might end up with a slightly increased number of `g_mkdir_with_parents()` calls, but the overhead should be negligible, compared to the complexity of pressure-vessel. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
Group together the various checks to make the code easier to follow. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Jan 31, 2023
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Debian's site.py has started using modern Python features and can no longer be imported successfully by Python 3.5, making it inconvenient to keep an old copy of python3.5 installed to run these tests unless we explicitly skip import of the site module. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
We want to use this script with a local build in CI, to integrate it with the actual runtime build (for soldier/sniper) or the steam-runtime-tools build (for scout). Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
In CI builds, we often know better than `git describe` does. Change the precedence so a new --scripts-version is highest priority, then a .tarball-version file, and finally a version guessed from `git describe`. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-