diff --git a/.github/ISSUE_TEMPLATE/geraet-melden.md b/.github/ISSUE_TEMPLATE/geraet-melden.md new file mode 100644 index 0000000..11ee418 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/geraet-melden.md @@ -0,0 +1,61 @@ +--- +name: Gerät melden +about: Ergebnis der Phase-0-Beweise auf deinem Telefon — Erfolg wie Fehlschlag +title: "[Gerät] Hersteller Modell (Android X)" +labels: geraet +--- + +**Ein Fehlschlag ist genauso wertvoll wie ein Erfolg.** Sauber dokumentiert zeigt er, +wo die Grenze verläuft — und das ist für andere oft nützlicher als eine weitere +Erfolgsmeldung. Bitte nichts beschönigen und nichts weglassen. + +## Gerät + +| | | +|---|---| +| Hersteller und Modell | | +| Codename (`getprop ro.product.device`) | | +| SoC / GPU | | +| Android-Version und ROM | | +| RAM / freier Speicher | | + +## Ergebnisse + +| Beweis | Ergebnis | Anmerkung | +|---|---|---| +| **S1** Plasma Mobile in proot | ⬜ bestanden / ⬜ gescheitert / ⬜ teilweise | | +| **S2** Mikrofon im Linux | ⬜ bestanden / ⬜ gescheitert / ⬜ teilweise | | +| **S3** Virtuelle PipeWire-Kamera | ⬜ bestanden / ⬜ gescheitert / ⬜ teilweise | | +| **S4** Intent-Handoff | ⬜ bestanden / ⬜ gescheitert / ⬜ teilweise | | +| **Übernacht-Test** | ⬜ bestanden / ⬜ gescheitert | | + +## Leistung + +| | | +|---|---| +| GPU-Pfad (Turnip / Zink / virgl / Software) | | +| `glmark2` | | +| Virtuelle Auflösung | | +| Akkuverbrauch im Leerlauf mit laufendem Stack | | + +## Hintergrundbetrieb + +Manche ROMs beenden Hintergrundprozesse deutlich aggressiver als andere. Das entscheidet +über die Alltagstauglichkeit, deshalb bitte ausfüllen: + +- Welche Handgriffe waren nötig, damit der Stack eine Nacht überlebt? +- Was hat das ROM trotzdem beendet? + +## Was schiefging + +Bitte die Protokolle aus `spike/out/*.log` anhängen oder die entscheidenden Zeilen +einfügen. Interessant ist vor allem, **woran** etwas gescheitert ist — nicht nur, dass. + +
+Protokoll + +``` +hier einfügen +``` + +
diff --git a/README.md b/README.md index 4cc13f3..ee15fcc 100644 --- a/README.md +++ b/README.md @@ -41,24 +41,59 @@ Ergebnisse landen in [`docs/spike-protokoll.md`](docs/spike-protokoll.md). Getestet wird auf einem **OnePlus 7 Pro (Snapdragon 855, Adreno 640) mit Stock OxygenOS 12**. +Voraussetzung ist nur, dass die Entwickleroptionen aktiv sind. **Ein USB-Kabel wird +nicht gebraucht** — ab Android 11 läuft die Ersteinrichtung über WLAN. + +### Auf dem PC + ```bash -# 1. Auf dem PC. Verbindet per USB oder WLAN — das Skript fragt danach. -# Ein Kabel wird nicht gebraucht: Android 11+ kann Wireless Debugging. -# Fehlt Termux, bietet es an, alle vier Apps herunterzuladen und -# fernzuinstallieren (oder direkt: ./provision/install-termux.sh). -./provision/provision.sh +./provision/adb-wireless.sh # Verbindung per WLAN (oder Kabel anstecken) +./provision/install-termux.sh # lädt Termux + 3 Zusatz-Apps, installiert sie, + # erteilt die nötigen Berechtigungen +./provision/provision.sh # Akku- und Hintergrundeinstellungen, + # legt das Startskript aufs Telefon +``` + +`provision.sh` allein genügt auch — es ruft die anderen bei Bedarf selbst auf. + +### Auf dem Telefon, in Termux + +```bash +bash /sdcard/hpos-init.sh # installiert git, klont das Repo nach ~/hpos +cd ~/hpos -# 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/01-s1-plasma-mobile.sh # S1 zuerst — der wackligste Beweis 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). +### Aktualisieren + +Per adb kommt bewusst **nur das Startskript** aufs Telefon, nicht das Repo selbst. +Dadurch liegt dort eine echte Arbeitskopie — spätere Änderungen brauchen keinen PC: + +```bash +cd ~/hpos && git pull +``` + +Details, Stellschrauben und was bei Fehlschlägen zu tun ist: +[`spike/README.md`](spike/README.md). + +### Warum Termux nicht aus dem Play Store + +Termux und seine Plugins teilen sich eine Android-UID. Android verlangt für Apps mit +gemeinsamer UID **denselben Signaturschlüssel** — mischt man F-Droid und GitHub, +scheitert die Installation mit `INSTALL_FAILED_SHARED_USER_INCOMPATIBLE`, ohne dass +die Meldung den Grund nennt. `install-termux.sh` nimmt deshalb durchgängig GitHub und +räumt vorhandene Installationen aus fremder Quelle auf Nachfrage weg. + +Nebeneffekt der Entscheidung: Termux:X11 gibt es dort in einer sharedUid-Variante, die +in Termux' Prozessgruppe läuft und dessen Akku-Ausnahmen erbt. Bei ROMs, die +Hintergrund-Apps aggressiv beenden, ist das der Unterschied zwischen „läuft über Nacht" +und „war morgens weg". ## Dokumentation @@ -78,8 +113,12 @@ Läuft es bei dir? [Geräte-Meldung eröffnen](.github/ISSUE_TEMPLATE/geraet-mel ## Lizenz -GPLv3 — siehe [LICENSE](LICENSE). Das Projekt verteilt Termux (GPLv3) mit; -die einheitliche Lizenz erfüllt die Quellen-Angebotspflicht. +GPLv3 — siehe [LICENSE](LICENSE). + +Termux wird **nicht mitverteilt**: `install-termux.sh` lädt die APKs zur Laufzeit von +den offiziellen GitHub-Releases. Eine Quellen-Angebotspflicht entsteht dadurch nicht. +Sollte die Installer-APK in Phase 2 Termux als Asset mitbringen, ändert sich das — +die einheitliche GPLv3 deckt es dann ab. --- @@ -95,4 +134,23 @@ Currently in **Phase 0** — proving four load-bearing assumptions (S1–S4 abov any infrastructure gets built. See [`spike/`](spike/) and [`docs/spike-protokoll.md`](docs/spike-protokoll.md). +## Quick start + +No USB cable needed — Android 11+ pairs over WLAN. + +```bash +# On the PC +./provision/adb-wireless.sh # pair and connect over WLAN +./provision/install-termux.sh # download and remote-install Termux + addons +./provision/provision.sh # battery/background settings, push init script + +# On the phone, in Termux +bash /sdcard/hpos-init.sh # installs git, clones this repo to ~/hpos +cd ~/hpos && bash spike/00-bootstrap-termux.sh +``` + +Updating later needs no PC: `cd ~/hpos && git pull`. + Documentation is currently German-first; English will follow once Phase 0 concludes. +Device reports are welcome in either language — a well-documented failure is as +valuable as a success.