Vou corrigir erros do mediapipe GPU delegate no arm linux, docker ou headless


Sobre este Serviço
Tradução automática
O MediaPipe GPU delegate está falhando no seu dispositivo ARM, container Docker ou servidor headless?
Erros comuns que eu corrijo:
"Falha ao criar o contexto base ao abrir o driver do kernel"
"eglGetDisplay() retornou EGL_NO_DISPLAY"
"O módulo do kernel pode não ter sido carregado"
O delegate de GPU silenciosamente recua para CPU sem erro
MediaPipe funciona no desktop, mas trava no edge/embedded
Compilei o MediaPipe 0.10.35 a partir do código Bazel com o GPU delegate EGL/GBM no GPU Mali ARM rodando totalmente headless (sem X11, sem Wayland, sem Xvfb). Consegui uma velocidade 2,3x maior que a CPU.
O que a maioria dos vendedores não sabe:
O mediapipe GPU delegate usa EGL, NÃO CUDA mesmo no Jetson
EGL requer um servidor de display por padrão, mas eu modifiquei para usar GBM (Gerenciamento de Buffer Genérico) para um verdadeiro headless
Isso funciona em Mali (RK3576/RK3588), VideoCore (RPi 5) e GPUs Adreno
Demonstração ao vivo (gravação de terminal): https://asciinema.org/a/Mv4LEGvaroBSs6oJ
Eu faço:
Compilação ARM aarch64 a partir do código (Bazel + CMake)
Pass-through de GPU no Docker para MediaPipe
Patch de EGL/GBM headless
Benchmark de desempenho (CPU vs GPU)
Plataforma: Python 3.10-3.12, Linux ARM64, compatível com Docker
Conheça mais sobre Richter
- A partir deChina
- Membro desdeout. de 2024
- Última entrega1 ano
Idiomas
Chinês, Alemão, Inglês
Tradução automática
Meu portfólio
Perguntas frequentes
Tradução automática
Isso funciona sem monitor conectado?
Sim! Essa é a ideia. Eu modifiquei o MediaPipe para usar a plataforma EGL GBM em vez do X11. Seu dispositivo pode rodar inferência de GPU em um rack de servidor, container Docker ou caixa embutida sem display conectado.
Que hardware você suporta?
Testado no RK3576 (Mali-G52 MC3). Também compatível com RK3588 (Mali-G610), Raspberry Pi 5 (VideoCore VII) e outros SBCs ARM com suporte a EGL 1.5. Se sua GPU suporta OpenGL ES 3.1+, deve funcionar.
Você também suporta NVIDIA Jetson?
Jetson usa GPU NVIDIA com EGL — a abordagem headless é similar, mas ainda não testada na minha configuração. Posso ajudar na depuração EGL do Jetson, mas a compilação headless foi verificada apenas em Mali até agora.
Isso também vai corrigir meu TFLite GPU delegate?
Parcialmente. MediaPipe e TFLite compartilham a mesma infraestrutura EGL/GLES. A abordagem headless GBM se aplica a ambos. Posso orientar sobre passos específicos do TFLite.
Você pode trabalhar com minha base de código existente?
Sim. Compartilhe seu código via GitHub/GitLab ou arquivo zip. Eu vou diagnosticar a falha do GPU delegate, aplicar a correção e verificar se está funcionando.
