Files
OpenVR-AdvancedSettings-frame/docs/steamframe/PROGRESS.md
T
Matthias JanetschekandClaude Opus 5.5 266a2f9ce9 Fix the Linux build of the qt6 branch, compile QML to bytecode only
- 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>
2026-10-07 13:29:53 +02:00

1.3 KiB

Steam Frame port: progress

Iteration 1

Step 1: build fixes, bytecode-only QML (2026-10-07)

Changes:

  • CMakeLists.txt:
    • Core5Compat removed (unused, not on the Frame).
    • GuiPrivate requested explicitly. This is temporary, until step 3 replaces QRhi.
    • QT_QMLCACHEGEN_ARGUMENTS --only-bytecode.
    • OpenVR library directory per architecture (linux64 / linuxarm64 / win64), for linking and for the copy next to the binary.
    • RPATH $ORIGIN.
    • libXtst linked.
  • overlaycontroller.cpp: d3d11.h and case QRhi::D3D11 only under _WIN32.
  • Logging: 8 active easylogging LOG(INFO) calls became qInfo() (overlaycontroller.cpp 6, ChaperoneTabController.cpp 1, MoveCenterTabController.cpp 1). Commented-out LOG lines are left unchanged.
  • Only changed lines are formatted (git clang-format).

Results (x86_64, Arch, Qt 6.11.1, GCC):

  • The build succeeds, with 1463 compiler warnings, as in qt6.
  • objdump -T: 7 Qt_6_PRIVATE_API symbols, all QRhi… (step 3). The QQmlPrivate::AOTCompiledContext symbols are gone (bytecode-only QML).
  • libopenvr_api.so is resolved from the binary's directory (ldd).
  • Not started: without a running SteamVR the start hangs in OpenVR init (expected; tested on the Frame in step 5).