Je vais corriger les erreurs du délégué GPU MediaPipe sur arm linux, docker ou sans affichage


À propos de ce service
Traduction automatique
Le délégué GPU MediaPipe échoue-t-il sur votre appareil ARM, dans un conteneur Docker ou sur un serveur sans affichage ?
Erreurs courantes que je corrige :
"Échec de la création du contexte de base lors de l'ouverture du pilote du noyau"
"eglGetDisplay() a renvoyé EGL_NO_DISPLAY"
"Le module du noyau n'a peut-être pas été chargé"
Le délégué GPU revient silencieusement au CPU sans erreur
MediaPipe fonctionne sur bureau mais plante sur edge/embarquée
J'ai compilé MediaPipe 0.10.35 à partir du code Bazel avec un délégué GPU EGL/GBM sur GPU Mali ARM fonctionnant en mode headless complet (sans X11, sans Wayland, sans Xvfb). J'ai obtenu un gain de vitesse de 2,3 fois par rapport au CPU.
Ce que la plupart des vendeurs ignorent :
Le délégué GPU MediaPipe utilise EGL, PAS CUDA même sur Jetson
EGL nécessite par défaut un serveur d'affichage, mais je l'ai modifié pour utiliser GBM (gestionnaire de tampons génériques) pour un mode headless véritable
Cela fonctionne sur Mali (RK3576/RK3588), VideoCore (RPi 5) et GPU Adreno
Démonstration en direct (enregistrement terminal) : https://asciinema.org/a/Mv4LEGvaroBSs6oJ
Je gère :
Compilation ARM aarch64 à partir du code source (Bazel + CMake)
Passage du GPU via Docker pour MediaPipe
Patch EGL/GBM sans affichage
Benchmarking des performances (CPU vs GPU)
Plateforme : Python 3.10-3.12, Linux ARM64, compatible Docker
Découvrez Richter
- DeChine
- Membre depuisoct. 2024
- Dernière commande1 an
Langues
Chinois, Allemand, Anglais
Traduction automatique
Mon portfolio
FAQ
Traduction automatique
Cela fonctionne-t-il sans moniteur connecté ?
Oui ! C'est tout l'intérêt. J'ai modifié MediaPipe pour utiliser la plateforme EGL GBM au lieu de X11. Votre appareil peut exécuter l'inférence GPU dans un serveur, un conteneur Docker ou une box embarquée sans écran connecté.
Quel matériel supportez-vous ?
Testé sur RK3576 (Mali-G52 MC3). Compatible aussi avec RK3588 (Mali-G610), Raspberry Pi 5 (VideoCore VII) et autres SBC ARM avec support EGL 1.5. Si votre GPU supporte OpenGL ES 3.1+, cela devrait fonctionner.
Supportez-vous aussi NVIDIA Jetson ?
Jetson utilise un GPU NVIDIA avec EGL — l'approche headless est similaire mais pas encore testée dans ma configuration. Je peux aider pour le débogage EGL sur Jetson, mais la compilation headless a été vérifiée uniquement sur Mali jusqu'à présent.
Cela corrigera-t-il aussi mon délégué GPU TFLite ?
Partiellement. MediaPipe et TFLite partagent la même infrastructure EGL/GLES sous-jacente. L'approche headless GBM s'applique aux deux. Je peux vous conseiller sur les étapes spécifiques à TFLite.
Pouvez-vous travailler avec ma base de code existante ?
Oui. Partagez votre code via GitHub/GitLab ou en fichier zip. Je diagnostiquerai l'échec du délégué GPU, appliquerai la correction et vérifierai son bon fonctionnement.
