- 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>
-
- Sep 23, 2021
-
-
Simon McVittie authored
"Piling up" GErrors is not allowed, but because we didn't clear this one after handling it, that is what would happen if none of the interfaces are available. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Sep 17, 2021
-
-
Simon McVittie authored
This doesn't actually need to be C++, and its purpose is to test whether OpenGL works, not to test whether libstdc++ works. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Sep 01, 2021
-
-
Ludovico de Nittis authored
Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
Previously if we were able to create a configuration for a specific decoding profile we assumed that this profile was working correctly, and if it was not we returned an error. Instead now we always fallback to the next decoding profile, until we find one that works or run out of options. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Jul 05, 2021
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- May 11, 2021
-
-
Simon McVittie authored
By including this in libsteam-runtime-tools-0-helpers, we reduce the number of modules we need to manage and keep in sync. The rest of libcapsule isn't actively used yet, so this is a significant simplification. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Apr 26, 2021
-
-
Simon McVittie authored
We can make a pretty good guess at what $PLATFORM will be: on many CPU architectures, there is one well-known name for the architecture, and $PLATFORM always takes that value. We might as well try it, even on otherwise unknown architectures - the worst that can happen is that our guess was wrong. Known exceptions include: * ARM 32-bit (Debian's porterboxes are v7l or v8l) * i386 (Meson calls it x86, but $PLATFORM can be i386, i486, i586 or i686) * mips family (Debian's porterboxes are octeon2 or octeon3) * PowerPC (Debian's porterbox is power8) * s390x (Debian's porterbox is z900) * x86_64 ($PLATFORM can sometimes be haswell or xeon_phi) of which we are unlikely to care about the non-x86 cases in practice. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
There's no real reason why we need to hard-code the x86 architectures here - we can do this generically across all multiarch tuples. In particular, this means we detect $LIB correctly on all Debian derivatives and in the freedesktop.org SDK, even on non-x86. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
pressure-vessel is currently x86-only, but we want to be portable to non-x86 if it's easy to do. It's reasonably common for all architectures to use lib, lib32 or lib64 for $LIB. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Generating files in the source directory is ugly, and open-coding the build instructions that we would have generated isn't a whole lot more code. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Apr 22, 2021
-
-
Ludovico de Nittis authored
When loading VDPAU modules we rely on $PLATFORM, trying to support all its known possible expansions. However there is always the possibility that we are currently missing some of them or that new ones will be added in the future. For this reason we try to detect the expansion of $PLATFORM, and $LIB, and print its value in the report. In this way it will be easier to notice unusual and/or new expansions. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Mar 23, 2021
-
-
Simon McVittie authored
Instead of trying to format JSON using only glibc, this just prints key=value lines, some of which can be repeated. The values always have control characters and backslashes escaped as C-style octal sequences such as \040 for space, similar to the encoding of /etc/fstab. This allows non-UTF-8 bytestrings to be represented. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
If we pass a (signed) char to a varargs function, it's promoted to (signed) int by the default argument promotions (resulting in padding on the left by copying the sign bit); but then %x interprets it as an unsigned int. The practical result is that for anything over 0x7f, for example 0xAB, we interpret the high bit as the sign bit and pad with "1" bits, turning 0xAB into 0xFFFFFFAB. \uFFFFFFAB is not allowed as an escaped JSON character (because Unicode stops at U+10FFFF) so parsing fails. Note that this change does not result in strings with non-ASCII content being interpreted *correctly*: we are effectively taking the bytestring from the OS and decoding it as though it was ISO-8859-1, so if a file's path includes U+00C7 LATIN CAPITAL_LETTER C WITH CEDILLA (`Ç`), encoded as 0xC3 0x87 on disk (assuming a UTF-8 environment), it will go into the JSON document as \u00C3\u0087 instead of the correct \u00C7. Fixing this would require either a considerably more complex implementation of inspect-library, or an output format that is based on bytestrings rather than JSON. Partially addresses https://github.com/ValveSoftware/steam-runtime/issues/385 and #69 . Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jan 27, 2021
-
-
Ludovico de Nittis authored
With the commit 0d0b054a we redirected the JSON results to stderr as a stopgap solution. Now we revert that and print the results in stdout so that we can implement a proper parsing. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Jan 26, 2021
-
-
Simon McVittie authored
heavy is still on Vulkan loader v1.1.73, which doesn't know VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Simon McVittie authored
When the corresponding code in SrtGraphics is ready, we can parse the JSON on stdout and produce machine-readable output from steam-runtime-system-info. However, until we have that, human-readable output is better than nothing. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jan 25, 2021
-
-
Ludovico de Nittis authored
When we call the check-vulkan helper we will have in output information about all the available physical GPUs and also a separate JSON object that tells us if the GPU 0 is able to draw the triangle test. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Jan 20, 2021
-
-
Ludovico de Nittis authored
Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
Our entire codebase is in C with the only exception for check-vulkan and check-gl. They were coded in C++ because they were based on pre-existing codes. Converting check-vulkan in C allows us to conform it to the rest of our codebase and also it will be easier to expand its functionalities, like for example as outlined in #50. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
If it's not zero-initialized, it could lead to a SEGV when we try to create the XCB surface. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-