Wrap-up documentation after the first tests on the Steam Frame
README: status, new Steam Frame facts (Steam's generated app manifest, OpenVR library, display and font metrics) and open points. PROGRESS: partial results of T1, T2 and T4, and what is open next. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -12,16 +12,22 @@ point for continuing the work on any computer.
|
||||
| [OVRAS-FEATURES.md](OVRAS-FEATURES.md) | OVRAS's features and how they are implemented; issues found while reading |
|
||||
| [`/CLAUDE.md`](../../CLAUDE.md) | Working rules and conventions (for people and for Claude Code) |
|
||||
|
||||
## Status (2026-10-07)
|
||||
## Status (2026-10-08)
|
||||
|
||||
- **Iteration 1 ("native start on the Frame"): implemented, not yet tested on the Frame.**
|
||||
- **Iteration 1 ("native start on the Frame"): implemented; testing on the Frame has
|
||||
started** (phase 4). OVRAS starts natively on the Frame, the dashboard tab appears, laser
|
||||
and navigation work, the root page and "Chaperone Settings" fit (OpenGL). Five problems
|
||||
found on the first deployment were fixed (details in [PROGRESS.md](PROGRESS.md)):
|
||||
manifest commands without a display, wrong aarch64 OpenVR library, app key already
|
||||
registered by Steam, debug log flood, layout cut off (Material style).
|
||||
- Tested without a headset:
|
||||
- Linux x86_64 build.
|
||||
- aarch64 cross build: no private Qt API except `QVulkan*`, Qt 6.8, GLIBC ≤ 2.38.
|
||||
- Render tests with OpenGL and Vulkan; Vulkan with validation layers and no messages.
|
||||
- Release package (1.6 MB).
|
||||
- **Next step:** test checklist T1–T11 on the Frame ([PROGRESS.md](PROGRESS.md)), record
|
||||
the results there, then assessment.
|
||||
- **Next step:** continue on the Frame: page-by-page layout check with `--snapshot`, then the
|
||||
rest of the test checklist T1–T11 ([PROGRESS.md](PROGRESS.md), "Wrap-up (2026-10-08)"
|
||||
lists what is open), then assessment.
|
||||
- **After that:** iteration 2. R5 hides the features that are native in SteamVR or don't
|
||||
work on the Frame. Then the remaining features are checked one by one.
|
||||
|
||||
@@ -144,14 +150,23 @@ Verified with the template on SteamOS holo 0.4.3; details in FrameAssistant's
|
||||
- **Manifest and SteamVR:**
|
||||
- The manifest needs `binary_path_linux_arm`; entries without it are skipped silently.
|
||||
- SteamVR refuses `VRApplication_Utility`. Manifest commands therefore fall back to
|
||||
`Background`, which needs a running SteamVR.
|
||||
`Background`, which needs a running SteamVR. (2026-10-07: with OVRAS, SteamVR accepted
|
||||
`Utility`; the fallback stays.)
|
||||
- Steam's generated `~/.local/share/Steam/config/steamapps.vrmanifest` lists every VR app
|
||||
the user owns, installed or not, with a `steam://` URL. For a key listed there, SteamVR
|
||||
keeps using Steam's entry even after our manifest is added (seen 2026-10-07).
|
||||
- Use the OpenVR SDK's `bin/linuxarm64/libopenvr_api.so`; the SDK's `lib/linuxarm64` one
|
||||
looks for the path registry in `/data/work` and never finds SteamVR.
|
||||
- `VR_Shutdown` must run before the graphics device is destroyed (crash with Vulkan
|
||||
otherwise).
|
||||
- **Rendering and input:**
|
||||
- OpenGL runs through zink (no native GL driver); Vulkan is about 1.9× faster per frame.
|
||||
- SteamVR reports overlay mouse coordinates with y from the bottom.
|
||||
- **Processes and display:**
|
||||
- Over SSH there is no display: set `DISPLAY=:0` (the scripts do).
|
||||
- Over SSH there is no display: set `DISPLAY=:0` (the scripts do). Commands that draw
|
||||
nothing run with `QT_QPA_PLATFORM=offscreen`.
|
||||
- X screen 1920×1080 with `Xft.dpi: 144`, yet Qt reports logical DPI 96 and device pixel
|
||||
ratio 1 for OVRAS; default font Noto Sans (20 pt = 27 px).
|
||||
- Process names are cut to 15 characters: find instances by command line.
|
||||
- An executable must not be named like a SteamVR process (e.g. `vrdashboard`).
|
||||
- **Private package repositories:** the Frame's `/etc/pacman.conf` points to private Valve
|
||||
@@ -161,9 +176,13 @@ Verified with the template on SteamOS holo 0.4.3; details in FrameAssistant's
|
||||
|
||||
- **SteamVR keyboard:** text fields may not get focus. The template had to send the offscreen
|
||||
window an explicit `FocusIn`; `qt6` doesn't (T5).
|
||||
- **Unverified on the Frame:**
|
||||
- QML modules: Controls/Material, Layouts, Dialogs, Multimedia.
|
||||
- libXt/libXtst present? libstdc++ ≥ GLIBCXX_3.4.32?
|
||||
- **App key taken by Steam's entry:** whoever owns OVRAS on Steam has
|
||||
`steam.overlay.1009850` in Steam's `steamapps.vrmanifest`, and SteamVR keeps using that
|
||||
entry (auto-start would launch the Steam version). On the author's Frame it is still
|
||||
listed after removing the license from the account. Possible fix: an own app key for the
|
||||
native build (option 2, DESIGN.md section 2a; needs its own design).
|
||||
- **Unverified on the Frame:** QML modules Dialogs and Multimedia (Controls, Layouts and
|
||||
the binary's libraries load, since OVRAS runs).
|
||||
- **Remaining play-area commit:** "auto-apply chaperone" (opt-in, default off) still commits
|
||||
at start-up; this belongs to R5.
|
||||
- **Windows:** the Windows build is broken on `steamframe`. There is no D3D11 render path
|
||||
|
||||
Reference in New Issue
Block a user