- 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>
-
- 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
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>
-
- Oct 26, 2020
-
-
Ludovico de Nittis authored
With this helper we are able to check if `xdg-desktop-portal` is currently installed and working. It also checks if there is at least a portal backend implementation. It returns 0 if `xdg-desktop-portal` is available and there is at least a backend implementation. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Sep 25, 2020
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Mar 05, 2020
-
-
Ludovico de Nittis authored
With this helper we are able to test if VA-API is available and usable. It tests the ability to gather the supported configuration profiles, then it creates two surfaces and perform a few simple rendering transformations. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Feb 27, 2020
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
With this helper we are able to test if VDPAU is available and usable. It is a simple test that renders a 4x4 surface and checks that the output is what we expected. Exit code is 0 on success. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Jan 09, 2020
-
-
Simon McVittie authored
It's slightly preferable to list linker and compiler flags in stack order, with the lowest in the stack first. This allows use of a higher-level library from a non-standard prefix without also necessarily picking up lower-level libraries from the same non-standard-prefix. For example, if /path/to/json-glib also includes a copy of GLib, then -L/path/to/glib -lglib-2.0 -L/path/to/json-glib -ljson-glib-1.0 will link the GLib from /path/to/glib, but -L/path/to/json-glib -ljson-glib-1.0 -L/path/to/glib -lglib-2.0 will link both the GLib and the json-glib from /path/to/json-glib. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Nov 20, 2019
-
-
Jeremy Whiting authored
Just as with check-vulkan use --visible to see the triangle window otherwise application draws a few frames and reports any gl errors found or does exit 0 on success.
-
- Nov 15, 2019
-
-
Simon McVittie authored
This ensures that they can find the non-ubiquitous json-glib library, and the steam-runtime-tools library, even if relocated into a non-standard prefix like the LD_LIBRARY_PATH Steam Runtime. We can't just use a relative version of the standard library directory as our RPATH, because if we did that, we would load glibc from the same place. This causes crashes in pressure-vessel, where ld.so and the rest of glibc are often taken from the host system via /overrides/lib, and the glibc in /lib and /usr/lib is incompatible with ld.so. Instead, use a private library directory and populate it with relative symlinks to our non-glibc dependencies; we assume the host version of glibc is new enough that this is OK. Using DT_RPATH in preference to DT_RUNPATH means we take all our direct and indirect dependencies from the same place. This is important when libjson-glib (which won't ordinarily have a RUNPATH or RPATH) pulls in GIO as an indirect dependency of check-locale, which doesn't directly depend on GIO. The GIO library we get must match the versions of GLib and GObject we're using. This also bypasses LD_LIBRARY_PATH. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Nov 13, 2019
-
-
Simon McVittie authored
This made them usable from outside the LD_LIBRARY_PATH runtime, but breaks their use inside a pressure-vessel container. In pressure-vessel, the glibc family of libraries are typically taken from outside the container (for example /overrides/lib/x86_64-linux-gnu/libc.so.6), and the dynamic linker ld.so is replaced with one that is suitable for the libraries in /overrides. In general, these versions will be incompatible with the ones in /usr/lib/x86_64-linux-gnu, which unfortunately are the ones that get pulled in via the DT_RPATH. This reverts commit 91478a07. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Nov 11, 2019
-
-
Simon McVittie authored
This matters when invoked as a subproject, for example by pressure-vessel, in which case we don't get -I$(top_builddir). Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Nov 08, 2019
-
-
Simon McVittie authored
This ensures that they can find the non-ubiquitous json-glib library, and the steam-runtime-tools library, even if relocated into a non-standard prefix like the LD_LIBRARY_PATH Steam Runtime. Using DT_RPATH in preference to DT_RUNPATH means we take all our direct and indirect dependencies from the same place. This is important when libjson-glib (which won't ordinarily have a RUNPATH or RPATH) pulls in GIO as an indirect dependency of check-locale, which doesn't directly depend on GIO. The GIO library we get must match the versions of GLib and GObject we're using. This also bypasses LD_LIBRARY_PATH. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Nov 05, 2019
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Oct 31, 2019
-
-
Simon McVittie authored
This avoids having to have precompiled SPIRV in the source tree. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Oct 29, 2019
-
-
Jeremy Whiting authored
%multiarch%-check-vulkan uses vulkan to draw a simple triangle in a 200x200 window (next commit will not draw the window) and reports any issues found. Exit code is 0 on success. shader.frag and shader.vert are shader source files compiled into shaders/frag.spv and shaders/vert.spv respectively by using glslc such as: glslc shader.frag -o shaders/frag.spv glslc shader.vert -o shaders/vert.spv Binary shaders included in commit because glslc hasn't been packaged for scout runtime yet. Also add libvulkan-dev and libxcb1-dev to ci dependencies.
-
- Aug 27, 2019
-
-
Simon McVittie authored
Some Steam games assume that the en_US.UTF-8 locale is available, and it's reasonably likely that others assume that the C.UTF-8 locale is available, or that the locale environment variables are set to usable values. Having checks for locale properties will also help us when experimenting with containers: we can check whether the locale that was set outside the container is available inside the container. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Aug 21, 2019
-
-
Jeremy Whiting authored
Also remove references to GPL since helpers licensed as gpl are removed. Also remove bits about GPL 2 from debian copyright. Also remove unused gnome-session-check-accelerated-common.h file. Also remove no longer used dependencies from debian/control.
-
- Aug 06, 2019
-
-
Ludovico de Nittis authored
`-D_GNU_SOURCE` was required by a lot of components, so it's easier to set it by default for the entire project. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Jul 26, 2019
-
-
Ludovico de Nittis authored
This helper takes a SONAME as an argument, and optionally a filename for symbols, and outputs a parsable JSON with the path, the dependencies and the possible missing symbols of the requested library. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Jul 16, 2019
-
-
Simon McVittie authored
This is necessary to be able to compile on SteamRT 1 'scout'. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Jeremy Whiting authored
In order to check opengl and gles on linux desktop for multiple architectures build check-gl|gles] with architecture prefix. Modifications from upstream sources include: Removing kernel parameter checks for gnome.fallback, just run no need to check for fallbacks. Removing blacklisted renderer list support, no need for our use case. Removing dependency on gtk+ and gdk. Removing dependency on epoxy.
-
- Jun 27, 2019
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-