kb:linux:generalites:gpu_passthrough_avec_qemu
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 | ||
kb:linux:generalites:gpu_passthrough_avec_qemu [2019/07/05 22:28] – beu | kb:linux:generalites:gpu_passthrough_avec_qemu [2020/03/30 08:14] (Version actuelle) – beu | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
:!: ATTENTION CETTE DOCUMENTATION EST EN COURS DE REDACTION :!: | :!: ATTENTION CETTE DOCUMENTATION EST EN COURS DE REDACTION :!: | ||
====== GPU Passthrough avec QEMU ====== | ====== GPU Passthrough avec QEMU ====== | ||
- | |||
- | :!: Attention, ce sujet est bien trop complexe, impossible d' | ||
===== Prérequis ===== | ===== Prérequis ===== | ||
Ligne 18: | Ligne 16: | ||
* ovmf | * ovmf | ||
* [[https:// | * [[https:// | ||
+ | * Un iso de [[https:// | ||
+ | * l'iso des [[https:// | ||
=== Autre : === | === Autre : === | ||
- | Du temps et de la patience. Vraiment! | + | * Une maîtrise des systèmes Windows et Linux. |
+ | * Des compétences/ | ||
+ | * Du temps et de la patience. Vraiment! | ||
===== Ma configuration : ===== | ===== Ma configuration : ===== | ||
Ligne 43: | Ligne 45: | ||
Ensuite branchez votre Dummy plug sur votre GPU, et vos écrans sur votre iGPU. | Ensuite branchez votre Dummy plug sur votre GPU, et vos écrans sur votre iGPU. | ||
- | Ensuite configurer votre GRUB en ajoutant l' | + | Ensuite configurer votre GRUB en ajoutant l' |
Ensuite il faut demander a votre initramfs de charger les pilotes vfio en ajoutant les modules **vfio_pci**, | Ensuite il faut demander a votre initramfs de charger les pilotes vfio en ajoutant les modules **vfio_pci**, | ||
Ligne 59: | Ligne 61: | ||
</ | </ | ||
- | vous devriez | + | vous devriez |
< | < | ||
Ligne 102: | Ligne 104: | ||
</ | </ | ||
- | Ensuite faut définir au noyau quel carte graphique on reserve | + | Il faut aussi que ce soit les seuls dans leur groupe IOMMU. Si ce n'est pas le cas, il faudra bouger votre GPU sur un autre port PCI. |
+ | |||
+ | Ensuite faut définir au noyau quel carte graphique on réserve | ||
<code file / | <code file / | ||
Ligne 119: | Ligne 123: | ||
afin de vérifier l' | afin de vérifier l' | ||
- | <code file [highlight_lines_extra=" | + | <code file [highlight_lines_extra=" |
.... | .... | ||
01:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1070] (rev a1) | 01:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1070] (rev a1) | ||
Ligne 131: | Ligne 135: | ||
.... | .... | ||
</ | </ | ||
+ | |||
+ | On va ensuite configurer pulseaudio pour qu'il supporte le fait que le son remonte depuis la VM. | ||
+ | |||
+ | Pour cela, copier votre cookie Pulseaudio dans le compte root : | ||
+ | |||
+ | <code bash> | ||
+ | # cp ~/ | ||
+ | </ | ||
+ | |||
+ | ===== Configuration du Guest ===== | ||
+ | |||
+ | Démarrez votre VM sans la carte graphique, et tout les modules necessaires. Par exemple avec la commande : | ||
+ | |||
+ | <code bash> | ||
+ | qemu-system-x86_64 \ | ||
+ | -machine q35, | ||
+ | -cpu host, | ||
+ | -drive if=pflash, | ||
+ | -drive if=pflash, | ||
+ | -overcommit mem-lock=on \ | ||
+ | -overcommit cpu-pm=on \ | ||
+ | -pidfile / | ||
+ | -monitor telnet: | ||
+ | -enable-kvm \ | ||
+ | -name guest=Windows, | ||
+ | -smp 3, | ||
+ | -m 8G \ | ||
+ | -mem-prealloc \ | ||
+ | -global ICH9-LPC.disable_s3=1 \ | ||
+ | -global ICH9-LPC.disable_s4=1 \ | ||
+ | -no-user-config \ | ||
+ | -nodefaults \ | ||
+ | -rtc base=localtime, | ||
+ | -global kvm-pit.lost_tick_policy=discard \ | ||
+ | -boot strict=on \ | ||
+ | -no-hpet \ | ||
+ | -netdev type=user, | ||
+ | -device virtio-net-pci, | ||
+ | -device ich9-intel-hda, | ||
+ | -device hda-output \ | ||
+ | -device ioh3420, | ||
+ | -device vfio-pci, | ||
+ | -device vfio-pci, | ||
+ | -drive | ||
+ | -device virtio-scsi-pci, | ||
+ | -device scsi-hd, | ||
+ | -device ivshmem-plain, | ||
+ | -object memory-backend-file, | ||
+ | -spice disable-ticketing, | ||
+ | -device virtio-serial-pci \ | ||
+ | -chardev spicevmc, | ||
+ | -device virtserialport, | ||
+ | -device virtio-mouse-pci, | ||
+ | -device virtio-keyboard-pci, | ||
+ | -usb \ | ||
+ | -device intel-iommu \ | ||
+ | -audiodev pa, | ||
+ | -vga std -display sdl | ||
+ | </ | ||
+ | |||
+ | Installez votre Windows 10. Je vous conseille : | ||
+ | * de mettre un mot de passe a votre session (Attention a bien mettre l' | ||
+ | * Désactiver l' | ||
+ | * Activer RDP | ||
+ | * D' | ||
+ | |||
+ | Une fois fait, télécharger (sur votre guest) les pilotes spécific [[https:// | ||
+ | |||
+ | Installez aussi Visual C++. | ||
+ | |||
+ | Une fois fait, télécharger la dernieres release de [[https:// | ||
+ | |||
+ | |||
+ | |||
+ | Éteignez la VM et lancez la sans l' | ||
+ | |||
+ | < | ||
+ | -vga none -display none | ||
+ | </ | ||
+ | |||
+ | Et normalement, | ||
+ | |||
kb/linux/generalites/gpu_passthrough_avec_qemu.1562365690.txt.gz · Dernière modification : 2019/07/05 22:28 de beu