Läuft die Voice Acoustic VA-Remotecontrol (AllDSP AllControl) nativ unter Linux auf echtem wxGTK 3.0 — ohne Wine und ohne dekompilierten App-Code. Ausgeführt wird das unveränderte Python-2.7-Bytecode aus dem macOS-.app; C-Extensions (wxGTK/numpy/ scipy/PortAudio) kommen nativ aus Debian stretch. Enthält: va/ (Original-.pyc + pure-Python-Libs + Assets + launch.py mit den drei Linux-Fixes), Dockerfile/run.sh/entrypoint.sh, reference/ (dekompilierter Quellcode zum Debuggen) und README/STATUS. img.cache (378 MB, regenerierbar) ist per .gitignore ausgeschlossen. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.1 KiB
2.1 KiB
Nativer Linux-Port aus macOS-Bytecode — Stand: ✅ LÄUFT
Verifiziert (headless auf echtem Xorg)
- Image baut sauber (Debian stretch via archive.debian.org + debian-security).
- App startet nativ aus Original-macOS-Bytecode, ohne Wine: wx 3.0.2 (gtk2 classic),
numpy 1.12.1, scipy 0.18.1 laden, one_unit/child_unit laufen als Original-
.pyc. - GUI rendert korrekt (Menü File/Tools/Help, Status-Icons, „All Units (0 units online)",
Voice-Acoustic-Logo) — siehe
screenshot-native.png. Kein schwarzer Wine-Screen. - Log ist sauber — keine Tracebacks (nur eine harmlose wxPyDeprecationWarning).
Getestet mit Xorg dummy-Treiber (liefert VidMode/RandR) im Container; Xvfb geht NICHT,
weil es die XFree86-VidMode-Extension nicht hat und wx 3.0 dann bei wxDisplay.GetCurrentMode()
crasht — reines Test-Artefakt, auf echtem Display irrelevant.
Drei Linux-Fixes in va/launch.py (non-invasiv, KEIN Bytecode-Patch)
platform.version()unter Linux beginnt mit#…→int('#')in einer Windows- Versionsprüfung (one_unit.start()) crasht und deaktiviert dabei RTA. Fix: Windows-artigen String liefern → Prüfung läuft durch, RTA bleibt aktiv.- wx-Assertions → SUPPRESS: diese wxGTK-Build wirft C++-Assertions als Python-Exceptions
(Default).
one_unit.app.SetAssertMode(wx.PYAPP_ASSERT_SUPPRESS)= Release-/Mac-Verhalten; sonst crashtflatmenu.DrawMenuBaran einer transienten negativen Bitmapgröße. my_MenuBar.left_down: wird nur im Nicht-Mac-Zweig von__init__gesetzt (Linux läuft als „mac",mac_names='posix'),OnPaintbraucht es aber → Klassen-Default= False.
Noch offen (braucht deine Maschine)
- Realer Lauf auf dem Desktop via
./run.sh(X11/XWayland) — sollte laut Headless-Test direkt gehen; GDK_BACKEND=x11 +--ipc=hostsind gesetzt. - Geräteanbindung ungetestet mangels Amp: Ethernet (Host-Netz) oder seriell/COM
(
SERIAL_DEV=/dev/ttyUSB0). Discovery/Protokoll laufen als Original-Bytecode. - RTA-Mikrofon: braucht Audio-Durchreichung (ALSA/Pulse) in den Container.