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>
This commit is contained in:
Stefan
2026-08-09 17:25:36 +02:00
co-authored by Claude Opus 5
commit ad2c98443b
21 changed files with 2818 additions and 0 deletions
+95
View File
@@ -0,0 +1,95 @@
# HPOS — Linux-Smartphone auf Stock-Android, ohne Root
> Arbeitstitel. Der Projektname steht noch nicht fest.
Ein beliebiges gebrauchtes Android-Smartphone wird zum Linux-Telefon: Debian 13 mit
Plasma Mobile in Termux/proot, mit einem Backup- und Provisioning-System drumherum,
das die eigentliche Substanz des Projekts ausmacht.
**Kein Root. Kein entsperrter Bootloader. Kein Server nötig.**
## Was es ist
"Linux auf dem Handy" gibt es schon. Was es nicht gibt, ist der Rest:
- **Backup mit echten Snapshots** — Einzeldatei-Restore, Web-Manager im Browser,
ZIP-Export aufs Telefon, Ziele über SFTP/SMB/FTP/WebDAV
- **Provisioning in einem Rutsch** — Telefon auspacken, eine APK, ~20 Minuten, fertiges System
- **Klonen aufs neue Telefon per WLAN** — Gerätewechsel als Normalfall, nicht als Notfall
- **Bridge zum Android darunter** — SMS, Telefonie, Kamera, Sensoren erscheinen im Linux
über Standard-D-Bus-Schnittstellen, sodass unveränderte Plasma-Anwendungen sie nutzen
Die Android-Installation darunter ist nur noch Treiber-Layer und Prozess-Host.
Alle Nutzdaten leben im Linux und damit im Backup.
## Status
**Phase 0 — Machbarkeits-Spike.** Vier Annahmen tragen das Projekt und werden zuerst
bewiesen, bevor Infrastruktur entsteht:
| | Annahme | Wenn es scheitert |
|---|---|---|
| **S1** | Plasma Mobile läuft in proot (genestetes KWin) | XFCE-Profil wird Hauptweg |
| **S2** | Mikrofon-Eingang erreicht die Linux-Seite | Keine Videocalls, keine Sprachaufnahme |
| **S3** | Virtuelle PipeWire-Kamera ohne Kernel-Modul | Kamera nur in einer eigenen App |
| **S4** | Intent-Handoff Linux → Android-App | Keine Navigation aus dem Linux-Adressbuch |
Noch nichts davon ist bewiesen. Die Skripte in [`spike/`](spike/) führen die Beweise;
Ergebnisse landen in [`docs/spike-protokoll.md`](docs/spike-protokoll.md).
## Loslegen
Getestet wird auf einem **OnePlus 7 Pro (Snapdragon 855, Adreno 640) mit Stock OxygenOS 12**.
```bash
# 1. Auf dem PC, Telefon per USB, USB-Debugging an:
./provision/provision.sh
# 2. Auf dem Telefon in Termux:
bash spike/00-bootstrap-termux.sh
# 3. Beweise der Reihe nach:
bash spike/01-s1-plasma-mobile.sh
bash spike/02-s2-mikrofon.sh
bash spike/03-s3-pipewire-kamera.sh
bash spike/04-s4-intent-handoff.sh
```
Details und Voraussetzungen: [`spike/README.md`](spike/README.md).
## Dokumentation
- [Architektur](docs/architektur.md) — wie die Teile zusammenhängen
- [Machbarkeit](docs/machbarkeit.md) — was ohne Root geht und was nicht, mit Belegen
- [Verworfene Entscheidungen](docs/verworfene-entscheidungen.md) — sieben Wege, die
geprüft und begründet verworfen wurden. **Vor jedem "warum eigentlich nicht …" lesen.**
- [Spike-Protokoll](docs/spike-protokoll.md) — Messergebnisse von Phase 0
## Geräte
| Gerät | SoC / GPU | Android | Status |
|---|---|---|---|
| OnePlus 7 Pro (`guacamole`) | Snapdragon 855 / Adreno 640 | OxygenOS 12 | 🔬 im Test |
Läuft es bei dir? [Geräte-Meldung eröffnen](.github/ISSUE_TEMPLATE/geraet-melden.md).
## Lizenz
GPLv3 — siehe [LICENSE](LICENSE). Das Projekt verteilt Termux (GPLv3) mit;
die einheitliche Lizenz erfüllt die Quellen-Angebotspflicht.
---
# HPOS — a Linux phone on stock Android, no root
Turns any second-hand Android phone into a Linux phone: Debian 13 with Plasma Mobile
inside Termux/proot, wrapped in the backup and provisioning system that is the actual
point of the project.
**No root. No unlocked bootloader. No server required.**
Currently in **Phase 0** — proving four load-bearing assumptions (S1S4 above) before
any infrastructure gets built. See [`spike/`](spike/) and
[`docs/spike-protokoll.md`](docs/spike-protokoll.md).
Documentation is currently German-first; English will follow once Phase 0 concludes.