From c7221e18adc381d1993506ba5dabb64079c4b50c Mon Sep 17 00:00:00 2001 From: Stefan Date: Mon, 10 Aug 2026 16:56:14 +0200 Subject: [PATCH] =?UTF-8?q?README=20auf=20den=20tats=C3=A4chlichen=20Ablau?= =?UTF-8?q?f=20gebracht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Der beschriebene Weg stimmte nicht mehr mit den Skripten überein: die Termux-Installation per adb fehlte, und das Repo kommt inzwischen nicht mehr per push aufs Telefon, sondern über init-phone.sh und git clone. Dazu der Aktualisierungsweg, der ohne PC auskommt. Zwei Korrekturen an Aussagen, die schlicht falsch geworden waren: Die Lizenzangabe behauptete, das Projekt verteile Termux mit und erfülle darüber die Quellen-Angebotspflicht. Seit install-termux.sh werden die APKs zur Laufzeit von den offiziellen Releases geladen — mitverteilt wird nichts, die Pflicht entsteht so nicht. Für den Fall, dass die Installer-APK in Phase 2 Termux als Asset mitbringt, ist der Hinweis stehen geblieben. Der Link auf die Geräte-Meldung zeigte ins Leere. Die Vorlage gibt es jetzt, mit Feldern für den Hintergrundbetrieb — der entscheidet über die Alltagstauglichkeit und fehlt in solchen Meldungen sonst regelmäßig. Dazu ein englischer Schnellstart, damit die Einstiegshürde nicht an der Sprache hängt, solange die übrige Dokumentation deutsch ist. Co-Authored-By: Claude Opus 5 (1M context) --- .github/ISSUE_TEMPLATE/geraet-melden.md | 61 +++++++++++++++++++ README.md | 80 +++++++++++++++++++++---- 2 files changed, 130 insertions(+), 11 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/geraet-melden.md 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.