Steam Frame build, packaging and deployment scripts; render test

- build_scripts/steamframe/: Debian trixie (Qt 6.8) containers for the
  aarch64 cross build, native build and tests; toolchain; scripts to build,
  test (Vulkan validation layers), package (system Qt, ~3 MB) and deploy over
  SSH. Adapted from the vrdashboard template.
- test/render/: render test for the OpenGL and Vulkan backends, driven like
  OverlayController (option OVRAS_BUILD_TESTS).
- RPATH only $ORIGIN, without the build machine's link directories.
- Ignore dist/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Matthias Janetschek
2026-10-07 13:50:57 +02:00
co-authored by Claude Opus 5.5
parent b22c35ae29
commit bde675f1b8
15 changed files with 610 additions and 14 deletions
+35
View File
@@ -0,0 +1,35 @@
# Render test for src/render/ (see tst_render.cpp). Runs without SteamVR or a
# headset; skips itself without a GPU context. One CTest entry per graphics
# API, because the API is process-wide.
find_package(Qt6 REQUIRED COMPONENTS Test)
qt_add_executable(tst_render
tst_render.cpp
${CMAKE_SOURCE_DIR}/src/render/RenderBackend.cpp
${CMAKE_SOURCE_DIR}/src/render/OpenGLRenderBackend.cpp
)
target_include_directories(tst_render PRIVATE
${CMAKE_SOURCE_DIR}/src
${CMAKE_SOURCE_DIR}/third-party/openvr/headers
)
# Only openvr.h's types are used: nothing links against libopenvr_api.
target_link_libraries(tst_render PRIVATE Qt::Gui Qt::Quick Qt::Qml Qt6::Test)
if (QT_FEATURE_vulkan)
target_sources(tst_render PRIVATE
${CMAKE_SOURCE_DIR}/src/render/VulkanRenderBackend.cpp
)
target_compile_definitions(tst_render PRIVATE OVRAS_HAS_VULKAN=1)
else ()
target_compile_definitions(tst_render PRIVATE OVRAS_HAS_VULKAN=0)
endif ()
qt_add_qml_module(tst_render
URI RenderTest
VERSION 1.0
QML_FILES TwoTone.qml
)
add_test(NAME render_opengl COMMAND tst_render)
set_tests_properties(render_opengl PROPERTIES ENVIRONMENT "OVRAS_TEST_API=opengl")
add_test(NAME render_vulkan COMMAND tst_render)
set_tests_properties(render_vulkan PROPERTIES ENVIRONMENT "OVRAS_TEST_API=vulkan")