Choose libmosquitto and an own HA discovery layer

D14: libmosquitto from Debian, shipped in the package (Qt MQTT needs the
exact Qt version; nothing on the Frame). D15: own device-based discovery
layer on Qt's JSON classes. Document the libraries per requirement and
what the Frame provides (Qt modules, OpenSSL 3.2.1, glibc 2.39).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-05 19:50:39 +02:00
co-authored by Claude Opus 5.5
parent ba6302a4c0
commit ed8b2237bd
3 changed files with 110 additions and 4 deletions
+22
View File
@@ -62,6 +62,28 @@ Without the deploy script: copy the `.tar.gz`, unpack it on the Frame, run `./in
| Process names are cut to 15 characters | Scripts find running instances by command line, not by name |
| Floated/pinned dashboard tabs stay visible and operable in games | Rendering follows the overlay's visibility, not the dashboard's |
## Libraries on the Frame
Checked 2026-10-05; details per requirement in [REQUIREMENTS.md](REQUIREMENTS.md), Appendix C.
- **System Qt 6.8.0** under `/usr/lib` includes, besides the base modules: DBus, Network,
Multimedia (FFmpeg plugin), WebSockets, WebEngine (Core, Quick), WebView, TextToSpeech,
Positioning, Sensors, Svg, VirtualKeyboard. TLS plugins: `libqopensslbackend.so`,
`libqcertonlybackend.so`.
- It apparently comes with the KDE Plasma desktop mode (plugins for plasma, kwin, discover).
**SteamVR does not use Qt 6:** nothing under `/opt/steamvr` links or ships `libQt6*`. So the
system Qt is not a SteamVR dependency, which is one more reason to keep the bundled-Qt
fallback.
- **Qt add-on modules must come from the system Qt.** Shipping one fails: they use Qt's private
API, and QtCore aborts on any version mismatch ("Cannot mix incompatible Qt library").
- **Not present:** any MQTT library (no `libmosquitto`, no Qt MQTT). FrameAssistant ships
libmosquitto.
- **Present:** OpenSSL 3.2.1 (`libssl.so.3`, `libcrypto.so.3`), glibc 2.39, `libcjson.so.1`
(1.7.17), `libpulse.so.0`, `libpipewire-0.3.so.0`, and the tools `wpctl`, `pactl`, `nmcli`.
- **Libraries we ship must not need newer symbol versions** than the Frame has (e.g.
`OPENSSL_3.x`, `GLIBC_2.x`): check with `readelf -V`. Debian's libmosquitto needs at most
`OPENSSL_3.0.0` and `GLIBC_2.34`.
## Notes
- **The Frame's package repositories** in `/etc/pacman.conf` are private (URLs marked