🛠 GPU Mali-450 (lima) et vidéo sur Le Potato : ce qui marche vraiment
Objectifs
Exploiter le GPU Mali-450 MP5 du S905X sous Linux mainline avec le pilote open source lima (OpenGL ES 2 via Mesa), et savoir ce que la carte peut réellement afficher en vidéo : HDMI 2.0 4K/60 pour l'interface, mais pas de décodage matériel garanti.
Matériel
- Le Potato AML-S905X-CC sous Armbian/Debian mainline (noyau avec lima, drivers/gpu/drm/lima)
- Écran HDMI (attention aux quirks EDID/overscan rapportés sur le hub officiel)
- Alternative multimédia : LibreELEC AMLGX ou CoreELEC, qui embarquent leurs propres piles vidéo
Code complet
# 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)
Vérification attendue
dmesg affiche l'initialisation du pilote lima et /dev/dri/renderD128 existe ; glmark2-es2 rend un score de quelques centaines de points. En lecture vidéo 1080p sous Armbian, la charge CPU reste élevée (htop) — signe du décodage logiciel.
Erreurs fréquentes
- Promettre du 4K60 décodé matériellement sous Armbian : non confirmé.
- Attendre OpenGL 3 ou ES 3 : le lima (architecture Utgard) fournit OpenGL ES 2 uniquement.
- Écran sans image après le login : quirk EDID/overscan HDMI connu — tester un autre écran ou ajuster via armbian-config.
- Surchauffe pendant les benchmarks : le SoC chauffe très fort sans dissipateur.
- HDMI CEC : la broche se sélectionne entre CEC et GPIO par un jumper.
Autres tutoriels pour cette carte
- 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
Exemples de code pour cette carte
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash