- Sep 26, 2019
-
-
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
-
- Sep 17, 2019
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Sep 16, 2019
-
-
Simon McVittie authored
locale: fix leaked SrtLocale See merge request steam/steam-runtime-tools!55
-
Ludovico de Nittis authored
Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Sep 12, 2019
-
-
Simon McVittie authored
locale: Check for the necessary files to generate more locales See merge request steam/steam-runtime-tools!52
-
- Sep 11, 2019
-
-
Simon McVittie authored
pressure-vessel will use these when it generates any missing locales. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Sep 10, 2019
-
-
Simon McVittie authored
graphics, library: Capture stderr from the checks See merge request steam/steam-runtime-tools!54
-
Simon McVittie authored
Rather than dumping this to Steam's stderr, it's more useful if we gather it up and make it available alongside all the other diagnostic information. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Sep 09, 2019
-
-
Jeremy Whiting authored
Prepare 0.20190909.0 release. See merge request steam/steam-runtime-tools!53
-
Jeremy Whiting authored
-
Simon McVittie authored
Add a man page documenting steam-runtime-system-info See merge request steam/steam-runtime-tools!51
-
Jeremy Whiting authored
graphics: Don't free a const version_string See merge request steam/steam-runtime-tools!48
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Speed up tests by telling the graphics check to time out sooner See merge request steam/steam-runtime-tools!50
-
Simon McVittie authored
On the wflinfo code path, the version string is "borrowed" from the JSON data structure, but on the vulkaninfo code path, it is built up from multiple fields and needs to be freed. Instead of having a variable that is sometimes "borrowed" and sometimes "owned" and a boolean to indicate which it is, let's have a separate variable new_version_string that is always "owned" (but possibly NULL), then make version_string a "borrowed" pointer to either the wflinfo JSON or new_version_string. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
d/.gitignore: Update for addition of steam-runtime-tools-bin See merge request steam/steam-runtime-tools!49
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Sep 06, 2019
-
-
Simon McVittie authored
Add calling vulkaninfo to get vulkan device and version. See merge request steam/steam-runtime-tools!44
-
Jeremy Whiting authored
Also add using vulkaninfo mock executables to graphics test.
-
Jeremy Whiting authored
TODO: Add a mock-vulkaninfo to use for graphics test.
-
Jeremy Whiting authored
Add more preconditions for window system/rendering interface combinations See merge request steam/steam-runtime-tools!47
-
Jeremy Whiting authored
When executing graphics helpers use timeout command to kill if needed. See merge request steam/steam-runtime-tools!46
-
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
The historical libGL.so.1 interface combines the GLX windowing system with "desktop" OpenGL, with no way to disentangle the rendering interface from the windowing system. wflinfo accepts the combination of --platform glx with --api gles2, but as can be seen from the resulting version string, it is actually printing information about "desktop" OpenGL instead. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-