Hyper-V · Accélération GPU · Windows 10 et 11

Comment faire un passthrough GPU dans Hyper-V sous Windows 10 et Windows 11
GPU-P · DDA · Dépannage

Un guide pratique pour utiliser une carte graphique physique dans une machine virtuelle Hyper-V, avec les limites de prise en charge officielle, la différence avec le partitionnement GPU et une configuration étape par étape d’une VM Windows.

⏱ 14 min de lecture 🪟 Windows 10 Pro / Enterprise 🪟 Windows 11 Pro / Enterprise 🖥️ Hyper-V 🎮 Partitionnement GPU

Qu’est-ce que le passthrough GPU Hyper-V dans Windows 10 et Windows 11 ?

Le passthrough GPU consiste à donner à une machine virtuelle un accès direct ou quasi direct à une carte graphique physique installée dans le PC hôte. Au lieu de dépendre uniquement de l’adaptateur d’affichage virtuel basique de Hyper-V, le système invité peut utiliser l’accélération matérielle pour le rendu 3D, l’encodage vidéo, les charges CUDA ou DirectX, les sessions de bureau à distance, le jeu léger, les outils d’IA et les applications graphiques exigeantes.

Dans Hyper-V, l’expression « passthrough GPU » est souvent utilisée pour deux technologies différentes : Discrete Device Assignment (DDA), qui attribue un GPU PCIe entier à une seule VM, et le partitionnement GPU (GPU-P), qui expose une partition du GPU de l’hôte au système invité. Sur les systèmes clients Windows 10 et Windows 11, la méthode pratique que la plupart des utilisateurs particuliers et workstation essaient est GPU-P, et non le vrai DDA de type serveur.

💡
Résumé rapide Si vous utilisez Windows 10 ou Windows 11 comme hôte Hyper-V, considérez GPU-P comme la méthode réaliste et DDA comme une fonction de niveau serveur. Un PC de bureau classique avec Windows 11 Pro peut exposer les cmdlets GPU-P, mais cela ne signifie pas que Microsoft garantit cette configuration pour chaque GPU, pilote ou charge de travail.

Raisons courantes d’attacher un GPU à une VM Hyper-V

Prise en charge du passthrough GPU Hyper-V : DDA ou GPU-P sous Windows 10/11

Avant de modifier les paramètres d’une VM, il faut comprendre les limites de prise en charge. Microsoft documente Discrete Device Assignment comme une technologie Windows Server permettant d’attribuer directement à une VM des périphériques PCIe pris en charge, y compris des cartes graphiques et des périphériques NVMe. Dans les recommandations de dépannage récentes de Microsoft, DDA et GPU-P sont présentés comme des scénarios de classe serveur ; le matériel de bureau et les systèmes clients Windows 10/11 ne sont pas la cible prise en charge pour ces workflows d’attribution GPU d’entreprise.

Technologie Fonctionnement Meilleur cas d’utilisation Réalité sous Windows 10/11 client
DDA Transmet un GPU PCIe entier à une VM. L’hôte perd l’usage normal de ce GPU pendant qu’il est attribué. Hôtes Windows Server, VM de confiance, matériel dédié, charges d’entreprise. Ce n’est pas un scénario client PC normalement pris en charge. Il exige du matériel compatible, un firmware adapté, ACS/IOMMU et des décisions de sécurité prudentes.
GPU-P Crée une partition GPU et l’attache à une VM Génération 2 avec PowerShell. Partager une partie du GPU hôte avec une VM pour l’accélération. Souvent utilisé de manière expérimentale sous Windows 10/11 Pro ou Enterprise, mais les changements de pilote et de mise à jour peuvent le casser.
RemoteFX vGPU Ancienne technologie de GPU virtuel. Uniquement anciens environnements Windows Server/Hyper-V. Ne l’utilisez pas. RemoteFX vGPU a été supprimé à cause de problèmes de sécurité.
⚠️
Important Les étapes ci-dessous se concentrent sur GPU-P, car c’est la méthode que les utilisateurs Windows 10 et Windows 11 tentent le plus souvent sur des hôtes Hyper-V clients. Créez toujours un point de contrôle ou une sauvegarde avant d’expérimenter. Une mise à jour Windows, une mise à jour du pilote GPU ou un changement de configuration Hyper-V peut vous obliger à refaire la configuration.

Prérequis pour le partitionnement GPU Hyper-V sous Windows 10 et 11

Le partitionnement GPU dépend fortement du matériel, des pilotes et de la configuration exacte de la VM. Avant d’exécuter des commandes PowerShell, vérifiez chaque exigence ci-dessous.

Prérequis du PC hôte

Prérequis de la machine virtuelle

Activer Hyper-V s’il n’est pas installé

Ouvrez PowerShell en tant qu’administrateur et exécutez :

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

Redémarrez Windows lorsque cela est demandé. Après le redémarrage, ouvrez le Gestionnaire Hyper-V depuis le menu Démarrer.

Préparer la VM Hyper-V avant d’ajouter le GPU

La VM doit être arrêtée et configurée de façon cohérente avant d’attacher un adaptateur de partition GPU. N’exécutez pas ces commandes lorsque la VM est en état enregistré.

Étape 1 : définir la variable du nom de la VM

Remplacez Win11-GPU par le nom exact de votre machine virtuelle :

$vm = "Win11-GPU"

Étape 2 : éteindre la VM

Stop-VM -Name $vm -TurnOff

Étape 3 : désactiver les checkpoints automatiques et la mémoire dynamique

Set-VM -Name $vm -AutomaticCheckpointsEnabled $false
Set-VMMemory -VMName $vm -DynamicMemoryEnabled $false -StartupBytes 8GB

Étape 4 : configurer le cache et les paramètres MMIO

Ces paramètres sont souvent utilisés lors de l’attachement de ressources GPU à des VM Hyper-V. Ils aident l’invité à mapper correctement la mémoire du périphérique.

Set-VM -GuestControlledCacheTypes $true -VMName $vm
Set-VM -LowMemoryMappedIoSpace 1GB -VMName $vm
Set-VM -HighMemoryMappedIoSpace 32GB -VMName $vm
Recommandation Commencez avec 8 Go de RAM pour la VM et 32 Go d’espace MMIO haut. Si l’invité ne démarre pas ou si le GPU ne s’initialise pas, augmentez la RAM et vérifiez la compatibilité du pilote avant de modifier trop de variables à la fois.

Comment activer le partitionnement GPU dans Hyper-V avec PowerShell

La commande centrale de GPU-P est Add-VMGpuPartitionAdapter. Elle ajoute un adaptateur virtuel de partition GPU à la VM sélectionnée. Sur de nombreux systèmes, Hyper-V choisit automatiquement le GPU partitionnable disponible. Si la commande échoue, votre matériel, votre pilote, votre build Windows ou l’ensemble de fonctionnalités Hyper-V peut ne pas exposer correctement GPU-P.

Étape 1 : vérifier la présence d’un GPU partitionnable

Get-VMHostPartitionableGpu

Si la commande renvoie des informations GPU, l’hôte expose au moins un GPU que Hyper-V voit comme partitionnable. Si elle ne renvoie rien, mettez à jour le pilote GPU, installez toutes les mises à jour Windows, redémarrez et vérifiez les paramètres de virtualisation du BIOS.

Étape 2 : ajouter l’adaptateur de partition GPU

Add-VMGpuPartitionAdapter -VMName $vm

Étape 3 : définir éventuellement des limites de ressources GPU

Certaines configurations permettent de définir des valeurs minimales, maximales et optimales pour la VRAM, l’encodage, le décodage et les ressources de calcul. Le comportement exact dépend du GPU et du pilote.

Set-VMGpuPartitionAdapter -VMName $vm `
  -MinPartitionVRAM 80000000 `
  -MaxPartitionVRAM 1000000000 `
  -OptimalPartitionVRAM 1000000000 `
  -MinPartitionEncode 80000000 `
  -MaxPartitionEncode 1000000000 `
  -OptimalPartitionEncode 1000000000 `
  -MinPartitionDecode 80000000 `
  -MaxPartitionDecode 1000000000 `
  -OptimalPartitionDecode 1000000000 `
  -MinPartitionCompute 80000000 `
  -MaxPartitionCompute 1000000000 `
  -OptimalPartitionCompute 1000000000

Étape 4 : démarrer la VM

Start-VM -Name $vm

À ce stade, Windows dans la VM peut détecter un périphérique lié au GPU, mais l’accélération matérielle ne fonctionne généralement pas correctement tant que l’invité n’a pas accès aux fichiers de pilote correspondants.

Copier les fichiers du pilote GPU de l’hôte vers l’invité Hyper-V

GPU-P dépend fortement de la présence, côté invité, de composants de pilote correspondant au pilote de l’hôte. L’approche manuelle courante consiste à copier le dossier de pilote nécessaire depuis l’hôte vers la VM, puis à installer le package de pilote GPU normal dans l’invité si nécessaire.

Trouver le dossier du pilote sur l’hôte

Sur l’hôte, ouvrez l’Explorateur de fichiers et vérifiez :

C:\Windows\System32\DriverStore\FileRepository

Recherchez les dossiers liés au fournisseur de votre GPU, par exemple :

Copier les fichiers du pilote dans la VM

Il existe plusieurs façons de transférer le dossier :

Un emplacement cible courant dans l’invité est :

C:\Windows\System32\HostDriverStore\FileRepository
⚠️
La correspondance des pilotes est essentielle Si le pilote de l’hôte est mis à jour, l’invité peut cesser d’utiliser correctement la partition GPU. Dans ce cas, mettez à jour ou recopiez les fichiers de pilote correspondants et redémarrez l’hôte et l’invité.

Comment vérifier l’accélération GPU dans la VM Hyper-V

Après le démarrage de la VM, connectez-vous à l’invité et vérifiez si Windows voit le chemin d’accélération GPU.

Vérifier le Gestionnaire de périphériques

  1. Dans la VM, appuyez sur Win + X et ouvrez le Gestionnaire de périphériques.
  2. Développez Cartes graphiques.
  3. Recherchez votre GPU ou un périphérique de partition GPU au lieu du seul Microsoft Basic Display Adapter.
  4. S’il y a une icône d’avertissement, ouvrez les propriétés du périphérique et vérifiez le code d’erreur.

Vérifier l’outil de diagnostic DirectX

  1. Appuyez sur Win + R, tapez dxdiag et appuyez sur Entrée.
  2. Ouvrez l’onglet Affichage.
  3. Vérifiez si l’accélération Direct3D est activée et si le nom du GPU apparaît correctement.

Vérifier le Gestionnaire des tâches

Ouvrez le Gestionnaire des tâches dans la VM, allez dans Performances et recherchez une activité GPU. Lancez ensuite une application utilisant le GPU, par exemple un navigateur avec accélération matérielle, un encodeur vidéo, un benchmark 3D ou un outil de rendu.

dxdiag
Get-PnpDevice -Class Display

Passthrough GPU complet avec Discrete Device Assignment : exigences principales

Discrete Device Assignment est l’équivalent Hyper-V le plus proche du passthrough PCIe traditionnel. Il retire le périphérique de l’hôte et le monte dans une VM. Pour les GPU, cela peut offrir une isolation plus forte et un accès plus complet au périphérique que GPU-P, mais les exigences et les risques sont également plus élevés.

Exigences DDA en pratique

Flux de commandes DDA typique

Les commandes suivantes montrent le flux conceptuel. Elles ne sont pas recommandées sur du matériel de bureau quelconque sans confirmation de compatibilité et sans plan de récupération.

$vm = "Server-GPU-VM"
$locationPath = "PCIROOT(...)#PCI(...)#PCI(...)"

Stop-VM -Name $vm -TurnOff
Set-VM -Name $vm -AutomaticStopAction TurnOff
Set-VM -GuestControlledCacheTypes $true -VMName $vm
Set-VM -LowMemoryMappedIoSpace 3GB -VMName $vm
Set-VM -HighMemoryMappedIoSpace 33280MB -VMName $vm

Disable-PnpDevice -InstanceId "PCI\VEN_..." -Confirm:$false
Dismount-VMHostAssignableDevice -LocationPath $locationPath -Force
Add-VMAssignableDevice -LocationPath $locationPath -VMName $vm
Start-VM -Name $vm
🛑
N’expérimentez pas à l’aveugle Démonter le mauvais périphérique peut casser l’affichage, le stockage, le réseau ou les entrées de l’hôte. Si vous n’avez qu’un seul GPU et aucun accès distant, les essais DDA complets peuvent vous laisser sans console utilisable jusqu’à une récupération via le mode sans échec, PowerShell distant ou une maintenance hors ligne.

Le passthrough GPU Hyper-V ne fonctionne pas : problèmes courants et solutions

Get-VMHostPartitionableGpu ne renvoie rien

La VM démarre mais affiche Microsoft Basic Display Adapter

Le Gestionnaire de périphériques affiche le code 43

Le code 43 signifie généralement que le pilote n’a pas réussi à initialiser le GPU dans l’environnement virtualisé. Utilisez des fichiers de pilote hôte et invité correspondants, évitez les pilotes très anciens et testez avec une VM Génération 2 fraîche. Certaines combinaisons de GPU grand public et de pilotes ne fonctionnent tout simplement pas de manière fiable avec GPU-P.

La VM se fige ou affiche un écran noir

Supprimer l’adaptateur de partition GPU

Si la VM devient instable, supprimez l’adaptateur depuis une fenêtre PowerShell élevée sur l’hôte :

Stop-VM -Name $vm -TurnOff
Remove-VMGpuPartitionAdapter -VMName $vm
Start-VM -Name $vm

Avantages, limites et alternatives au passthrough GPU Hyper-V

✓ Avantages

  • Permet à une VM d’utiliser une vraie accélération GPU au lieu du seul adaptateur d’affichage virtuel basique.
  • Utile pour tester des applications graphiques, navigateurs, outils vidéo et logiciels sensibles aux pilotes.
  • GPU-P peut permettre à l’hôte et à la VM de partager le même GPU physique.
  • Inutile d’installer un deuxième hyperviseur si Hyper-V fait déjà partie de votre workflow.
  • Fonctionne bien pour les essais lorsque le matériel et les pilotes sont compatibles.

✗ Limites

  • Ce n’est pas une fonction grand public entièrement prise en charge sur les hôtes clients Windows 10/11.
  • Les mises à jour de pilotes peuvent casser la configuration.
  • Les performances ne sont pas toujours égales à un accès GPU bare metal.
  • Les systèmes anti-triche, DRM et certains jeux peuvent refuser les environnements virtualisés.
  • DDA exige du matériel de classe serveur et peut retirer le GPU du contrôle de l’hôte.

Alternatives au passthrough GPU Hyper-V

Alternative Idéal pour Remarques
Exécuter la charge sur l’hôte Jeux, éditeurs vidéo, applications 3D Solution la plus fiable et la plus performante.
Windows Sandbox avec vGPU Tests logiciels jetables Simple, mais peu adapté aux charges GPU lourdes et persistantes.
Accélération GPU WSL 2 IA, ML, CUDA et développement Linux Souvent mieux prise en charge qu’une VM GUI complète pour les charges de développement.
Accélération 3D VMware / VirtualBox Accélération de bureau 3D basique Ce n’est pas équivalent à un passthrough GPU direct, mais c’est plus simple pour les besoins GUI légers.
DDA sous Windows Server Charges GPU d’entreprise dédiées Utilisez du matériel pris en charge et la documentation du fournisseur.

Questions fréquentes sur le passthrough GPU Hyper-V

Q Puis-je faire passer mon GPU NVIDIA GeForce ou AMD Radeon dans Hyper-V sous Windows 11 Pro ?
Vous pourrez peut-être utiliser le partitionnement GPU de façon expérimentale, mais le passthrough de type DDA réel n’est pas le scénario normalement pris en charge pour Windows 11 Pro sur du matériel de bureau grand public. La réussite dépend du GPU, du pilote, de la build Windows, de la configuration de la VM et de la façon dont l’application utilise le GPU.
Q GPU-P est-il identique au passthrough GPU complet ?
Non. GPU-P donne à la VM accès à une ressource GPU partitionnée pendant que l’hôte peut continuer à utiliser le même GPU physique. Le passthrough complet avec DDA attribue tout le périphérique PCIe à une seule VM et supprime l’accès normal de l’hôte pendant qu’il est attaché.
Q Ai-je besoin d’un deuxième GPU ?
Pour GPU-P, généralement non, car l’hôte et l’invité peuvent partager le GPU. Pour DDA, un deuxième GPU ou une méthode de gestion à distance est fortement recommandé, car le GPU attribué est retiré à l’hôte.
Q Cela améliorera-t-il les performances de jeu dans une VM Hyper-V ?
Cela peut améliorer l’accélération graphique par rapport à l’adaptateur d’affichage Hyper-V basique, mais les performances bare metal ne sont pas garanties. Les systèmes anti-triche, DRM, la latence d’entrée, l’affichage distant et le comportement des pilotes peuvent tous rendre le jeu peu fiable dans une VM Hyper-V.
Q Pourquoi le passthrough GPU a-t-il cessé de fonctionner après une mise à jour du pilote ?
GPU-P est sensible à la correspondance des pilotes. Si le pilote GPU de l’hôte change, l’invité peut conserver d’anciens composants de pilote copiés. Recopiez le dossier de pilote correspondant dans la VM, réinstallez ou réparez le pilote invité, supprimez puis ajoutez de nouveau l’adaptateur de partition GPU et redémarrez les deux systèmes.
Q Puis-je utiliser RemoteFX vGPU à la place ?
Non. RemoteFX vGPU est obsolète et a été supprimé en raison de vulnérabilités de sécurité. Utilisez plutôt GPU-P, DDA sur du matériel Windows Server pris en charge, l’accélération GPU WSL 2 ou une autre approche de virtualisation.

🧩 Résumé : la meilleure façon d’utiliser un GPU dans Hyper-V sous Windows 10/11

Sur les hôtes clients Windows 10 et Windows 11, l’approche la plus pratique est le partitionnement GPU avec Add-VMGpuPartitionAdapter. Il peut donner à une VM Windows Génération 2 accès à l’accélération GPU, mais il faut le traiter comme une configuration avancée et sensible aux pilotes, et non comme une fonction grand public garantie.

Pour un passthrough GPU complet de niveau production, utilisez Windows Server Hyper-V avec Discrete Device Assignment, du matériel de classe serveur, des GPU pris en charge par le fournisseur et un modèle de VM de confiance. Pour un usage quotidien, commencez toujours par une VM de test, créez un checkpoint, notez la version du pilote qui fonctionne et prévoyez un chemin de récupération avant de modifier les paramètres GPU ou Hyper-V.