Skip to content
Snippets Groups Projects
  1. Mar 05, 2020
  2. Feb 27, 2020
  3. Jan 09, 2020
    • Simon McVittie's avatar
      build: Consistently sort dependencies in stack order · 9a3cfb41
      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: default avatarSimon McVittie <smcv@collabora.com>
      9a3cfb41
  4. Nov 20, 2019
    • Jeremy Whiting's avatar
      Add check-gl draw a triangle test. · fa6dd524
      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.
      fa6dd524
  5. Nov 15, 2019
    • Simon McVittie's avatar
      Build -system-info and -check-locale with relative DT_RPATH · c3a06cce
      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: default avatarSimon McVittie <smcv@collabora.com>
      c3a06cce
  6. Nov 13, 2019
    • Simon McVittie's avatar
      Revert "Build -system-info and -check-locale with relative DT_RPATH" · a32d9290
      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: default avatarSimon McVittie <smcv@collabora.com>
      a32d9290
  7. Nov 11, 2019
  8. Nov 08, 2019
    • Simon McVittie's avatar
      Build -system-info and -check-locale with relative DT_RPATH · 91478a07
      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: default avatarSimon McVittie <smcv@collabora.com>
      91478a07
    • Simon McVittie's avatar
      check-vulkan: Add missing braces for initialization of subobject · 4b9ec1ec
      Simon McVittie authored
      
      VkClearValue is a struct whose first member is a union whose first
      member is an array of four floats, so we need three levels of braces
      to initialize it. clang++ 8 warns for this.
      
      Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
      4b9ec1ec
  9. Nov 05, 2019
  10. Nov 01, 2019
  11. Oct 31, 2019
  12. Oct 29, 2019
    • Jeremy Whiting's avatar
      Add check-vulkan to draw a triangle using vulkan api. · fae5ff63
      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.
      fae5ff63
  13. Aug 27, 2019
    • Simon McVittie's avatar
      Add checks for locales and locale-related issues · 10c2771b
      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: default avatarSimon McVittie <smcv@collabora.com>
      10c2771b
  14. Aug 21, 2019
  15. Aug 12, 2019
  16. Aug 06, 2019
  17. Jul 29, 2019
  18. Jul 26, 2019
  19. Jul 16, 2019
  20. Jun 27, 2019
Loading