Files
linux-on-android-without-root/docs/spike-protokoll.md
T
StefanandClaude Opus 5 ad2c98443b Phase 0: Repo-Gerüst, Dokumentation und Machbarkeits-Spike
Vier Beweise, die das Projekt tragen, als eigenständig lauffähige Skripte:

  S1  Plasma Mobile in proot über genestetes kwin_wayland im X11-Backend.
      Fällt selbsttätig auf startplasmamobile und dann auf XFCE zurück, damit
      ein Fehlschlag eindeutig Plasma zuzuordnen ist und nicht der Umgebung.
  S2  Mikrofon über PulseAudio mit OpenSL-Quelle. Misst den Pegel statt nur die
      Dateigröße — der typische Fehlschlag ist eine formal korrekte WAV-Datei
      voller Stille.
  S3  Virtuelle PipeWire-Kamera per GStreamer-pipewiresink, ohne Kernel-Modul.
      Setzt die Firefox-Einstellung vorab, damit der Test nicht an einem
      vergessenen Häkchen scheitert.
  S4  Intent-Handoff mit lauffähiger Mini-Bridge: xdg-open-Handler für geo:,
      tel: und sms:, Token-Authentifizierung, feste Liste erlaubter Schemata.

provision/provision.sh setzt die Hintergrundbeschränkungen per ADB und benennt,
was ADB nicht kann und von Hand erledigt werden muss.

Dokumentiert sind auch die sieben verworfenen Wege — Waydroid, AVF, QEMU, SIP,
APK-Daten-Redirect, Fenster-Durchreichung und der Android-Server — mit Belegen,
damit sie nicht erneut durchdacht werden müssen.

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

4.2 KiB
Raw Blame History

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 (guacamole)
SoC / GPU Snapdragon 855 / Adreno 640
RAM / Speicher (ausfüllen)
ROM Stock OxygenOS 12 (Android 12)
Display 3120 × 1440, virtuelle Auflösung im Test: (ausfüllen)
Akku 4000 mAh, Baujahr 2019 — getauscht? (ausfüllen)
Datum des Tests (ausfüllen)

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)
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.)