- 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>
-
Simon McVittie authored
EGL is specifically for OpenGL and OpenGL ES, so when we add Vulkan (or, hypothetically, other rendering interfaces), it would make no sense to request EGL_X11 in combination with a non-GL-based window system. The only combination that makes sense for Vulkan in the short term is (X11, VULKAN); if we later add support for non-X11 windowing systems like Wayland, then (WAYLAND, VULKAN) would also make sense. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
We should fail early if the argument cannot possibly be a valid window system or rendering interface. The valid window systems are in the range 0 <= window_system < SRT_N_WINDOW_SYSTEMS, and the valid rendering interfaces follow the same pattern. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Sep 05, 2019
-
-
Jeremy Whiting authored
If we get exit code 124 from timeout command, give SRT_GRAPHICS_ISSUES_TIMEOUT in addition to CANNOT_LOAD.
-
- Aug 28, 2019
-
-
Simon McVittie authored
Add checks for locales and locale-related issues See merge request steam/steam-runtime-tools!45
-
- 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 22, 2019
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-