arreglaré errores del delegado GPU de mediapipe en arm linux, docker o sin cabeza


Acerca de este Servicio
Traducción automática
¿El delegado GPU de MediaPipe falla en tu dispositivo ARM, contenedor Docker o servidor sin cabeza?
Errores comunes que soluciono:
"Error al crear el contexto base al abrir el controlador del kernel"
"eglGetDisplay() devolvió EGL_NO_DISPLAY"
"El módulo del kernel puede no haberse cargado"
El delegado GPU se vuelve a la CPU silenciosamente sin error
MediaPipe funciona en escritorio pero se cierra en edge/embedded
Compilé MediaPipe 0.10.35 desde el código fuente con EGL/GBM GPU delegate en GPU Mali ARM funcionando completamente sin cabeza (sin X11, sin Wayland, sin Xvfb). Logré una aceleración de 2.3 veces respecto a la CPU.
Lo que la mayoría de los vendedores no saben:
El delegado GPU de MediaPipe usa EGL, NO CUDA incluso en Jetson
EGL requiere un servidor de pantalla por defecto, pero lo modifiqué para usar GBM (Gestión de búfer genérico) para un funcionamiento verdaderamente sin cabeza
Esto funciona en Mali (RK3576/RK3588), VideoCore (RPi 5) y GPUs Adreno
Demostración en vivo (grabación de terminal): https://asciinema.org/a/Mv4LEGvaroBSs6oJ
Me encargo de:
Compilación ARM aarch64 desde fuente (Bazel + CMake)
Passthrough de GPU en Docker para MediaPipe
Parches EGL/GBM sin cabeza
Benchmarking de rendimiento (CPU vs GPU)
Plataforma: Python 3.10-3.12, Linux ARM64, compatible con Docker
Conoce a Richter
- DeChina
- Miembro desdeoct 2024
- Última entrega1 año
Idiomas
Chino, Alemán, Inglés
Traducción automática
Mi porfolio
FAQ
Traducción automática
¿Esto funciona sin un monitor conectado?
¡Sí! Ese es el objetivo principal. Modifiqué MediaPipe para usar la plataforma EGL GBM en lugar de X11. Tu dispositivo puede ejecutar inferencias en GPU en un rack de servidores, contenedor Docker o caja embebida sin pantalla conectada.
¿Qué hardware soportas?
Probado en RK3576 (Mali-G52 MC3). También compatible con RK3588 (Mali-G610), Raspberry Pi 5 (VideoCore VII) y otras SBC ARM con soporte EGL 1.5. Si tu GPU soporta OpenGL ES 3.1+, debería funcionar.
¿También soportas NVIDIA Jetson?
Jetson usa GPU NVIDIA con EGL — el enfoque sin cabeza es similar pero aún no probado en mi configuración. Puedo ayudar con la depuración EGL en Jetson, pero la compilación sin cabeza solo ha sido verificada en Mali hasta ahora.
¿Esto también arreglará mi delegado GPU de TFLite?
En parte. MediaPipe y TFLite comparten la misma infraestructura EGL/GLES subyacente. El enfoque sin cabeza GBM se aplica a ambos. Puedo asesorar sobre pasos específicos de TFLite.
¿Puedes trabajar con mi código base existente?
Sí. Comparte tu código vía GitHub/GitLab o archivo zip. Diagnosticaré la falla del delegado GPU, aplicaré la reparación y verificaré que funcione.
