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:
@@ -318,10 +318,10 @@ Deploy: `build_scripts/steamframe/deploy-to-frame.sh <user>@<frame>` (SteamVR ru
|
||||
|
||||
| # | Check | Criterion | Result |
|
||||
|---|---|---|---|
|
||||
| T1 | `install.sh`: registration works (log: "Manifest reinstalled", via Background) | R2 | first try failed: abort without a display (fixed, see above); retest open |
|
||||
| T2 | Tab appears in the dashboard, UI correct (OpenGL) | R2, R3 | open |
|
||||
| T1 | `install.sh`: registration works (log: "Manifest reinstalled", via Background) | R2 | partly: "Manifest reinstalled" after three fixes (display, OpenVR library, Steam's entry), but SteamVR keeps Steam's entry for the key (see "Finding: app key …") |
|
||||
| T2 | Tab appears in the dashboard, UI correct (OpenGL) | R2, R3 | partly: tab appears; root page and "Chaperone Settings" correct after the style fix; other pages not checked |
|
||||
| T3 | `./run.sh vulkan`: UI correct | R3 | open |
|
||||
| T4 | Laser right way up, click, scrolling on several pages (both APIs) | R4 | open |
|
||||
| T4 | Laser right way up, click, scrolling on several pages (both APIs) | R4 | partly: laser and navigation work (OpenGL, user's observation); scrolling and Vulkan not checked |
|
||||
| T5 | Text field (e.g. new profile name): SteamVR keyboard opens, input arrives | R4 | open |
|
||||
| T6 | An OVRAS action arrives (e.g. push-to-talk, log/notification) | R4 | open |
|
||||
| T7 | Play area before/after start unchanged; log: "CommitWorkingCopy skipped" | R7 | open |
|
||||
@@ -338,3 +338,25 @@ Deploy: `build_scripts/steamframe/deploy-to-frame.sh <user>@<frame>` (SteamVR ru
|
||||
(working rules, conventions), `docs/steamframe/OVRAS-FEATURES.md` (feature analysis).
|
||||
- **Still open in iteration 1:** phase 4 (tests on the Frame, T1–T11) and phase 5
|
||||
(assessment).
|
||||
|
||||
### Wrap-up (2026-10-08)
|
||||
|
||||
- **First tests on the Frame (2026-10-07/08):** six fixes, each its own commit:
|
||||
`537539a` manifest commands without a display, `317db68` OpenVR library
|
||||
`bin/linuxarm64`, `ec82b5f` registration when Steam lists the key, `bbb3d1b` no debug
|
||||
output by default, `d664f86` layout diagnosis (font log, `--snapshot`), `ff4ea8f` Fusion
|
||||
style instead of Material.
|
||||
- **State on the Frame:** package of `ff4ea8f` deployed, running with
|
||||
`--snapshot /tmp/ovras.png` (OpenGL).
|
||||
- **Open, in this order:**
|
||||
1. Page-by-page layout check with `--snapshot` (SteamVR, Offsets, Motion, Rotation,
|
||||
Space Fix, Audio, Video, Utilities, Statistics, Settings, Chaperone sub-pages). Known:
|
||||
icon slightly overlaps the text on "Chaperone" and "Space Fix".
|
||||
2. Rest of T1–T11, especially T3 (Vulkan), T5 (keyboard), T8 (quit), T9 (auto-start),
|
||||
T10 (CPU), T11 (uninstall).
|
||||
3. App key: Steam's entry still wins (see README "Known open points"); auto-launch is
|
||||
switched on for Steam's key (`~/.config/openvr/config/vrappconfig/steam.overlay.1009850.vrappconfig`,
|
||||
created by our `install.sh`). Decide on an own app key (option 2).
|
||||
4. R6: three synchronous PulseAudio queries per tick for the microphone mute state.
|
||||
- **Not in the repository:** the headset photo `frame-headset-2026-10-07T22-00-14-104Z.png`
|
||||
in the working tree (untracked).
|
||||
|
||||
@@ -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