On the Steam Frame, VR_Init failed with "Installation path could not be
located": the SDK's lib/linuxarm64/libopenvr_api.so (2.15.6) reads the VR
path registry from the fixed path /data/work/openvrpaths.vrpath instead
of ~/.config/openvr. The SDK's bin/linuxarm64 library of the same version
uses ~/.config/openvr; the vrdashboard template ships it and was verified
on the Frame. It is added as a new file (third-party/openvr had no
bin/linuxarm64, and "bin" is gitignored, hence force-added), and aarch64
builds link against and ship it. x86_64 and Windows are unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The CMake build had the version hard-coded as 5.7.4, while the qmake build
read it from compile_version_string.txt (5.8.17-release). The stale number
also made the version check report an update. As in the qmake build, the
full string becomes APPLICATION_VERSION and its numeric part the project
version.
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>
Replace the QRhi rendering in OverlayController (private Qt API) with the
render backends of the vrdashboard template (src/render/), which use public
Qt API only (QQuickRenderTarget::fromOpenGLTexture / fromVulkanImage). The
binary then runs on another Qt 6 patch release, e.g. the Steam Frame's system
Qt.
The Vulkan backend also does what SteamVR requires and the QRhi path lacked:
the required instance/device extensions and the HMD's GPU (via
openvr_init::renderInterop()), VK_FORMAT_R8G8B8A8_UNORM, and the transition to
TRANSFER_SRC_OPTIMAL after each frame.
- New option --graphics-api opengl|vulkan (default opengl, no fallback).
- Shutdown() calls VR_Shutdown before the render target and Qt's device go
(crash on the Steam Frame with Vulkan otherwise); it runs only once.
- Mouse y is flipped on every platform: SteamVR reports it in GL convention.
- Render delay 5 -> 16 ms (about 60 fps).
- GuiPrivate is no longer needed.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- CMake option OVRAS_STEAM_FRAME. It is evaluated only in
src/utils/platform_capabilities.h, which turns it into named capability
constants and platform defaults.
- Where the chaperone can't be committed (Steam Frame: it shifts the play
area), MoveCenterTabController no longer commits the working copy at start-up
or when applying reset data, and doesn't create the init autosave profile.
Skips are logged once.
- In "vsync disabled" mode the pump timer now runs directly at the custom tick
rate instead of firing every 1 ms and counting. The Frame defaults to this
mode at 11 ms (~90 Hz).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Remove Core5Compat (unused, not part of the Steam Frame's system Qt).
- Request GuiPrivate explicitly (required since Qt 6.10 for QRhi); temporary
until rendering moves to public API.
- Compile QML to bytecode only: C++ generated from QML uses private Qt API
that only matches the exact Qt version it was built with.
- Pick the OpenVR library per architecture (linux64, linuxarm64, win64) for
linking and for the copy next to the binary; RPATH $ORIGIN.
- Link libXtst, needed by input_sender_X11.cpp.
- Include d3d11.h and handle QRhi::D3D11 only on Windows.
- Replace leftover easylogging LOG(INFO) calls with qInfo().
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* update qt6 upgrade progress
* add flawed addition for QRenderTarget and link needed libs
* update to better logging format
* move many assets and qml files into qrc
* get rid of deprecation messages
* remove additional deprecation notices
* make Qt6 finally render on desktop with some progress on vr
* initialize QRhi with QQuickRenderControl
* use default values to stop SegFaults
* fix compilation on windows
* add windows files for aiding in running exe
* fix formatting of testing qt.conf
* first attempt on using textures instead of files in AudioTabController
* Fix public/private access issue
---------
Co-authored-by: RTUnreal <unreal@rtinf.net>