Run the manifest commands without a display
The first deploy to the Steam Frame aborted in install.sh: OVRAS creates its QApplication before it handles --force-install-manifest, and Qt's default platform plugin (xcb) aborts when there is no display, as over SSH. Registering and unregistering draw nothing, so the generated install.sh and uninstall.sh now run them with QT_QPA_PLATFORM=offscreen. The normal start keeps DISPLAY=:0, as rendering needs a real context. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -45,7 +45,10 @@ cat > "$out/install.sh" <<EOF
|
||||
cd "\$(dirname "\$0")" || exit 1
|
||||
# An update replaces the files of a running instance: stop it first.
|
||||
pkill -f "/$exe( |\\\$)" 2>/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" <<EOF
|
||||
# be deleted afterwards.
|
||||
cd "\$(dirname "\$0")" || exit 1
|
||||
pkill -f "/$exe( |\\\$)" 2>/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" <<EOF
|
||||
|
||||
Reference in New Issue
Block a user