Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| vfio [Le 17/09/2016, 02:42] – [Étape 2: Obtentions des informations] 90.112.251.197 | vfio [Le 28/12/2020, 20:57] (Version actuelle) – dexter74 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | {{tag> Virtualisation qemu dexter74 vfio}} | ||
| + | ---- | ||
| + | ====== -=[ VFIO PASSTHROUGHT ]=- ====== | ||
| + | Le VFIO ((Virtual Function I/O)) PASSTHROUGH | ||
| + | Cette technique demande des pré-requis, | ||
| + | \\ | ||
| + | L' | ||
| + | |||
| + | FIXME: | ||
| + | < | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== Pré-Requis ===== | ||
| + | |||
| + | * Avoir activé la Fonction **IOMMU** du Bios. (Activer le 64 bits si vous avez dans le bios) | ||
| + | * Avoir activé la Prise en compte du IOMMU par linux. | ||
| + | * Le processeur doit prendre en charge la virtualisation. | ||
| + | * Avoir deux Carte-graphiques ou 1 [[Wpfr> | ||
| + | * Avoir 2 Entrées vidéo sur l' | ||
| + | * Connaitre son matériel . (Référence des 2 GPU serait bien par exemple) | ||
| + | |||
| + | ===== Obtentions des Informations Matériels | ||
| + | |||
| + | Il existe 2 Types d' | ||
| + | * L' | ||
| + | * L' | ||
| + | |||
| + | ==== Étape 1: Vérification de la prise en charge de IOMMU / Virtualisation processeur | ||
| + | |||
| + | <note important> | ||
| + | Cette page ne propose pour le moment que celui pour les processeurs **AMD**. \\ | ||
| + | En effet, au moment de l' | ||
| + | |||
| + | === Prise en Charge de IOMMU=== | ||
| + | Saisissez dans un [[: | ||
| + | <code bash> | ||
| + | |||
| + | Vous devriez obtenir | ||
| + | < | ||
| + | Qui indique que le module IOMMU a bien été trouvé | ||
| + | |||
| + | < | ||
| + | L' | ||
| + | |||
| + | === Prise en Charge de la Virtualisation === | ||
| + | Saisissez dans un [[: | ||
| + | <code bash> | ||
| + | |||
| + | Devrait répondre | ||
| + | < | ||
| + | |||
| + | Tous les Pré-Requis sont donc bons. | ||
| + | |||
| + | ==== Étape 2: Obtentions des informations | ||
| + | |||
| + | <note important> | ||
| + | * **Port PCI Express 1:** Carte graphique réservée au système d' | ||
| + | * **Port PCI Express 2:** Carte graphique pour le système d' | ||
| + | </ | ||
| + | |||
| + | Lister tout, en saisissant dans un [[: | ||
| + | |||
| + | <code bash> | ||
| + | |||
| + | Nvidia inclus: FIXME: Autant ne proposer que cette ligne, non? | ||
| + | <code bash> | ||
| + | |||
| + | :!: La Sortie HDMI à une seconde adresse VendorID: | ||
| + | |||
| + | ^ | ||
| + | | 00:14.2 | Audio device | AMD/ATI Intel HDA | 1002: | ||
| + | | 01:00.0 | VGA (GPU) | GTX-260 | ||
| + | | 02:00.0 | VGA (GPU | R9-270x (Video) | ||
| + | | 02:00.1 | Audio HDMI1 | R9-270x (HDMI) | ||
| + | | 02:00.1 | Audio HDMI2 | R9-270x (HDMI) | ||
| + | |||
| + | Ici la carte graphique est branchée en HDMI et donc les signaux Vidéo / Son ont été séparés.\\ | ||
| + | On ne pourra pas interdire le pilote ** " snd_hda_intel" | ||
| + | |||
| + | ==== Étape 3: Activation des Modules | ||
| + | |||
| + | - Connaitre la marque de son processeur: < | ||
| + | lscpu | grep name</ | ||
| + | - [[: | ||
| + | vfio | ||
| + | vfio_iommu_type1 | ||
| + | vfio_pci | ||
| + | kvm | ||
| + | kvm_amd | ||
| + | kvm_intel | ||
| + | </ | ||
| + | - Mettre à jour le chargement des modules: < | ||
| + | |||
| + | ==== Étape 4: Redémarrage et vérification ==== | ||
| + | |||
| + | Après avoir redémarré votre machine, vérifiez la bonne mise en place du vfio en saisissant dans un [[: | ||
| + | <code bash> | ||
| + | lspci -v | grep " | ||
| + | </ | ||
| + | Vous devriez obtenir un tableau proche de: | ||
| + | |||
| + | ^ | ||
| + | | 00:14.2 | Audio device | AMD/ATI Intel HDA | 1002: | ||
| + | | 01:00.0 | VGA (GPU) | GTX-260 | ||
| + | | 02:00.0 | VGA (GPU | R9-270x (Video) | ||
| + | | 02:00.1 | Audio HDMI1 | R9-270x (HDMI) | ||
| + | | 02:00.1 | Audio HDMI2 | R9-270x (HDMI) | ||
| + | |||
| + | Ici on peut voir que le " | ||
| + | |||
| + | :!: Ignorer le " | ||
| + | |||
| + | ===== VFIO ===== | ||
| + | |||
| + | ^ | ||
| + | | 00:14.2 | Audio device | AMD/ATI Intel HDA | 1002: | ||
| + | | 01:00.0 | VGA (GPU) | GTX-260 | ||
| + | | 02:00.0 | VGA (GPU | R9-270x (Video) | ||
| + | | 02:00.1 | Audio HDMI1 | R9-270x (HDMI) | ||
| + | | 02:00.1 | Audio HDMI2 | R9-270x (HDMI) | ||
| + | |||
| + | FIXME Mise en forme | ||
| + | <note help>#################### | ||
| + | | ||
| + | < | ||
| + | #vfio-pci ids=< | ||
| + | #Aucune Guillemet | ||
| + | #Exemple: 1002:6810 (R9-270x - GPU ) , 1002:aab0 (R9-270x - HDMI1) , 1043:aab0 (R9-270x - HDMI2) | ||
| + | options vfio-pci ids=1002: | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <note help>#################### | ||
| + | Exemple | ||
| + | < | ||
| + | #Attention au Guillemet (Début et fin de toutes les adresse) | ||
| + | #Chaque début d' | ||
| + | #Un espace entre chaque adresse (sauf la première collé à la guillemet) | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ===== FIX IOMMU ===== | ||
| + | |||
| + | ==== AMD ==== | ||
| + | <code bash >dmesg | grep AMD-Vi</ | ||
| + | < | ||
| + | [0.251399] [Firmware Bug]: AMD-Vi: IOAPIC[9] not in IVRS table <= SouthBridge Inconnus (Erreur 9) \\ | ||
| + | [0.251403] [Firmware Bug]: AMD-Vi: IOAPIC[10] not in IVRS table <= Northbridge Inconnus (Erreur 10) \\ | ||
| + | </ | ||
| + | L' | ||
| + | |||
| + | <code bash> | ||
| + | |||
| + | ^ Slot ^ Type ^ Désignation | ||
| + | |00:00.2 | IOMMU | Advanced Micro Devices, Inc. [AMD/ATI] RD990 I/O Memory Management Unit | 10 | ivrs_ioapic | ||
| + | |00:14.0 | SMBus | Advanced Micro Devices, Inc. [AMD/ATI] SBx00 SMBus Controller (rev 42) | 9 | ivrs_ioapic | ||
| + | |||
| + | < | ||
| + | |||
| + | **Éditer / | ||
| + | < | ||
| + | par | ||
| + | < | ||
| + | en adaptant selon le résultat obtenu précédemment | ||
| + | |||
| + | Ensuite faire un : | ||
| + | < | ||
| + | Redémarrer | ||
| + | |||
| + | ==== Intel ==== | ||
| + | FIXME | ||
| + | | ||
| + | ===== Vérification Finale ===== | ||
| + | <code bash> | ||
| + | < | ||
| + | [ 1.597597] AMD-Vi: Found IOMMU at 0000: | ||
| + | [ 1.597598] AMD-Vi: Interrupt remapping enabled | ||
| + | [ 1.597712] AMD-Vi: Lazy IO/TLB flushing enabled | ||
| + | </ | ||
| + | |||
| + | FIXME Manque quelques infos. En cours | ||
| + | |||
| + | ===== Script VFIO avec Qemu (Samba & Synergy) ===== | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | Fix Synergy: (Bouton Suivant / Précédent / touch alt+gr) | ||
| + | |||
| + | Éditer le fichier **synergy.conf** FIXME Chemin exact | ||
| + | * Dans la section " | ||
| + | * Dans la section " | ||
| + | mousebutton(6) = keystroke(WWWBack) | ||
| + | mousebutton(7) = keystroke(WWWForward) </ | ||
| + | |||
| + | ---- | ||
| + | // | ||
