Ich werde mediapipe GPU delegate Fehler auf arm linux, docker oder headless beheben


Über diesen Service
Automatische Übersetzung
Fällt der MediaPipe GPU delegate auf deinem ARM-Gerät, Docker-Container oder headless Server aus?
Häufige Fehler, die ich behebe:
"Fehler beim Erstellen des Basis-Kontexts beim Öffnen des Kernel-Treibers"
"eglGetDisplay() gab EGL_NO_DISPLAY zurück"
"Kernel-Modul wurde möglicherweise nicht geladen"
Der GPU delegate fällt stillschweigend auf CPU zurück, ohne Fehler
MediaPipe funktioniert auf dem Desktop, stürzt aber auf Edge/Embedded ab
Ich habe MediaPipe 0.10.35 aus Bazel-Quellen mit EGL/GBM GPU delegate auf ARM Mali GPU vollständig headless (kein X11, kein Wayland, kein Xvfb) kompiliert. Damit erzielte ich eine 2,3-fache Geschwindigkeitssteigerung gegenüber CPU.
Was die meisten Verkäufer nicht wissen:
MediaPipe GPU delegate nutzt EGL, NICHT CUDA, sogar auf Jetson
EGL benötigt standardmäßig einen Display-Server, ich habe es so angepasst, dass es GBM (Generic Buffer Management) für echtes Headless nutzt
Das funktioniert auf Mali (RK3576/RK3588), VideoCore (RPi 5) und Adreno GPUs
Live-Demo (Terminal-Aufzeichnung): https://asciinema.org/a/Mv4LEGvaroBSs6oJ
Ich kümmere mich um:
ARM aarch64 Kompilierung aus Quellcode (Bazel + CMake)
Docker GPU Pass-Through für MediaPipe
Headless EGL/GBM Patch
Performance-Benchmarking (CPU vs GPU)
Plattform: Python 3.10-3.12, Linux ARM64, Docker-kompatibel
Lerne Richter kennen
- AusChina
- Mitglied seitOkt. 2024
- Letzte Lieferung1 Jahr
Sprachen
Deutsch, Chinesisch, Englisch
Automatische Übersetzung
Mein Portfolio
FAQ
Automatische Übersetzung
Funktioniert das auch ohne angeschlossenen Monitor?
Ja! Genau darum geht es. Ich habe MediaPipe so angepasst, dass es EGL GBM anstelle von X11 nutzt. Dein Gerät kann GPU-Inferenz in einem Serverrack, Docker-Container oder eingebetteter Box ohne angeschlossenen Bildschirm ausführen.
Welche Hardware unterstützen Sie?
Getestet auf RK3576 (Mali-G52 MC3). Auch kompatibel mit RK3588 (Mali-G610), Raspberry Pi 5 (VideoCore VII) und anderen ARM SBCs mit EGL 1.5 Unterstützung. Wenn deine GPU OpenGL ES 3.1+ unterstützt, sollte es funktionieren.
Unterstützt du auch NVIDIA Jetson?
Jetson nutzt NVIDIA GPU mit EGL — der headless Ansatz ist ähnlich, wurde aber in meinem Setup noch nicht getestet. Ich kann bei EGL-Debugging für Jetson helfen, aber headless Kompilierung wurde bisher nur auf Mali verifiziert.
Wird das auch meinen TFLite GPU delegate beheben?
Teilweise. MediaPipe und TFLite teilen die gleiche zugrunde liegende EGL/GLES Infrastruktur. Der GBM headless Ansatz gilt für beide. Ich kann bei TFLite-spezifischen Schritten beraten.
Können Sie mit meiner vorhandenen Codebasis arbeiten?
Ja. Teile deinen Code via GitHub/GitLab oder ZIP-Datei. Ich diagnostiziere den GPU delegate Fehler, wende den Fix an und überprüfe, ob es läuft.
