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>