Files
StefanandClaude Opus 5 10851df46a Spike-Protokoll: Gerätefakten und Bootstrap-Ergebnis eingetragen
Bootstrap auf dem OnePlus 7 Pro bestanden. Turnip ist nachweislich aktiv —
vulkaninfo meldet 'Turnip Adreno (TM) 640', also nicht nur installiert, sondern
tatsächlich der genutzte Treiber. Damit steht für S1 der schnellste GPU-Pfad zur
Verfügung, ohne virgl-Proxy.

Beide Stolpersteine sind mit dokumentiert, auch der unschöne: proot-distro
verlangt python3.13, installiert ist 3.14, und weder Nachinstallieren noch
Vollupgrade beheben das — die Paketquelle liefert einen unstimmigen Satz. Der
Verweis python3.13 auf 3.14 ist ein Behelf und steht als solcher im Protokoll,
samt Hinweis, dass er beim nächsten Update von proot-distro wieder aufbrechen kann.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-10 22:00:25 +02:00

162 lines
5.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Spike-Protokoll — Phase 0
Ergebnisse der vier Machbarkeitsbeweise. **Dies ist das wichtigste Dokument des
Projekts**, solange Phase 0 läuft: alle folgenden Entscheidungen bauen darauf auf.
Ehrlich ausfüllen, auch und gerade bei Fehlschlägen. Ein sauber dokumentierter
Fehlschlag ist wertvoller als ein geschöntes Ergebnis.
## Gerät
| | |
|---|---|
| Modell | OnePlus 7 Pro — `GM1913` / `OnePlus7Pro` |
| SoC | Snapdragon 855 (`SM8150`, Plattform `msmnile`) |
| GPU | Adreno 640 — **Turnip aktiv**, laut `vulkaninfo`: `Turnip Adreno (TM) 640` |
| RAM | 11 GiB |
| Freier Speicher | ~19,9 GB unter `$PREFIX` |
| ROM | Stock OxygenOS 12 (Android 12, SDK 31) |
| Kernel | 4.14.180-perf+ |
| Rootfs | Debian 13.3 (Trixie) über proot-distro |
| Display | 3120 × 1440, virtuelle Auflösung im Test: _(ausfüllen)_ |
| Akku | 4000 mAh, Baujahr 2019 — getauscht? _(ausfüllen)_ |
| Datum des Tests | _(ausfüllen)_ |
**Bootstrap: bestanden.** Zwei Stolpersteine unterwegs, beide gelöst und im Skript
abgefangen:
- `libmagic` gegen `file 5.47`: Dateikonflikt aus einer Paketaufteilung, aufgelöst
mit `--force-overwrite`.
- `proot-distro` verlangt `python3.13`, installiert ist `python3.14`. Weder
Nachinstallieren noch Vollupgrade haben das behoben — die Paketquelle liefert
hier einen unstimmigen Satz. Behelf: Verweis `python3.13 → python3.14`.
**Vertretbar, weil proot-distro reines Python ist, aber nicht sauber** — beim
nächsten Update von proot-distro kann es erneut auftreten.
## Zusammenfassung
| Beweis | Ergebnis | Konsequenz |
|---|---|---|
| **S1** Plasma Mobile in proot | ⬜ offen | |
| **S2** Mikrofon im Linux | ⬜ offen | |
| **S3** Virtuelle PipeWire-Kamera | ⬜ offen | |
| **S4** Intent-Handoff | ⬜ offen | |
| **Übernacht-Test** Hintergrundbetrieb | ⬜ offen | |
---
## S1 — Plasma Mobile in proot
**Beweisziel:** `kwin_wayland --x11-display` genestet in Termux-X11, darauf
`plasma-mobile`. Startet, reagiert auf Touch, Maliit-Tastatur erscheint.
**Wenn es scheitert:** XFCE-Profil wird Hauptweg. Dann braucht die Kamera
`xdg-desktop-portal-gtk` statt `-kde`, die Tastatur wird `onboard`, und Telefonie
braucht eine eigene Oberfläche statt `plasma-dialer`.
| | |
|---|---|
| Ergebnis | _(offen)_ |
| Startzeit bis Bedienoberfläche | |
| Touch funktioniert | |
| Maliit-Tastatur erscheint | |
| Rotation | |
| Fehlermeldungen | |
---
## S2 — Mikrofon im Linux
**Beweisziel:** PulseAudio in Termux mit OpenSL-Source, `PULSE_SERVER` in den proot,
`parecord` nimmt hörbar auf.
**Wenn es scheitert:** keine Videocalls in Element und im Browser, keine Sprachaufnahme,
keine Spracheingabe. Videotelefonie nur noch nativ auf dem Host per Intent-Handoff.
Deutliche Abwertung des Produkts.
| | |
|---|---|
| Ergebnis | _(offen)_ |
| Verwendetes PulseAudio-Modul | |
| Aufnahme hörbar | |
| Latenz / Aussetzer | |
| Verhalten bei gesperrtem Bildschirm | |
---
## S3 — Virtuelle PipeWire-Kamera
**Beweisziel:** GStreamer-`pipewiresink` mit `media.class=Video/Source` erzeugt einen
Kamera-Node; Firefox mit `media.webrtc.camera.allow-pipewire` sieht ihn auf
`webcamtests.com` und zeigt Bild.
**Wenn es scheitert:** keine Videocalls im Linux, Kamera nur über eine eigenständige App.
| | |
|---|---|
| Ergebnis | _(offen)_ |
| Node erscheint in `wpctl status` | |
| Firefox sieht die Kamera | |
| Bild kommt an | |
| Bildrate / Auflösung | |
⚠️ **Pop-up-Kamera:** Die Frontkamera des OnePlus 7 Pro fährt motorisiert aus. Prüfen,
dass der Node nicht spekulativ die Frontkamera öffnet — das ist Mechanik und Verschleiß.
---
## S4 — Intent-Handoff
**Beweisziel:** Eine Adresse aus dem Linux startet per `geo:`-Intent die Navigation auf
dem Host, mit vorher gestarteter Overlay-Begleit-App.
**Wenn es scheitert:** keine Navigation aus dem Linux-Adressbuch; Host-Apps müssen
manuell über den Task-Manager gestartet werden.
| | |
|---|---|
| Ergebnis | _(offen)_ |
| `geo:`-URI startet Maps | |
| `google.navigation:` startet Turn-by-Turn direkt | |
| Overlay der Begleit-App liegt über Maps | |
| `SYSTEM_ALERT_WINDOW` erteilt | |
| Rückweg ins Linux über Task-Manager | |
---
## Übernacht-Test — Hintergrundbetrieb
**Beweisziel:** Der komplette Stack überlebt eine Nacht mit gesperrtem Bildschirm.
**Wenn es scheitert:** früher Warnschuss für das Gesamtkonzept, kein Detail. OxygenOS 12
basiert auf ColorOS mit aggressiver App-Einfrierung unterhalb der Android-Mechanismen.
| | |
|---|---|
| ADB-Maßnahmen gesetzt (`provision.sh`) | |
| Herstellerseitige Handgriffe erledigt | |
| Prozesse nach 8 h noch da | |
| Akkuverbrauch über Nacht | |
| Was wurde beendet | |
---
## Leistungsmessungen
| Messung | Wert |
|---|---|
| `vkcube` läuft | |
| `glmark2` Score | |
| GPU-Treiberpfad (Turnip / Zink / virgl / Software) | **Turnip** — bestätigt im Bootstrap |
| Virtuelle Auflösung | |
| Akku: Leerlauf mit laufendem Stack | |
| Akku: Desktop aktiv | |
| Thermik / Throttling | |
---
## Fazit und Entscheidungen
_(Nach Abschluss ausfüllen: welches Desktop-Profil wird gebaut, welche Fallbacks greifen,
was ändert sich am Plan.)_