- Oct 30, 2019
-
-
Simon McVittie authored
Use g++-4.8 if default g++ is older See merge request steam/steam-runtime-tools!73
-
Simon McVittie authored
Steam Runtime 1 'scout' SDK containers have g++-4.8 as their default compiler, but the environment used to build packages still has g++-4.6 (Ubuntu 12.04's default compiler), because we aren't completely confident that all the Ubuntu-derived packages in the runtime will build correctly with a newer compiler than the one they were tested with in Ubuntu. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
debian: Add missing dependencies on vulkan and xcb development files See merge request steam/steam-runtime-tools!72
-
Simon McVittie authored
Fixes: fae5ff63 "Add check-vulkan to draw a triangle using vulkan api" Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Oct 29, 2019
-
-
Simon McVittie authored
use check-vulkan test when checking vulkan in srt_check_graphics See merge request steam/steam-runtime-tools!63
-
Jeremy Whiting authored
Also add mock good and bad check-vulkan binaries to tests. Also add new graphics issues item for vulkan draw errors.
-
Jeremy Whiting authored
-
Jeremy Whiting authored
In order to make _srt_check_graphics less complex move processing of json output out to helper functions.
-
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.
-
Jeremy Whiting authored
-
- Oct 24, 2019
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Oct 21, 2019
-
-
Jeremy Whiting authored
COPYING: Remove GPL reference See merge request steam/steam-runtime-tools!66
-
- Oct 11, 2019
-
-
Simon McVittie authored
Add runtime content check for "overrides" and pinned libraries See merge request steam/steam-runtime-tools!64
-
Simon McVittie authored
We used to have some supporting code licensed under the GPL, but Jeremy removed that in commit a1a134dd. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
When we are in a steamrt container we log the content of the "/overrides" folder. Otherwise, if we are not in a container, we log the content of both "pinned_libs_32" and "pinned_libs_64". Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Oct 09, 2019
-
-
Simon McVittie authored
Fix Gtkdoc warnings about missing parameters See merge request steam/steam-runtime-tools!65
-
Ludovico de Nittis authored
Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Sep 26, 2019
-
-
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
-
Simon McVittie authored
Inspect os-release(5) to see whether we are in a SteamRT container/chroot See merge request steam/steam-runtime-tools!62
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com> Gbp-Dch: ignore
-
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
Instead of inspecting the LD_LIBRARY_PATH runtime with _srt_runtime_check(), we open-code a small partial reimplementation of that function to inspect os-release(5) and provide information about a Steam Runtime container. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This one is a bit different because the raw field is a space-separated list. For convenience, srt_system_info_dup_os_id_like() can be asked to include the OS itself, for use in logic like this pseudocode: for id in info.dup_os_id_like(True): if id in special_cases: special_cases[id].run() break else: do_generic_behaviour() Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This doesn't include information about similar OSs (ID_LIKE), and also does not include a fallback to lsb_release or OS-specific files. However, it's enough to detect Steam Runtime containers. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
I'm about to add a second feature that needs to fake a sysroot for test coverage. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Distinguish between the Steam installation (root) and data paths See merge request steam/steam-runtime-tools!61 Reviewed-by: @timo, @jpwhiting
-
- Sep 25, 2019
-
-
Simon McVittie authored
graphics: Add EGL and Vulkan ICD enumeration See merge request steam/steam-runtime-tools!56
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Until now we've been conflating these two, but Timothee Besset recently clarified their status for me. ~/.steam/steam is maintained by bin_steam.sh, aka /usr/bin/steam, in which it is referred to as STEAMDATALINK. It is the data directory containing user data (cloud-synced configuration and saves), the download cache, and the default Steam Library directory. ~/.steam/root is maintained by steam.sh, in which it is referred to as STEAMROOTLINK. It is the installation directory, containing Steam executables and libraries. As a result, they are normally the same, but can differ, in particular in two situations: * When testing a new Steam client build by running client/steam.sh, client/ gets used as the installation directory, in conjunction with the existing data directory pointed to by ~/.steam/steam. This avoids having to re-login or re-download your library of games for the new test installation. * When Debian bug #916303 was present during the initial Steam installation, the Steam client was unpacked into ~/.steam, resulting in creation of ~/.steam/steam as a real directory that cannot be replaced with a symbolic link. We effectively ended up using ~/.steam as the installation path, but with ~/.steam/steam as the data path. (The Debian steam package has since been fixed, but we cannot easily disentangle existing installations.) Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Sep 24, 2019
-
-
Simon McVittie authored
This is necessary for pressure-vessel containers to support Vulkan: to be able to make the Vulkan ICDs available in the container, we have to be able to find them, bind-mount them into a suitable location, and provide corresponding ICD JSON metadata to the contained game. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Assert we are not setuid before looking at the environment See merge request steam/steam-runtime-tools!60
-
Simon McVittie authored
Add some missing preconditions See merge request steam/steam-runtime-tools!59
-
- Sep 20, 2019
-
-
Simon McVittie authored
While reviewing !56, Emil pointed out that real ICD loaders normally use secure_getenv(), which ignores environment variables if it detects that the process is running with elevated privileges, whereas we are using the GLib equivalent of plain getenv(). This library is not designed to be used in a privileged process, never mind a setuid one: it trusts various aspects of its execution environment, and it executes subprocesses that will have similar behaviour. As such, I'm treating "we are not setuid" as a precondition check rather than as a normal situation, and considering execution of this library in a setuid context to be a programming error. setuid/setgid/setcap executables inherit their execution environment (environment variables, current working directory, file descriptors, controlling terminal, process group and other inheritable state) from a less-privileged and potentially hostile caller, so they are a privilege boundary, and can only safely use libraries if those libraries are also specifically designed to distrust their caller. The name of the function only contains "setuid" for brevity, but in fact it checks for all aspects of elevated privileges, including setgid and setcap: the AT_SECURE auxiliary value is the same one used by secure_getenv(). The fallback implementation used if getauxval() fails only checks for setuid and setgid. 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>
-
- Sep 19, 2019
-
-
Simon McVittie authored
Generate autocleanup functions if GLib (or libglnx) supports it See merge request steam/steam-runtime-tools!57
-