🛠 GPU Mali-450 (lima) et vidéo sur Le Potato : ce qui marche vraiment
Objetivos
Aprovechar la GPU Mali-450 MP5 del S905X bajo Linux mainline con el controlador de código abierto lima (OpenGL ES 2 a través de Mesa), y saber qué puede mostrar realmente la tarjeta en vídeo: HDMI 2.0 4K/60 para la interfaz, pero sin decodificación por hardware garantizada.
Hardware
- Le Potato AML-S905X-CC bajo Armbian/Debian mainline (kernel con lima, drivers/gpu/drm/lima)
- Pantalla HDMI (atención a los quirks de EDID/overscan reportados en el hub oficial)
- Alternativa multimedia: LibreELEC AMLGX o CoreELEC, que incluyen sus propias pilas de vídeo
Código completo
# 1) Verifier la presence du GPU mainline
ls /dev/dri/ 2>/dev/null
sudo dmesg | grep -i lima # « lima 1000000.gpu » attendu
# 2) Installer la pile Mesa/lima et tester
sudo apt install mesa-utils-extra libegl1 libgles2
glmark2-es2 # benchmark OpenGL ES 2
# 3) Lecture video : planifier un decodage LOGICIEL sous mainline
ffmpeg -hide_banner -hwaccels # pas d'acceleration V4L2 Meson attendue
mpv --vo=gpu --gpu-context=drm --hwdec=no video.mp4
# 4) Pour du 4K fluide : passer par LibreELEC AMLGX ou CoreELEC
# (leurs builds utilisent la pile video propre au projet)
Verificación esperada
dmesg muestra la inicialización del controlador lima y /dev/dri/renderD128 existe; glmark2-es2 obtiene una puntuación de varios cientos de puntos. En la reproducción de vídeo 1080p bajo Armbian, la carga de la CPU permanece elevada (htop) — señal de decodificación por software.
Errores frecuentes
- Prometer decodificación por hardware 4K60 bajo Armbian: no confirmado.
- Esperar OpenGL 3 o ES 3: lima (arquitectura Utgard) ofrece únicamente OpenGL ES 2.
- Pantalla sin imagen tras el inicio de sesión: quirk conocido de EDID/overscan HDMI — probar otra pantalla o ajustar mediante armbian-config.
- Sobrecalentamiento durante los benchmarks: el SoC se calienta mucho sin disipador.
- HDMI CEC: el pin se selecciona entre CEC y GPIO mediante un jumper.
Otros tutoriales para esta placa
- Faire clignoter une LED en C avec libgpiod sur Le Potato
- Lire un bouton poussoir avec libgpiod (pull-up interne)
- GPIO en Python avec python3-libgpiod sur Le Potato
- Fondu LED progressif avec PWM sous sysfs (meson)
- Capteur BME280 (I2C) sur Le Potato : overlay et lecture
- Console série (ttyAML0) et SSH sur Le Potato
Ejemplos de código para esta placa
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash