On the Steam Frame, the fixed 1200x800 QML layout overflows: about the
bottom quarter is cut off and the navigation icons overlap their text.
Forcing 96 DPI and switching the Quick Controls style didn't help, so the
cause has to be measured rather than guessed.
- SetWidget() logs the application font (family, pt, px), what 20 pt
(MyText) is in px, the screen's DPI and the device pixel ratio.
- --snapshot <file> writes the rendered overlay (RenderBackend::readback)
as PNG at most once per second while it is visible. A time interval,
because OVRAS only renders when the scene changes. Written to a
temporary file and renamed, so readers never see a partial file.
- run.sh passes arguments after the graphics API to the program.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Steam writes every VR app the user owns into its generated
steamapps.vrmanifest, installed or not. Whoever owns OVRAS on Steam
therefore always has steam.overlay.1009850 registered, as a steam:// URL
without a working directory, and --force-install-manifest failed with
"Could not find working directory of already installed application:
VRApplicationError_PropertyNotSet" (found on the Steam Frame).
Such an entry has no manifest file to remove, so OVRAS now leaves it
alone and adds its own manifest. Whether SteamVR accepts a second
manifest for the key, and which entry it then uses, is not documented:
logApplicationEntry() logs what SteamVR reports for the key after
installing, so a test on the Frame shows it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 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>
Internal fork based on upstream's qt6 branch (2d4db7e). Goal: OVRAS runs
natively on the Steam Frame (SteamOS, aarch64) with a minimal change set
against qt6 and only public Qt API.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>