- Feb 22, 2024
-
-
Simon McVittie authored
We're potentially going to start adding tools that use SDL but not GLib, which means we need a new home for the basic convenience functions that get copied or reimplemented in every non-GLib-dependent project. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Feb 07, 2024
-
-
Simon McVittie authored
v1.3.274 added VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jan 12, 2024
-
-
Simon McVittie authored
The g_log() family (g_warning() and friends) and launcher-interface-0's trace() automatically add a newline, but fprintf() does not. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Nov 22, 2023
-
-
Simon McVittie authored
No functional changes. The vast majority of our delta was merged: our only remaining changes are to use a slightly older WAFFLE_API_VERSION, and apply https://gitlab.freedesktop.org/mesa/waffle/-/merge_requests/146 as local delta. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
There appears to be a once-per-process memory leak in wegl_display_init(), which is uninteresting for a short-lived process. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Previously we allocated one GVariant per loop, but only freed the last. When building with AddressSanitizer, this caused a crash which is reported to systemd-coredump if used (but the JSON output was valid, and the test suite can't assert that check-xdg-portal succeeds because on some test systems it might not, so the crash did not cause a test failure). Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Sep 22, 2023
-
-
Simon McVittie authored
In these two helpers, original_stdout is automatically freed on exit from its scope, so we must not close it in a way that leaves a dangling pointer to the freed object. Fixes: 44df5dfa "helpers: Warn if closing stdout fails" Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Sep 18, 2023
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Sep 07, 2023
-
-
Simon McVittie authored
In principle the context is a required parameter for vaCreateBuffer(), but in practice Mesa doesn't do anything with it, not even a validity check for it not being VA_INVALID_ID. Non-Mesa drivers, like the one from Intel and the unofficial one for Nvidia hardware via nvdec and cuda, do check for this. Thanks: Emil Velikov Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Sep 05, 2023
-
-
Simon McVittie authored
We're decoding a single frame, so there is no previous frame that we could possibly refer to; and our single frame is an i-frame (keyframe), so we don't need a reference anyway. When Mesa is compiled with assertions enabled, if num_ref_frames is greater than 0, it asserts that ReferenceFrames[0] up to ReferenceFrames[num_ref_frames-1] inclusive are valid handles to reference frames. In our case, that array is zero-filled, and 0 clearly can't be a valid handle to a previous frame because we don't have any previous frames at all, causing an assertion failure and crash. Closes: #117 Thanks: David Rosca Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Aug 31, 2023
-
-
Simon McVittie authored
This allows doing: meson setup _build meson test -C _build without an intervening `meson compile` step. Previously, this would have failed because the tests require various helpers and fixtures, while some of the code under test also requires helper programs, and some of the code under test *is* a CLI program. For a project this small, there's no real need to distinguish precisely which programs are needed by which test: we can just assume that all tests need all programs, like Autotools would. Includes: https://gitlab.gnome.org/GNOME/libglnx/-/merge_requests/51 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jun 19, 2023
-
-
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>
-
- May 01, 2023
-
-
Simon McVittie authored
Suggested by James Jones. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Apr 27, 2023
-
-
Simon McVittie authored
It's possible (indeed quite likely) that we will choose the same queue family for the graphics queue (any family with the GRAPHICS_BIT) and the present queue (any family that supports presentation). Having more than one VkDeviceQueueCreateInfo for the same family is a Vulkan spec constraint violation, so we need to uniquify them and only do one per family. The Nvidia proprietary driver has some logic that relies on them being unique, leading to a null pointer dereference on some systems if not. In the original C++ version of check-vulkan, unique_queue_families was a std::set (hence its name), but it was wrongly converted into a plain array that doesn't do anything to ensure they're unique. steamrt/tasks#294 Fixes: 22d7f70d "check-vulkan: Convert the file from C++ to C" Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Mar 31, 2023
-
-
Ludovico de Nittis authored
Add a check to evaluate if the X11 server is available, and if it is a native X11 server or if it is XWayland. For the actual check we use the trivial `xisxwayland` subproject. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Feb 27, 2023
-
-
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>
-
- Feb 16, 2023
-
-
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>
-
- Jan 05, 2023
-
-
Ludovico de Nittis authored
If in the `.symbols` file there is a verdef `$VERSION@$VERSION`, we can manually parse the ELF header to check if the library has the expected `$VERSION` or not. All missing versions will be reported in output in a list called `missing_versions`. If the library is unexpectedly unversioned, the `unexpectedly_unversioned` entry will be set to `true`. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Jan 04, 2023
-
-
Ludovico de Nittis authored
Move the common print operation in a separate function to reduce code duplication. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Oct 27, 2022
-
-
Simon McVittie authored
With a new enough Meson release, this lets you run something like meson devenv -C _build/host bin/steam-runtime-system-info and have it pick up the correct helpers directory. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This reduces duplication, and lets us set them from the most logical location: it is the helpers directory that builds our helper executables, so it makes sense for the helpers directory to be responsible for setting SRT_HELPERS_PATH. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jul 27, 2022
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jul 04, 2022
-
-
Ludovico de Nittis authored
This was missing which options where allowed to be used. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- May 30, 2022
-
-
Ludovico de Nittis authored
Add support for the new VK_ERROR_COMPRESSION_EXHAUSTED_EXT that has been introduced with the Vulkan header version 213. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Dec 07, 2021
-
-
Simon McVittie authored
Steam Runtime 1½ 'heavy' doesn't have Vulkan 1.2 headers. We don't really use either Vulkan or steam-runtime-system-info on that runtime (it's only for the steamwebhelper), so it doesn't really matter how complete the information we provide is: we just need it to compile successfully. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Dec 03, 2021
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
The driver-version field interprets this as being in the same encoding as the apiVersion, but that's not really correct. This changes the steam-runtime-system-info report to be the raw driver version in hex, for now. A subsequent commit will improve on this. 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
Otherwise, it's easy to mistake it for a Vk-prefixed struct from the Vulkan API. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This avoids needing to include a shared library (for each architecture) with pressure-vessel. i386 check-vulkan won't work unless libjson-glib-1.0-0:i386 is installed, but that seems a reasonable price to pay for not having to include two copies of GLib. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Dec 02, 2021
-
-
Simon McVittie authored
This is present in all Steam Runtime suites, Debian >= 11 and Ubuntu >= 20.04. Requiring this version lets us remove some delta from our vendored copy of wflinfo. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Dec 01, 2021
-
-
Simon McVittie authored
This was the last remaining third-party executable used for our diagnostic checks that needed its packaging to be forked to build a multiarch-qualified version. If we avoid needing that, then we can use dependencies from an ordinary Linux distribution, making development outside a Steam Runtime environment easier. The next step for this would be to switch helpers/check-gl.c to use libwaffle to create windows and contexts so that it can support more platforms than just X11/GLX, and incorporate the parts of wflinfo's functionality that we need into check-gl, so we only need to run one check program rather than two. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Oct 20, 2021
-
-
Ludovico de Nittis authored
Steam is x86-specific, but the majority of steam-runtime-tools is architecture-agnostic. Adding one arbitrary non-x86 architecture gives us a way to evaluate how much work would be required if full support for some other architecture is needed in future. Using aarch64 seems the easiest non-x86 to test with real hardware, since the Raspberry Pi 4 is widely available. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-