Ceci est une ancienne révision du document !
VFIO PASSTHROUGHT
I) Informations:
Il existe des pré-requis , du matériel plus ou moins facile à réaliser. En cas de soucis crée un topic
II) Pré-Requis:
- La Prise en compte du IOMMU par linux.
- Un processeur ayant la prise en charge la virtualisation.
- Deux Carte-graphique ou 1 Apu + Carte-graphique à côté)
- 2 Entrée vidéo sur l'écran (1 pour le linux (host) et 1 pour la Machine virtuel (Guest)
- Connaitre son matériel . (Référence des 2 GPU serai bien par exemple)
Voilà pour les Pré-requis
III) Obtentions des Informations Matériels
- L'adresse de l'emplacement du matériel sur la carte-mère.
- L'adresse VendorID:DeviceID ou plus souvent appeler vendeur:périphérique . Celle-ci es composé en deux partie séparé par un :
Etape 1: Vérification de la prise en charge de IOMMU / Virtualisation processeur
Fix AMD: OUI trouvé par moi
Fix Intel: Non Trouvé car j'ai que des processeur AMD (dexter74)
Prise en Charge de IOMMU
AMD-Vi: Found IOMMU at 0000:00:00.2 cap 0x40 ⇐ IOMMU Trouvé
AMD-Vi: Interrupt remapping enabled ⇐ L'Interruption de l'attribution du matériel es Activer (Enable)
L'interruption de l'assignement du matériel es activé (Enable) , sans ce paramètre on pourra pas faire le VFIO.
Prise en Charge de la Virtualisation
Virtualisation : AMD-V
Tous les Pré-Requis son bon.
Etape 2: Obtentions des informations
Port PCI Express 1: Carte-graphique réserver au système d'exploitation Linux. (HOST)
Port PCI Express 2: Carte-graphique pour le système d'exploitation invité . (GUEST / Windows) \\
lspci -v | grep "VGA\|Audio\|Kernel driver in use: snd_hda_intel\|Kernel driver in use: nouveau\|Kernel driver in use: nouveaufb\|Kernel driver in use: radeon"
Slots | Type | Désignation | VendorID:DeviceID | Kernel Driver | Notes |
---|---|---|---|---|---|
00:14.2 | Audio device | AMD/ATI Intel HDA | 1002:4383 | snd_hda_intel | Carte-mère |
01:00.0 | VGA (GPU) | GTX-260 | 10de:05e2 | nouveau | Linux (HOTE) |
02:00.0 | VGA (GPU | R9-270x (Video) | 1002:6810 | radeon | VFIO (GUEST) |
02:00.1 | Audio device | R9-270x (HDMI) | 1002:aab0 | snd_hda_intel | VFIO (GUEST) |
Ma Carte-graphique es branché en HDMI et donc le signale Vidéo/ Son on été séparer
On pourra pas interdire le pilote " snd_hda_intel" car il es présent sur la carte-son lié à la fois à la carte-mère et à la sortie son inclus dans le HDMI. (Sortie HDMI)
Etape 3: Activation des Modules
Connaitre la marque de son processeur:
lscpu | grep name
Editer /etc/modules (Supprimer le module kvm_XXX qui correspond pas à votre processeur.)
pci_stub vfio vfio_iommu_type1 vfio_pci kvm kvm_amd kvm_intel
Redémarrage du pc
Vérification:
lspci -v | grep "VGA\|Audio\|Kernel driver in use: snd_hda_intel\|Kernel driver in use: nouveau\|Kernel driver in use: nouveaufb\|Kernel driver in use: radeon"
Slots | Type | Désignation | VendorID:DeviceID | Kernel Driver | Notes |
---|---|---|---|---|---|
00:14.2 | Audio device | AMD/ATI Intel HDA | 1002:4383 | snd_hda_intel | Carte-mère |
01:00.0 | VGA (GPU) | GTX-260 | 10de:05e2 | nouveau | Linux (HOTE) |
02:00.0 | VGA (GPU | R9-270x (Video) | 1002:6810 | vfio-pci | VFIO (GUEST) |
02:00.1 | Audio device | R9-270x (HDMI) | 1002:aab0 | vfio-pci | VFIO (GUEST) |
On peux voir que le "Kernel Driver" est "vfio-pci" .
/!\ Ignorer le "Kernel Modules /!\
VFIO
Slots | Type | Désignation | VendorID:DeviceID | Kernel Driver | Remarques |
---|---|---|---|---|---|
00:14.2 | Audio device | AMD/ATI Intel HDA | 1002:4383 | snd_hda_intel | Carte-mère |
01:00.0 | VGA (GPU) | GTX-260 | 10de:05e2 | nouveau | Linux (HOTE) |
02:00.0 | VGA (GPU | R9-270x (Video) | 1002:6810 | vfio-pci | VFIO (GUEST) |
02:00.1 | Audio device | R9-270x (HDMI) | 1002:aab0 | vfio-pci | VFIO (GUEST) |
ON NE PEUX ET DOIT VFIO QUE LE MATERIEL DONT LES PILOTES SONT VFIO-PCI (02:00.0 et 02:00.1)
CAS Special: Si on Unbind le matériel à chaud si le pilote l'accepte bien-sûre !
#Exemple: DEVICES="0000:02:00.0 0000:02:00.1" \\ #Attention au Guillemet (Début et fin de toutes les adresse) \\ #Chaque début d'adresse commence par __**0000:**__ (Attention au : après les 0000) \\ #Un espace entre chaque adresse (sauf la première collé à la guillemet) \\
#Exemple: vfio-pci ids=1002:6810,1002:aab0 \\ #vfio-pci ids=<ADRESSE VendorID:DeviceID><Virgule><ADRESSE VendorID:DeviceID> \\ #Aucune Guillemet \\ #Exemple: options</note>
- vfio.1462321549.txt.gz
- Dernière modification: Le 04/05/2016, 02:25
- par dexter74