Entscheidungen und Belege für den Linux-Build (AppImage + deb, x64). Nur Quellen, die geöffnet wurden.
- Ziele: AppImage und deb, nur x64. Dateinamen ohne Leerzeichen (
lz-scopes-<version>-x86_64.AppImage,lz-scopes-<version>-amd64.deb): GitHub ersetzt Leerzeichen in Asset-Namen durch Punkte,latest-linux.ymlbehält den Namen von electron-builder (bei macOS/Windows sichtbar: AssetLZ.Scopes-1.5.0-universal.zip, FeedLZ-Scopes-1.5.0-universal.zip). Der AppImage-Updater braucht beide gleich. - arm64 (Raspberry Pi 5, Jetson): nicht gebaut. Es gibt kein
linux-arm64im eigenen ffmpeg-Build (scripts/ffmpeg-builds.json); das hieße neuer Build-Lauf und neues ffmpeg-Release. Die Helfer (g++,dlopen) wären portabel, die NDI-Pfade kennen nurx86_64-linux-gnu.beforePackbricht ab, falls doch arm64 verlangt wird. Eigenes Issue. - Desktop-Eintrag: Hauptkategorie
AudioVideo, ZusatzVideo(freedesktop Menu Spec), Name/Kommentar EN+DE. - Packfalle:
extraMetadata.type = 'commonjs'gilt für alle Plattformen; die CI prüft das gepacktepackage.jsonim asar. - Sandbox: Das deb installiert nach
/opt/LZ Scopessamt AppArmor-Profil (electron-buildertemplates/linux/after-install.tpl, Ubuntu 24+). Ein AppImage kannchrome-sandboxnicht SUID setzen; unter Ubuntu 24.04 (AppArmor sperrt unprivilegierte User-Namespaces) startet es dann nur mit--no-sandbox. Deshalb empfiehlt die README das deb; CI startet beide (AppImage mit--no-sandbox --appimage-extract-and-run, deb mit Sandbox).
Eigener Build ffmpeg-9.0.2-lzs1 linux-x64, am Binary geprüft (strings):
- dynamisch gegen glibc (höchstes Symbol
GLIBC_2.38) und libstdc++ (GLIBCXX_3.4.32, GCC 13) → Ubuntu 24.04, Debian 13, Fedora 39 oder neuer. - Eingabegeräte:
video4linux2,v4l2,fbdev. Kein ALSA, kein PulseAudio, kein x11grab:build.shbaut mit--disable-autodetect, ALSA ist eine Autodetect-Bibliothek. - Folge: Die Bridge bietet unter Linux nur noch Geräte an, die ihr ffmpeg öffnen kann (
ffmpeg -devices,server/index.mjs). v4l2-Video geht über die Bridge; Ton kommt über Chromium (getUserMedia, PulseAudio/PipeWire, höchstens 2 Kanäle). Mehrkanal-ALSA über die Bridge braucht ein ffmpeg mit--enable-alsa(neuer Build, eigenes Issue) oder$FFMPEGauf ein System-ffmpeg.
Unter Wayland liefert Chromium Bildschirm und Fenster über xdg-desktop-portal/PipeWire; der Schalter --enable-features=WebRTCPipeWireCapturer wird gesetzt (auf aktuellen Chromium Standard, unter X11 wirkungslos). Unter Wayland zeigt das Portal einen eigenen Auswahldialog; die Vorschauliste der App kann dort weniger zeigen als unter X11. Ungeprüft auf echter Hardware.
WebBluetoothCG, implementation-status.md: Linux „partially implemented and not supported“, braucht Kernel 3.19+ und BlueZ 5.41+; in Chrome nur mit Flag. In Chromium ist das Blink-Feature WebBluetooth außerhalb von Android/ChromeOS/Mac/Windows „experimental“; die App schaltet unter Linux nur dieses Feature ein (--enable-blink-features=WebBluetooth). Die UI sagt unter Linux, dass es nur teilweise geht und ungeprüft ist.
colord über colormgr (Ausgabeformat aus client/cd-util.c: Label:-Zeilen, Profile n: mit Dateiname in der Folgezeile, Profil 1 = Standard; Beschriftungen übersetzt, daher LANG=C). Ablauf: find-profile-by-filename bzw. import-profile, device-add-profile, device-make-profile-default; Zurück: vorheriges Profil wieder Standard, sonst device-remove-profile. Wirkt nur, wo der Desktop colord-Profile anwendet (GNOME/mutter; X11-Desktops mit xiccd), nicht unter KDE Plasma 6. Ohne colormgr meldet die App „nicht verfügbar“. Ungeprüft (kein Linux-Rechner mit Monitor); Parser mit Unit-Test.
electron-updater nur im AppImage (APPIMAGE gesetzt): einmal nach dem Start prüfen, im Hintergrund laden, beim Beenden installieren, Systembenachrichtigung EN/DE. deb, macOS (ad-hoc signiert, Squirrel.Mac lehnt das ab) und Windows bleiben beim manuellen Download. Erst mit dem übernächsten Release (AppImage 1.6.0 → neuere Version) wirklich prüfbar.
- v4l2:
/dev/video*lesbar für die Gruppevideo; ALSA/dev/snd/*füraudio. Nutzer ggf.sudo usermod -aG video,audio $USER. - DeckLink: Helfer gegen
/Linux/includedes SDK (gleicher Fetch/Hash wie Mac/Win); Treiber Desktop Video vom Nutzer (bringt eigene udev-Regeln). Ohne Hardware ungeprüft. - NDI: Helfer lädt
libndi.so.6($NDI_RUNTIME_DIR_V6,/usr/lib,/usr/local/lib,/usr/lib/x86_64-linux-gnu). Ohne Runtime meldet--listden Fehler.