⚠️ Compétence avancée : Le GPU Passthrough VFIO est l'une des réalisations
les plus complexes et les plus recherchées du portfolio. Il permet d'assigner physiquement
la RTX 5090 à une VM avec performances natives.
🔧 Stack technique
| Technologie | Rôle |
|---|---|
| VFIO | Framework Linux d'isolation PCIe |
| IOMMU / AMD-Vi | Unité de gestion mémoire pour I/O |
| PCI Passthrough | Assignation directe GPU → VM |
| Q35 | Chipset QEMU requis pour PCIe moderne |
| OVMF | UEFI obligatoire pour NVIDIA en passthrough |
📁 Fichiers système modifiés
| Fichier | Modification |
|---|---|
| /etc/default/grub | amd_iommu=on iommu=pt |
| /etc/modprobe.d/vfio.conf | bind VFIO sur IDs GPU |
| /etc/modules | vfio vfio_iommu_type1 vfio_pci |
| /etc/initramfs-tools/ | Intégration modules au boot |
| /etc/pve/qemu-server/*.conf | Config VM Proxmox |
🐛 Dépannage réalisé
| Problème | Solution |
|---|---|
| GPU dans mauvais groupe IOMMU | Reconfiguration slots PCIe |
| NVIDIA refuse de démarrer en VM | Patch OVMF + masquage hyperviseur |
| Audio NVIDIA absent | Passthrough device audio PCIe |
| Écran noir post-passthrough | Switch VNC → OVMF GOP |
| vfio-pci: Cannot reset | Activation 1:1 IOMMU mapping |
| Régions direct (direct-mapped) | Paramètre IOMMU kernel |
🔍 Vérifications
bash
# IOMMU actif ? dmesg | grep -e DMAR -e IOMMU # Groupes IOMMU for d in /sys/kernel/iommu_groups/*/devices/*; do echo "Group $(basename $(dirname $d)): $(lspci -nns $(basename $d))" done # VFIO a bien capturé le GPU ? lspci -nnk | grep -A3 'NVIDIA'