diff --git a/build_scripts/steamframe/package-release.sh b/build_scripts/steamframe/package-release.sh index 1daa90f..db28294 100755 --- a/build_scripts/steamframe/package-release.sh +++ b/build_scripts/steamframe/package-release.sh @@ -45,7 +45,10 @@ cat > "$out/install.sh" </dev/null && sleep 1 -./$exe --force-install-manifest || exit 1 +# OVRAS creates its QApplication before handling the manifest options, and +# Qt's default platform plugin (xcb) aborts without a display, e.g. over SSH. +# Registering draws nothing, so use the display-less "offscreen" plugin. +QT_QPA_PLATFORM=offscreen ./$exe --force-install-manifest || exit 1 # Start now. Over SSH there is no display; Qt needs one even for off-screen # rendering, so use the Frame's (:0). DISPLAY="\${DISPLAY:-:0}" nohup ./$exe >/dev/null 2>&1 & @@ -58,7 +61,8 @@ cat > "$out/uninstall.sh" </dev/null -exec ./$exe --force-remove-manifest +# No display needed for unregistering (see install.sh). +exec env QT_QPA_PLATFORM=offscreen ./$exe --force-remove-manifest EOF cat > "$out/run.sh" <@` (SteamVR running). | # | Check | Criterion | Result | |---|---|---|---| -| T1 | `install.sh`: registration works (log: "Manifest reinstalled", via Background) | R2 | open | +| T1 | `install.sh`: registration works (log: "Manifest reinstalled", via Background) | R2 | first try failed: abort without a display (fixed, see above); retest open | | T2 | Tab appears in the dashboard, UI correct (OpenGL) | R2, R3 | open | | T3 | `./run.sh vulkan`: UI correct | R3 | open | | T4 | Laser right way up, click, scrolling on several pages (both APIs) | R4 | open |