Remove the HA Dashboard tab and the Qt WebEngine dependency (D40)

DSH-1 ended with a negative result: the Frame's system WebEngine can't be
loaded, and bundling our own failed (no sandbox, ICU resources, Vulkan
abort, empty page). Reverts the tab (60deb43), the container packages
(0676998) and the bundler's WebEngine support (b823ff3, e2cfa8e), and
updates the docs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-05 23:04:24 +02:00
co-authored by Claude Opus 5.5
parent e2cfa8ea5b
commit c5c176644a
19 changed files with 59 additions and 278 deletions
+7 -13
View File
@@ -10,8 +10,7 @@ the headset to Home Assistant in both directions:
- **Dashboard:** a SteamVR dashboard tab to view and control Home Assistant from inside VR.
> **Status:** early development. The overlay platform works on the Frame. The Home Assistant
> parts are being built: so far a settings file and an "HA Dashboard" tab with Home
> Assistant's web UI. See [docs/REQUIREMENTS.md](docs/REQUIREMENTS.md),
> parts are being built: so far the settings file. See [docs/REQUIREMENTS.md](docs/REQUIREMENTS.md),
> [docs/DESIGN.md](docs/DESIGN.md) and [docs/PROGRESS.md](docs/PROGRESS.md).
### Platform
@@ -34,8 +33,8 @@ FrameAssistant grew out of a SteamVR dashboard-overlay template, which it still
## Quick start
Requirements:
- CMake ≥ 3.22, Ninja, a C++20 compiler, and Qt ≥ 6.5 (Quick, QuickControls2, OpenGL,
WebEngineQuick; Test for the tests)
- CMake ≥ 3.22, Ninja, a C++20 compiler, and Qt ≥ 6.5 (Quick, QuickControls2, OpenGL;
Test for the tests)
- Vulkan headers (optional; without them the build is OpenGL only)
- Docker or Podman, for the Frame builds
@@ -47,7 +46,7 @@ cmake --preset native-debug && cmake --build --preset native-debug
ctest --preset native-debug
build/native-debug/bin/frame-assistant --desktop # UI in windows, no SteamVR
build/native-debug/bin/frame-assistant --snapshot out.png # one frame per tab through the VR path
build/native-debug/bin/frame-assistant --snapshot out.png # one frame through the VR path
build/native-debug/bin/frame-assistant # as dashboard tab (SteamVR running)
build/native-debug/bin/frame-assistant --install-manifest # register + auto-start with SteamVR
```
@@ -89,15 +88,12 @@ FrameAssistant reads its settings from `~/.config/frameassistant/config.json`
| `mqtt.tls.ca_file` | no | system certificates | CA of the broker's certificate |
| `mqtt.tls.cert_file`, `mqtt.tls.key_file` | no | | Client certificate |
| `homeassistant.discovery_prefix` | no | `homeassistant` | |
| `homeassistant.url` | no | | Home Assistant web UI for the "HA Dashboard" tab |
| `homeassistant.url` | no | | Home Assistant's address; reserved for the dashboard, not used yet |
| `notifications.timeout_s` | no | 10 | How long notifications stay |
Invalid or missing settings stop the app with an error message and exit code 1. Unknown keys
only produce a warning. Keep the file private (`chmod 600`) when it holds a password.
The "HA Dashboard" tab keeps the Home Assistant login in
`~/.local/share/frameassistant/webengine`.
## Development
- **App identity** (app key `net.matzman.frameassistant`, tab name, executable name
@@ -149,7 +145,6 @@ VK_DRIVER=lvp scripts/container-test.sh # same on the lavapipe software driver
|------|---------|
| `src/main.cpp`, `src/Dashboard.*`, `src/qml/` | **The app** |
| `src/config/` | Settings file (`frameassistant_lib`) |
| `src/ha/` | Home Assistant parts: `HaWebUi` (web UI tab) |
| `src/app/` | `DashboardApplication` (app base class), `Surface` (one view) |
| `src/render/` | Off-screen Qt Quick renderer; Vulkan and OpenGL backends |
| `src/vr/` | SteamVR connection, overlays (dashboard tab) |
@@ -162,6 +157,5 @@ VK_DRIVER=lvp scripts/container-test.sh # same on the lavapipe software driver
## License
MIT, see [LICENSE](LICENSE). Third-party components (OpenVR SDK, Qt incl. Qt WebEngine; in
bundled builds also their dependencies) are listed in
[THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).
MIT, see [LICENSE](LICENSE). Third-party components (OpenVR SDK, Qt; in bundled builds also
their dependencies) are listed in [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).