🛠 Micro-HDMI : exploiter les limites d'affichage de la BBB
Objectifs
Brancher un écran sur le connecteur micro-HDMI de la BeagleBone Black (framer de classe TDA19988 piloté en mainline par le driver DRM tda998x) en connaissant ses limites RÉELLES : mode maximal 1280×1024, 1920×1080 seulement en 24 Hz avec EDID, audio stéréo par le même câble. Et le piège de la broche P9_22, qui charrie l'horloge audio 24,576 MHz entrante dans le SoC.
Matériel
- 1 BeagleBone Black
- 1 câble micro-HDMI vers HDMI (le connecteur de la carte est fragile : tirer droit, pas de levier)
- 1 moniteur acceptant le 1080p24 ou le 1280×1024 (beaucoup de TV refusent le 24 Hz : prévoir un écran PC)
Code complet
# 1. Le connecteur est-il vu par DRM ?
ls /sys/class/drm/
cat /sys/class/drm/card0-HDMI-N-1/status # connected
# 2. Les modes publiés par l'EDID du moniteur (attendre 1280x1024 et 1080p24)
cat /sys/class/drm/card0-HDMI-N-1/modes | head
# 3. Console framebuffer + visionneuse d'image légère
sudo apt install fbv
sudo fbv /usr/share/backgrounds/*.png
# 4. Session graphique légère (512 MB de RAM : pas de GNOME !)
sudo apt install weston
weston-simple-egl
# 5. Audio HDMI : vérifier que la carte son du framer est là
aplay -l | grep -i hdmi
Vérification attendue
Le statut DRM passe à connected, la liste modes contient 1280x1024 et 1920x1080 à 24 Hz (pas de 60 Hz en 1080p : c'est matériel). fbv affiche l'image sur l'écran, weston-simple-egl fait tourner un triangle EGL.
Erreurs fréquentes
- Exiger du 1080p60 : la BBB ne sait pas le faire (limite du framer, documentée dans le SRM) ; les TV qui rejettent le 24 Hz donnent un écran noir — tester sur un écran PC.
- Réutiliser P9_22 en GPIO : c'est l'entrée d'horloge 24,576 MHz de l'audio HDMI dans le SoC ; le SRM est clair, la réutiliser en GPIO impose de couper l'horloge, donc de tuer l'audio HDMI.
- Câble micro-HDMI de mauvaise qualité ou forcé de travers : le connecteur est le point mécanique faible de la carte.
- Installer un bureau complet : avec 512 MB de RAM et un GPU SGX530 de 200 MHz, l'usage prévu est headless ou weston léger.
- Chercher le son sans EDID : l'audio HDMI dépend de la négociation avec le moniteur ; sans modes valides, pas de carte son.
Autres tutoriels pour cette carte
- Premier boot de la BeagleBone Black avec un seul câble mini-USB
- Comprendre les triggers en pilotant les 4 LED utilisateur
- Bouton et LED avec Adafruit_BBIO, la bibliothèque historique
- Lire l'ADC 12 bits sans griller le SoC : la règle des 1,8 V
- Ajouter une horloge temps réel sur le bus I2C des capes
- Capes historiques : capemanager, EEPROM d'identification et pièges des broches
Exemples de code pour cette carte
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash