Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Dernière révision Les deux révisions suivantes | ||
utilisateurs:captnfab:tutos:virtualisation-vga-passthrough [21/01/2018 16:30] captnfab [Introduction] |
utilisateurs:captnfab:tutos:virtualisation-vga-passthrough [21/01/2018 17:14] captnfab [Pré-Installation] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Titre de Votre Tuto ====== | + | ====== KVM & VGA Passthough ====== |
* Objet : Virtualisation de Windows via KVM avec utilisation d'une carte graphique dédiée | * Objet : Virtualisation de Windows via KVM avec utilisation d'une carte graphique dédiée | ||
Ligne 5: | Ligne 5: | ||
* Commentaires : //Pour jouer… // | * Commentaires : //Pour jouer… // | ||
+ | ===== Avertissement ===== | ||
+ | |||
+ | Tuto pour qemu 2.8 et ovmf 0~20170911.5dfba97c-1. | ||
+ | Chez moi, mettre à jour ces paquets casse la virtualisation. Mais peut-être que si les paquets sont à jour avant installation de windows 7 (ou ultérieur), il n'y a pas de problème. | ||
===== Pré-Installation ===== | ===== Pré-Installation ===== | ||
+ | |||
+ | ==== Identification de la CG ==== | ||
<code user>lspci</code> | <code user>lspci</code> | ||
Ligne 13: | Ligne 19: | ||
… | … | ||
</code> | </code> | ||
+ | |||
+ | On retient **01:00.0** et **01:00.1**. | ||
+ | |||
+ | ==== Récupération des pilotes VFIO ==== | ||
+ | |||
+ | <code user>wget 'https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso'</code> | ||
+ | |||
+ | Ces pilotes seront nécessaires à l'installateur Windows pour trouver le disque dur et la carte réseau, je crois. | ||
+ | |||
+ | ==== Création des disques ==== | ||
+ | |||
+ | === Avant l'installation === | ||
+ | <code user> | ||
+ | qemu-img create -f qcow2 /srv/vms/win7-systeme.img 60G | ||
+ | qemu-img create -f qcow2 /srv/vms/win7-jeux.img 100G | ||
+ | </code> | ||
+ | |||
+ | === Après l'installation et la configuration === | ||
+ | Pour pas tout se retaper en cas de pépin. | ||
+ | <code user> | ||
+ | mv /srv/vms/win7-systeme.img /srv/vms/win7-systeme_orig.img | ||
+ | qemu-img create -f qcow2 -b /srv/vms/win7-systeme_orig.img /srv/vms/win7-systeme.img | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== (Facultatif) Configuration de pulseaudio ==== | ||
+ | Cette config permet au pulseaudio de l'utilisateur d'accepter les connections sur l'interface loopback. On demandera à KVM (lancé en root) de s'y connecter, ce qui évitera les ennuis de sorties audio simultanées. | ||
+ | |||
+ | Ajout de ''load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1'' dans le fichier ''~/.config/pulse/default.pa''. | ||
+ | Si ce fichier n'existe pas chez vous, ''cp /etc/pulse/default.pa ~/.config/pulse/'' | ||
===== Installation ===== | ===== Installation ===== | ||
==== Kernel Line ==== | ==== Kernel Line ==== | ||
- | <code>GRUB_CMDLINE_LINUX_DEFAULT="quiet spalsh intel_iommu=on modprobe.blacklist=nouveau hugepagesz=1G hugepages=8"</code> | + | <code bash /etc/default/grub>GRUB_CMDLINE_LINUX_DEFAULT="quiet spalsh intel_iommu=on modprobe.blacklist=nouveau hugepagesz=1G hugepages=8"</code> |
* ''intel_iommu=on'' | * ''intel_iommu=on'' | ||
J'sais plus. | J'sais plus. | ||
Ligne 25: | Ligne 61: | ||
Pour que la mémoire de la VM soit gérée via le mécanisme de hugepages, ici, 8×1Go. | Pour que la mémoire de la VM soit gérée via le mécanisme de hugepages, ici, 8×1Go. | ||
+ | ==== InitRd ==== | ||
+ | |||
+ | <code user>lspci -nns 01:00.0</code> | ||
+ | <code>01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] [10de:1c03] (rev a1)</code> | ||
+ | <code user>lspci -nns 01:00.1</code> | ||
+ | <code>01:00.1 Audio device [0403]: NVIDIA Corporation GP106 High Definition Audio Controller [10de:10f1] (rev a1)</code> | ||
+ | |||
+ | <code bash /etc/initramfs-tools/modules> | ||
+ | vfio | ||
+ | vfio_iommu_type1 | ||
+ | vfio_pci | ||
+ | vfio_virqfd | ||
+ | vhost-net | ||
+ | pci_stub ids=10de:1c03,10de:10f1 | ||
+ | </code> | ||
==== Script de lancement ==== | ==== Script de lancement ==== | ||
Ligne 80: | Ligne 131: | ||
-serial none \ | -serial none \ | ||
-parallel none \ | -parallel none \ | ||
- | -usb \ | ||
- | -device usb-host,vendorid=0x045e,productid=0x0291 \ | ||
$OPT_OUTPUT \ | $OPT_OUTPUT \ | ||
- | $OPT_INPUT \ | ||
-drive if=pflash,format=raw,readonly,file=/usr/share/OVMF/OVMF_CODE.fd \ | -drive if=pflash,format=raw,readonly,file=/usr/share/OVMF/OVMF_CODE.fd \ | ||
-drive if=pflash,format=raw,file=/tmp/my_vars.fd \ | -drive if=pflash,format=raw,file=/tmp/my_vars.fd \ | ||
Ligne 100: | Ligne 148: | ||
===== Utilisation ===== | ===== Utilisation ===== | ||
+ | <code root>./start_kvm.sh</code> | ||
+ | |||
+ | |||
+ | ===== Sources ===== | ||
+ | * http://vfio.blogspot.fr/2015/05/vfio-gpu-how-to-series-part-1-hardware.html | ||
+ | * http://vfio.blogspot.fr/2015/05/vfio-gpu-how-to-series-part-2.html | ||
+ | * http://vfio.blogspot.fr/2015/05/vfio-gpu-how-to-series-part-3-host.html | ||
+ | * http://vfio.blogspot.fr/2015/05/vfio-gpu-how-to-series-part-4-our-first.html | ||
+ | * http://vfio.blogspot.fr/2015/05/vfio-gpu-how-to-series-part-5-vga-mode.html | ||
+ | * autres… |