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>
31 lines
1.2 KiB
Bash
Executable File
31 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Phase 0 · Beweis S3 — Virtuelle Kamera ohne Kernel-Modul.
|
|
#
|
|
# v4l2loopback wäre der klassische Weg, ist aber ein Kernel-Modul und damit ohne Root
|
|
# ausgeschlossen. Die Wette: ein GStreamer-pipewiresink mit media.class=Video/Source
|
|
# erzeugt einen Kamera-Node komplett im Userspace, den Firefox über das Portal annimmt.
|
|
#
|
|
# Belegt der Beweis, funktionieren Videocalls im Browser und in Element.
|
|
# Siehe: https://www.ideasonboard.com/news/pipewire-is-the-new-v4l2loopback/
|
|
#
|
|
# Ausführen IN TERMUX: bash spike/03-s3-pipewire-kamera.sh
|
|
set -uo pipefail
|
|
source "$(dirname "$0")/lib.sh"
|
|
require_termux
|
|
|
|
DISTRO=debian
|
|
|
|
log "HPOS Phase 0 · S3 — Virtuelle PipeWire-Kamera"
|
|
log "Protokoll: $LOG"
|
|
log ""
|
|
log "Voraussetzung: ein laufender X-Server aus S1."
|
|
log "Falls nicht, in einer zweiten Sitzung: termux-x11 :0 &"
|
|
log ""
|
|
|
|
section "Übergabe an Debian"
|
|
proot-distro login "$DISTRO" --shared-tmp --bind "$REPO_ROOT:/hpos" -- \
|
|
bash /hpos/spike/inner/s3-kamera.sh 2>&1 | tee -a "$LOG"
|
|
|
|
verdict "S3" "Zeigt Firefox auf webcamtests.com ein Bild aus der Quelle 'HPOS-Testkamera'?
|
|
Ein reines Auftauchen im Auswahlmenü genügt nicht — es muss Bild kommen."
|