iGPU Intel HD Graphics 530¶
iGPU intégré au Intel Core i5-6400 (Skylake), utilisé pour transcoding matériel Jellyfin via VAAPI/Quick Sync.
État Actuel¶
Configuration :
- CPU : Intel i5-6400 (Skylake, 2015)
- Carte mère : Gigabyte GA-H170-HD3 (chipset H170)
- Driver : intel-media-driver (iHD 25.4.4+)
- API : VAAPI
- Device :
/dev/dri/renderD128
Utilisation :
- Transcoding matériel Jellyfin (LXC 100)
- Quick Sync Video 6.0
- Hardware encode/decode H.264, H.265 8-bit
Spécifications Techniques¶
Architecture¶
| Paramètre | Valeur |
|---|---|
| Génération | Skylake Gen9 |
| Unités d'exécution (EU) | 24 |
| Fréquence base | 350 MHz |
| Fréquence boost | 1050 MHz |
| DirectX | 12 |
| OpenGL | 4.5 |
| Vulkan | 1.3 |
| Quick Sync | Version 6.0 |
Quick Sync Video 6.0¶
Encodage hardware :
- ✅ H.264 (Baseline, Main, High) - Jusqu'à 4K60
- ✅ H.265/HEVC 8-bit - Jusqu'à 4K30
- ✅ VP8 - Jusqu'à 1080p60
- ✅ JPEG/Motion JPEG
- ❌ HEVC 10-bit (nécessite Kaby Lake Gen7+)
- ❌ AV1 (nécessite Intel Arc Alchemist+)
Décodage hardware :
- ✅ H.264 (tous profils) - Jusqu'à 4K60
- ✅ H.265/HEVC 8-bit - Jusqu'à 4K60
- ✅ H.265/HEVC 10-bit - Jusqu'à 4K30
- ✅ VP8, VP9 - Jusqu'à 4K60
- ✅ MPEG2, VC-1 (via VAAPI uniquement)
- ✅ JPEG/Motion JPEG
Limitations connues :
- VC-1 : Non supporté par driver intel-media-driver (iHD)
- Fallback software decode CPU
- Impact : 1 fichier (0,5% bibliothèque Jellyfin)
- HEVC 10-bit decode : OK jusqu'à 4K30
- 43 fichiers (22,5% bibliothèque) nécessitent software encode
Configuration VAAPI¶
Installation Drivers¶
# Sur hôte Proxmox ou dans LXC
apt update
apt install intel-media-va-driver intel-gpu-tools vainfo
# Vérifier driver
vainfo
# libva info: VA-API version 1.22.0
# libva info: Driver version: Intel iHD driver - 25.4.4
Passthrough vers LXC 100¶
Configuration Proxmox :
Fichier /etc/pve/lxc/100.conf :
# GPU Passthrough Intel HD 530
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
Vérification dans LXC :
# Device présent
ls -la /dev/dri/
# crw-rw---- 1 root video 226, 0 card0
# crw-rw---- 1 root render 226, 128 renderD128
# Permissions utilisateur Jellyfin
usermod -aG render,video jellyfin
groups jellyfin
# jellyfin : jellyfin render video
Configuration Jellyfin¶
Dashboard → Playback → Transcoding :
- Hardware acceleration : VAAPI
- VAAPI Device :
/dev/dri/renderD128 - Enable hardware decoding for : Tous les codecs supportés
- Enable hardware encoding : Activé
- Hardware encoding options :
- Enable Low Power Encoding : ✅ (réduit consommation)
- Enable Tonemapping : ❌ (pas de HDR)
Codecs activés :
- H.264 : Hardware encode/decode
- HEVC : Hardware encode/decode (8-bit seulement)
- VP8/VP9 : Hardware decode
- MPEG2 : Hardware decode
Codec désactivé :
- VC-1 : Software fallback (driver iHD ne supporte pas)
Performances¶
Benchmarks Transcoding¶
Test 1080p → 720p H.264 :
# Hardware VAAPI
ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 \
-i input.mkv -c:v h264_vaapi -b:v 4M output.mp4
# Vitesse: 6.8x temps réel
# CPU usage: 5-8%
# Software CPU
ffmpeg -i input.mkv -c:v libx264 -preset fast -b:v 4M output.mp4
# Vitesse: 0.6x temps réel
# CPU usage: 100%
Capacité multi-stream :
- 1 stream 1080p : 6-8x temps réel (CPU 5-8%)
- 2 streams 1080p : 4-5x temps réel (CPU 10-15%)
- 4 streams 1080p : 2-3x temps réel (CPU 15-25%)
Latence utilisateur :
- Démarrage stream : -60% vs software (2s vs 5s)
- Seeking/scrubbing : instantané
- Changement qualité : < 1s
Consommation Électrique¶
Mesures serveur complet :
- Idle : ~60-70W
- 1 stream transcoding : ~80-90W (+20W)
- 4 streams simultanés : ~120W (+50W)
Comparaison vs i7-2600 software :
- Idle : -20W (65W TDP vs 95W)
- Transcoding 1 stream : -60W (hardware vs software)
Monitoring GPU¶
# Charge iGPU
intel_gpu_top
# Render/3D: 60-80% pendant transcoding
# Video Engine: 70-90%
# Fréquence GPU
cat /sys/class/drm/card0/gt_cur_freq_mhz
# ~800-1050 MHz (boost actif)
Compatibilité Bibliothèque Jellyfin¶
Analyse 191 Fichiers Média¶
| Codec | Fichiers | % | Support Hardware |
|---|---|---|---|
| H.264 | 142 | 74.3% | ✅ Full (encode/decode) |
| HEVC 8-bit | 6 | 3.1% | ✅ Full (encode/decode) |
| HEVC 10-bit | 43 | 22.5% | ⚠️ Decode HW, encode SW |
| VC-1 | 1 | 0.5% | ⚠️ Software fallback |
Stratégie Optimisation¶
Acquisitions futures :
- Profils Recyclarr privilégiant H.264/HEVC 8-bit
- Éviter HEVC 10-bit sauf qualité critique
- Pas de transcoding systématique des 43 fichiers HEVC 10-bit existants
Impact performance HEVC 10-bit :
- Hardware decode : ✅ OK
- Software encode : Acceptable (CPU 30-40%)
- Résultat : 2-3x temps réel (vs 6-8x full hardware)
Dépannage¶
Vérifications¶
# 1. Device présent
ls -la /dev/dri/renderD128
# 2. Driver chargé
lsmod | grep i915
# 3. VAAPI fonctionnel
vainfo
# 4. Permissions utilisateur
ls -ln /dev/dri/renderD128
# Groupe 104 (render) ou 44 (video)
id jellyfin
# Doit inclure render et video
# 5. Test simple
ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 \
-i test.mp4 -f null -
Problèmes Courants¶
Erreur : "Cannot load libva.so.2"
Erreur : "Failed to initialize VAAPI"
Erreur : "No matching codec parameters found"
- Codec non supporté par Quick Sync
- Utiliser software fallback (automatique dans Jellyfin)
Ressources¶
Documentation¶
- CPU - Spécifications processeur
- Carte Mère - Configuration chipset
- GPU Overview - État global puces graphiques
- Jellyfin - Configuration transcoding
Liens Externes¶
- Intel Quick Sync Video - Documentation officielle
- Jellyfin Hardware Acceleration - Guide VAAPI
- intel-media-driver GitHub - Driver iHD open source