Compare commits

...
2 Commits
Author SHA1 Message Date
StefanandClaude Opus 5 ec76b785b3 README: Rückfallebene dokumentieren, wenn git pull scheitert
Der Befehl stand bisher nur in den Antworten im Chat, nicht im Repo — genau die
Sorte Wissen, die verloren geht.

Aufgenommen mit dem Grund dahinter: 'fatal: early EOF' beim Klonen ist ein
serverseitiges Problem, upload-pack stirbt beim Schnüren des Pakets, während die
Objekte heil sind. Erkennbar daran, dass sich ein Archiv weiterhin erzeugen lässt
— und genau darauf weicht init-phone.sh aus.

Ausdrücklich dabei: das Ergebnis ist ein Abzug ohne .git. 'git pull' geht damit
nicht mehr, und derselbe Befehl stellt später auch die Arbeitskopie wieder her,
sobald der Server sich erholt hat.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-10 22:37:31 +02:00
StefanandClaude Opus 5 985f48177d S1: Plasma-Shell nachsehen statt raten, Beurteilungsfrage gestaffelt
Aus dem Gerätelauf, entscheidende Zeile:

    starting invalid corona "org.kde.plasma.desktop"

Der Paketname der Mobile-Shell hat sich mit Plasma 6 geändert: aus
org.kde.plasma.phoneshell wurde org.kde.plasma.mobileshell. Der falsche Name
fällt nicht auf — plasmashell startet klaglos, meldet nur beiläufig 'invalid
corona' und zeichnet dann nichts. Von außen sieht das aus wie ein Fehlschlag von
KWin, ist aber keiner: der genestete Compositor lief.

Statt einen Namen fest einzutragen, wird jetzt nachgesehen, welche Shells unter
/usr/share/plasma/shells/ tatsächlich liegen, und in der Reihenfolge
mobileshell, phoneshell, nano, desktop gewählt. Die gefundene Liste wird
protokolliert — beim nächsten Umbenennen sieht man sofort, woran es liegt.

Dazu XCURSOR_THEME gesetzt: ohne das meldet KWin 'Failed to load cursor theme'
und zeichnet gar keinen Zeiger.

Die Beurteilungsfrage fragte nach der Bildschirmtastatur in einem Eingabefeld —
in dem Zustand, in dem sie gestellt wird, gibt es aber gar keine Felder. Sie ist
jetzt nach dem gestaffelt, was tatsächlich zu sehen ist, mit dem X-Cursor auf
schwarzem Grund als eigener Zwischenstand: X11 verbunden, aber nichts zeichnet
darauf. Genau dieser Fall lag hier vor und hatte vorher keine passende Antwort.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-10 22:35:55 +02:00
4 changed files with 75 additions and 3 deletions
+26
View File
@@ -79,6 +79,32 @@ Dadurch liegt dort eine echte Arbeitskopie — spätere Änderungen brauchen kei
cd ~/hpos && git pull
```
**Wenn `git pull` scheitert:**
```bash
rm -rf ~/hpos && bash /sdcard/hpos-init.sh
```
Das Startskript versucht zuerst wieder einen Klon und weicht, falls der Server keine
Pakete ausliefert, auf den Archiv-Endpunkt aus (`/archive/main.tar.gz`). Der geht
nicht über `git upload-pack` und funktioniert deshalb auch dann noch.
Das Ergebnis ist dann allerdings **ein Abzug, keine Arbeitskopie**`git pull` geht
damit nicht mehr, jede Aktualisierung braucht denselben Befehl erneut. Sobald der
Server wieder Pakete liefert, stellt genau dieser Befehl auch die Arbeitskopie
wieder her.
Typische Meldung, wenn es so weit ist:
```
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
```
Das ist ein serverseitiges Problem — `upload-pack` stirbt beim Schnüren des Pakets,
während die Objekte selbst heil sind. Erkennbar daran, dass sich ein Archiv weiterhin
erzeugen lässt.
Details, Stellschrauben und was bei Fehlschlägen zu tun ist:
[`spike/README.md`](spike/README.md).
+11 -2
View File
@@ -119,7 +119,16 @@ HPOS_GPU_PROFIL="$GPU_PROFIL" HPOS_BREITE="$BREITE" HPOS_HOEHE="$HOEHE" \
proot-distro login "$DISTRO" --shared-tmp --bind "$REPO_ROOT:/hpos" -- \
bash /hpos/spike/inner/s1-plasma.sh 2>&1 | tee -a "$LOG"
verdict "S1" "Zeigt die Termux:X11-App eine bedienbare Plasma-Mobile-Oberfläche?
Prüfe: reagiert Touch, erscheint die Maliit-Tastatur beim Tippen in ein Feld?"
verdict "S1" "Was zeigt die Termux:X11-App?
[n] Nichts, oder nur 'not connected' — der X-Server kam nicht durch.
[t] Schwarze Fläche mit kleinem X-Cursor oben links.
Das heißt: X11 ist verbunden und der Server läuft, aber es zeichnet
nichts darauf. KWin oder die Plasma-Shell fehlen — halber Erfolg.
[j] Eine Plasma-Mobile-Oberfläche mit Hintergrund und Bedienelementen.
Nur bei [j] weiter prüfen: reagiert Touch auf Wischen und Tippen?
Die Bildschirmtastatur erst dort testen, wo es ein Eingabefeld gibt —
etwa in den Plasma-Einstellungen. Vorher gibt es nichts zu tippen."
log "Aufräumen: pkill -f termux-x11 ; pkill -f virgl_test_server"
+8
View File
@@ -94,11 +94,19 @@ bash spike/04-s4-intent-handoff.sh
```bash
cd ~/hpos && git pull
# Falls das scheitert (Server liefert keine Pakete aus):
rm -rf ~/hpos && bash /sdcard/hpos-init.sh
```
Per adb kommt bewusst nur das Startskript aufs Telefon, nicht das Repo selbst.
Dadurch liegt dort eine echte Arbeitskopie statt einer Kopie.
Der zweite Befehl weicht auf den Archiv-Endpunkt aus, wenn `git clone` am Server
scheitert. Das Ergebnis ist dann ein Abzug ohne `.git``git pull` geht damit nicht
mehr, und jede Aktualisierung braucht denselben Befehl erneut. Sobald der Server
wieder Pakete liefert, stellt er auch die Arbeitskopie wieder her.
Jedes Skript fragt am Ende nach deiner Beurteilung und schreibt sie nach
`spike/out/ergebnisse.tsv`. Rohprotokolle liegen daneben in `spike/out/*.log`.
+30 -1
View File
@@ -22,6 +22,10 @@ export QT_QPA_PLATFORM=wayland
export QT_QUICK_CONTROLS_MOBILE=1
export PLASMA_PLATFORM=phone
export KDE_FULL_SESSION=true
# Ohne gesetztes Cursor-Thema meldet KWin 'Failed to load cursor theme "default"'
# und zeichnet gar keinen Mauszeiger.
export XCURSOR_THEME=breeze_cursors
export XCURSOR_SIZE=24
case "$GPU_PROFIL" in
turnip)
@@ -55,6 +59,31 @@ for b in kwin_wayland plasmashell; do
else echo "$b fehlt"; fi
done
# ── Welche Shell? ────────────────────────────────────────────────────────────
# Der Paketname der Mobile-Shell hat sich mit Plasma 6 geändert: aus
# org.kde.plasma.phoneshell wurde org.kde.plasma.mobileshell. Ein falscher Name
# fällt nicht auf — plasmashell startet klaglos, meldet nur beiläufig
# "starting invalid corona" und zeichnet dann nichts. Deshalb wird nicht geraten,
# sondern nachgesehen, was tatsächlich installiert ist.
echo "── Verfügbare Plasma-Shells ──"
ls -1 /usr/share/plasma/shells/ 2>/dev/null | sed 's/^/ /' || echo " (Verzeichnis fehlt)"
SHELL_PAKET=""
for kandidat in org.kde.plasma.mobileshell org.kde.plasma.phoneshell \
org.kde.plasma.nano org.kde.plasma.desktop; do
if [ -d "/usr/share/plasma/shells/$kandidat" ]; then
SHELL_PAKET="$kandidat"
break
fi
done
if [ -n "$SHELL_PAKET" ]; then
echo " ✓ Shell: $SHELL_PAKET"
else
echo " ✗ Keine Plasma-Shell gefunden — plasmashell hätte nichts zu zeichnen."
echo " Fehlt plasma-mobile oder plasma-nano?"
fi
# ── GPU-Nachweis, bevor der Desktop startet ──────────────────────────────────
# Wenn hier schon nichts kommt, ist ein Fehlschlag von Plasma keine Aussage über
# Plasma, sondern über den GPU-Pfad. Deshalb vorher messen.
@@ -78,7 +107,7 @@ dbus-run-session -- kwin_wayland \
--x11-display "$DISPLAY" \
--width "$BREITE" --height "$HOEHE" \
--xwayland \
-- plasmashell -p org.kde.plasma.phoneshell \
-- plasmashell ${SHELL_PAKET:+-p "$SHELL_PAKET"} \
>"$LOGA" 2>&1 &
PID_A=$!
echo " gestartet (PID $PID_A), warte 25 s auf die Oberfläche …"