🛠 Accélération GPU et streaming vidéo (Intel UHD, VAAPI)
Objectifs
Le Celeron N5105 (Jasper Lake) intègre un GPU Intel UHD (450–800 MHz) avec décodage/encodage matériel. Sous Linux, l'API VAAPI expose cette accélération : transcoder une vidéo avec le GPU au lieu des 4 threads CPU, brancher un écran 4K en HDMI 2.0b, ou diffuser un flux vers d'autres appareils. Ce tutoriel vérifie la pile graphique, transcode avec ffmpeg accéléré, et mesure le gain CPU. Contexte utile : à la sortie du produit, CNX Software notait une lecture 4K YouTube imparfaite sur les premiers systèmes Jasper Lake — un problème de maturité logicielle de plateforme, pas un défaut de la carte ; depuis, la pile VAAPI est mature sur noyaux récents.
Matériel
- LattePanda 3 Delta sous Ubuntu 22.04 à jour (noyau récent = meilleurs pilotes Jasper Lake)
- Écran HDMI (la carte sort jusqu'en 4K via HDMI 2.0b, et même triple affichage HDMI + DisplayPort par USB-C + eDP)
- Un fichier vidéo de test (par exemple une capture 1080p)
Code complet
# 1. Installer la pile de décodage matériel
sudo apt update
sudo apt install -y vainfo intel-gpu-tools ffmpeg mesa-va-drivers
# 2. Vérifier les codecs accélérés disponibles (attendu : H.264, VP8, VP9, JPEG...)
vainfo
# 3. Transcoder UNE vidéo en utilisant le GPU (comparez 'top' pendant le run)
ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi \
-vaapi_device /dev/dri/renderD128 \
-i entrée.mp4 \
-vf 'format=nv12|vaapi,hwupload,scale_vaapi=w=1280:h=720' \
-c:v h264_vaapi -b:v 2M sortie_720p.mp4
# 4. Diffuser en direct sur le réseau (HLS), lu par n'importe quel navigateur
mkdir -p /tmp/hls
ffmpeg -re -i entrée.mp4 \
-c:v h264_vaapi -b:v 2M -g 50 \
-f hls -hls_time 4 -hls_list_size 6 -hls_flags delete_segments \
/tmp/hls/direct.m3u8 &
cd /tmp/hls && python3 -m http.server 8000
# Sur un autre poste : http://IP-de-la-carte:8000/direct.m3u8
# 5. Contrôler l'occupation GPU/CPU pendant la diffusion
sudo apt install -y intel-gpu-tools
grep -r . /sys/class/drm/card0/gt_act_freq_mhz 2>/dev/null || true
top -o %CPU
Vérification attendue
vainfo liste des entrées VA-API (VAProfileH264…) sans erreur ; pendant le transcodage, top montre ffmpeg bien en dessous de 100 % de CPU total (le GPU fait le travail) alors qu'un transcodage logiciel (-c:v libx264) sature les 4 threads. Le flux HLS se lit dans un navigateur depuis un autre appareil. La sortie HDMI affiche l'interface sans à-coups.
Erreurs fréquentes
/dev/dri/renderD128absent : pilote graphique/mesa manquants ou session distante sans DRI ;sudo apt install mesa-va-driverset vérifierls /dev/dri/.vainfo: cannot open display: lancer depuis une session graphique ou avecLIBVA_DRIVER_NAME=i965 vainfoen SSH.- Confusion NPU/GPU : la 3 Delta n'a pas de NPU (aucune accélération IA dédiée) ; l'accélération ici est multimédia (VAAPI), pas de l'inférence.
- 4K exigeant : viser le 1080p pour l'encodage temps réel ; le 4K60 en logiciel dépasse le budget de 10 W — c'est le point relevé par la presse au lancement de la plateforme.
- Chauffeur de siège : le ventilateur ne tourne qu'au seuil BIOS ; une charge GPU soutenue le déclenchera, ce n'est pas une panne.
- Triple écran : si un écran USB-C ne s'allume pas, rappeler que la sortie DisplayPort passe par l'Alt Mode du port USB-C (qui sert aussi à l'alimentation PD).
Autres tutoriels pour cette carte
Exemples de code pour cette carte
clignotante.pyPythonbouton.pyPythonservo.pyPythonanalogique.pyPythonrespiration.pyPythonneopixel.pyPython