XDA a présenté ce mois-ci le cas selon lequel le pire GPU de jeu qui traîne dans votre tiroir pourrait être la meilleure mise à niveau que votre serveur domestique ne reçoive jamais. C’est vrai, avec une condition : la carte ne gagne sa place qu’une fois que quelque chose d’autre que l’hôte peut réellement l’utiliser. Remettre un GPU physique à une machine virtuelle ou un conteneur est un problème distinct de son installation, et c’est la partie qui prend un week-end. Nous avons testé 8 des meilleures applications de passage GPU sur serveur domestique, couvrant l’hyperviseur qui lie la carte, les corrections au niveau du noyau pour les cartes qui refusent de se réinitialiser, la couche d’affichage qui vous permet de voir l’invité, et la route des conteneurs pour ceux qui préféreraient partager le GPU plutôt que de le céder.
Que rechercher dans un outil de passage GPU
Le passage est une pile, pas une seule application, donc évaluez chaque composant en fonction de ce que votre matériel peut réellement faire.
- Isolement des groupes IOMMU. Votre CPU et votre carte mère doivent prendre en charge VT-d ou AMD-Vi, et le GPU doit tomber dans un groupe IOMMU sans rien d’autre d’important. Les cartes grand public regroupent souvent l’emplacement x16 avec les contrôleurs USB et NVMe, et vous devez alors tout passer ou rien.
- Graphiques hôte après le départ de la carte. Une fois que le GPU est lié à vfio-pci, l’hôte le perd. Soit le CPU dispose de graphiques intégrés, soit vous avez besoin d’une deuxième carte, soit vous utilisez un GPU unique et acceptez que le bureau hôte meure au démarrage de la VM.
- Comportement de réinitialisation. La carte doit revenir à un état propre lors de l’arrêt de l’invité. Plusieurs générations d’AMD ne le font pas, et la correction est un module noyau plutôt qu’un drapeau de configuration.
- Comment vous voyez l’invité. Un GPU épinglé à une VM sort sur un port physique, pas sur votre gestionnaire de fenêtres hôte. Quelque chose doit combler cet écart avec une latence acceptable.
- Si vous avez vraiment besoin d’exclusivité. Les charges de travail de transcodage et d’inférence fonctionnent généralement bien sur un GPU partagé dans un conteneur. Le passage complet est pour les invités qui nécessitent une pile de pilotes réelle et un affichage réel.
- Réalité du licencing. NVIDIA vGPU sur les cartes de centre de données nécessite une licence payante par invité simultané. Intel SR-IOV sur les graphiques intégrés ne le fait pas. Cette différence décide de nombreuses builds.
Comparaison rapide
| Application | Meilleur pour | Plates-formes | Plan gratuit | Prix de départ | Caractéristique distinctive |
|---|---|---|---|---|---|
| Looking Glass | Voir un GPU transmis sur l’hôte | Hôte Linux, invité Windows | Gratuit, open source | Gratuit | Relais de trame à mémoire partagée, sans saut réseau |
| Proxmox VE | L’hyperviseur du serveur domestique | Linux (bare metal) | Gratuit, open source | Gratuit, support payant optionnel | Mappage des ressources PCI dans l’UI web |
| virt-manager | Passage sur un bureau ou serveur Linux simple | Linux | Gratuit, open source | Gratuit | Contrôle direct du XML libvirt |
| vendor-reset | Cartes AMD qui ne réinitialisent pas | Linux | Gratuit, open source | Gratuit | Réinitialisation spécifique à l’appareil pour Polaris, Vega, Navi |
| i915-sriov-dkms | Partager un iGPU Intel entre VM | Linux | Gratuit, open source | Gratuit | Jusqu’à 7 fonctions virtuelles d’un iGPU |
| NVIDIA Container Toolkit | Partager un GPU au lieu de le céder | Linux | Gratuit, open source | Gratuit | Un GPU, plusieurs conteneurs, pas de VFIO |
| Unraid | L’UI de passage la moins douloureuse | Linux (bare metal) | Essai 30 jours | Licence payante unique | Liaison VFIO par appareil |
| Sunshine | Obtenir la sortie de l’invité hors de la boîte | Windows, Linux, macOS | Gratuit, open source | Gratuit | Stream codé matériel vers n’importe quel client Moonlight |
Les applications
1. Looking Glass : meilleur pour utiliser un GPU transmis sans deuxième moniteur
Looking Glass résout le problème qui pousse la plupart des gens à abandonner le passage. Le GPU se trouve à l’intérieur de l’invité Windows, l’invité y rend, et vous êtes assis sur un hôte Linux qui ne peut plus rien voir. Looking Glass copie les images de l’invité dans une région de mémoire partagée (IVSHMEM) et le client hôte les dessine dans une fenêtre ordinaire, sans pile réseau, sans codeur et sans passage de compression entre les deux. C’est pourquoi cela semble différent de VNC ou RDP : vous obtenez des taux de rafraîchissement élevés et une latence d’entrée suffisamment faible pour les jeux, sur la même machine physique.
La configuration 2026 est plus facile que celle décrite par la plupart des anciens guides. Looking Glass Indirect Display Driver (LGIdd) s’installe dans l’invité Windows en tant que pilote d’affichage en mode utilisateur et crée un moniteur virtuel, ce qui signifie que la fiche HDMI factice autrefois obligatoire n’est plus nécessaire. Il remplace également l’ancienne application hôte, il y a donc une chose de moins qui s’exécute à l’intérieur de l’invité.
Où elle échoue: C’est uniquement un hôte Linux vers un invité Windows, et cela nécessite un passage réel pour exister d’abord. Looking Glass ne crée pas un GPU pour vous, il affiche celui que vous avez déjà attribué. L’audio est géré séparément, et l’appareil de mémoire partagée doit avoir la bonne taille dans la configuration VM ou le client refuse de se connecter.
Prix:
- Gratuit: Entièrement open source, GPL-2.0
- Payant: Aucun
Plates-formes: Linux (client hôte), Windows (pilote invité)
Télécharger: looking-glass.io · GitHub
Conclusion: Si le serveur et votre bureau se trouvent sur la même machine, Looking Glass est ce qui rend le passage GPU en vaut vraiment la peine.
2. Proxmox VE : meilleur hyperviseur gratuit pour passage GPU sur serveur domestique
Proxmox VE est l’endroit où se produit la plupart du passage GPU du serveur domestique, car il s’agit d’un hyperviseur bare metal basé sur Debian avec une UI web par-dessus QEMU/KVM et LXC. Pour le passage GPU, il vous donne une couche de mappage des ressources PCI : vous enregistrez la carte comme une ressource nommée sur le nœud, puis vous attachez ce mappage à une VM au lieu de modifier les adresses PCI brutes. Activez IOMMU sur la ligne de commande du noyau, mettez en liste noire le pilote hôte, liez à vfio-pci, et la carte apparaît dans la liste matérielle de VM.
Proxmox VE pour le passage GPU couvre également le cas de partage. Depuis NVIDIA vGPU Software 18, Proxmox est une plate-forme vGPU officiellement prise en charge, avec des instances vGPU attachées aux invités en tant qu’appareils médiés via le même système de mappage des ressources. Les graphiques intégrés Intel fonctionnent via des fonctions virtuelles SR-IOV sur les noyaux récents, où le pilote Xe a remplacé i915.
Où elle échoue: Les parties difficiles restent difficiles. Un mauvais regroupement IOMMU sur une carte mère grand public n’est pas quelque chose que Proxmox peut corriger, et le correctif de remplacement ACS que les gens utilisent affaiblit la garantie d’isolement sur laquelle dépend le passage. Attendez-vous à au moins une édition de ligne de commande du noyau et un cycle de redémarrage avant que quoi que ce soit ne fonctionne.
Prix:
- Gratuit: Fonctionnalité complète du référentiel sans abonnement
- Payant: Abonnement par socket pour le référentiel d’entreprise et le support
Plates-formes: Linux (installation bare metal)
Télécharger: proxmox.com · Wiki passage PCI
Conclusion: La réponse par défaut pour une boîte serveur domestique dédiée, et celle qui a la plus grande documentation communautaire quand quelque chose se casse.
3. virt-manager : meilleur pour passage sur une boîte Linux que vous utilisez déjà
virt-manager est l’interface graphique de libvirt, et c’est le bon outil quand le serveur domestique est juste une installation Linux que vous ne vouliez pas reformater en distribution hyperviseur. Ajoutez un appareil hôte PCI à l’invité, et libvirt gère la remise vfio-pci au démarrage de la VM et restitue la carte à l’arrêt. L’interface expose le XML sous-jacent directement, ce qui compte ici, car le réglage du passage se fait dans des endroits où un assistant ne vous mènera pas : pinning CPU, hugepages, masquage de l’hyperviseur des pilotes NVIDIA, et attachement de l’appareil IVSHMEM dont Looking Glass a besoin.
Parce qu’il s’exécute au-dessus de libvirt et QEMU/KVM, tout ce que vous apprenez se transfère. Le même XML de domaine fonctionne à partir de la ligne de commande avec virsh, à partir de virt-install dans un script, et sur n’importe quelle distribution qui expédie libvirt.
Où elle échoue: Pas d’UI web, donc soit vous êtes assis sur la machine, soit vous transférez une session vers elle. Aucune abstraction de mappage d’appareil intégrée comme Proxmox, donc les adresses PCI dans le XML peuvent changer si vous déplacez les cartes entre les emplacements. Le passage GPU unique, où l’hôte n’a pas d’autres graphiques, a besoin de vos propres scripts de crochet de démarrage et d’arrêt pour démonter le gestionnaire d’affichage et relier les pilotes.
Prix:
- Gratuit: Entièrement open source, GPL-2.0
- Payant: Aucun
Plates-formes: Linux
Télécharger: virt-manager.org · GitHub
Conclusion: Le chemin le plus léger vers le passage quand le serveur est une machine Linux polyvalente plutôt qu’un hyperviseur dédié.
4. vendor-reset : meilleur pour cartes AMD qui se bloquent à l’arrêt de VM
vendor-reset existe à cause d’une défaillance spécifique et frustrante : vous arrêtez l’invité, essayez de le redémarrer, et le GPU a disparu jusqu’au redémarrage de tout l’hôte. Plusieurs générations d’AMD n’implémentent pas une réinitialisation au niveau des fonctions qui fonctionne, de sorte que la carte finit dans un état que le noyau ne peut pas récupérer. vendor-reset est un module noyau Linux qui accroche le chemin de réinitialisation avec ftrace et applique des séquences de réinitialisation spécifiques à l’appareil, sans avoir besoin de corriger le noyau.
La couverture comprend Polaris (RX 470, 480, 570, 580, 590 et les pièces portables 5xx), Vega 56 et 64, Radeon VII, Instinct MI100, et les cartes Navi y compris 5600 XT, 5700 et 5700 XT. Ce sont exactement les cartes vendues à bas prix d’occasion en ce moment, ce qui rend ce module silencieusement essentiel pour le lecteur qui vient d’en acheter un. Installez-le en tant que module DKMS et définissez la méthode de réinitialisation de l’appareil affecté sur device_specific.
Où elle échoue: Ce n’est pas universel. Si votre carte n’est pas dans les familles soutenues, ce module n’aidera pas, et certains utilisateurs rencontrent toujours des cas extrêmes où un crash d’invité au lieu d’un arrêt propre laisse l’appareil bloqué. C’est un module noyau, donc les mises à niveau du noyau peuvent nécessiter une reconstruction.
Prix:
- Gratuit: Entièrement open source, GPL-2.0
- Payant: Aucun
Plates-formes: Linux
Télécharger: GitHub
Conclusion: Installez-le avant de conclure que votre carte AMD d’occasion est incompatible avec le passage, car elle ne l’est généralement pas.
5. i915-sriov-dkms : meilleur pour partager un iGPU Intel entre plusieurs VM
i915-sriov-dkms prend une position différente : au lieu de dédier une carte à un invité, elle transforme un GPU intégré Intel en plusieurs fonctions virtuelles que plusieurs VM peuvent détenir à la fois. Le projet empaquète le code du pilote i915 et xe compatible SR-IOV en tant que module DKMS pour les noyaux qui ne l’expédient pas, et sur Intel UHD Graphics, il peut exposer jusqu’à 7 fonctions virtuelles. Pour un serveur domestique qui est une petite boîte Intel, c’est la différence entre une VM obtenant l’accélération matérielle et chaque VM l’obtenant.
Cela répond également au problème du second GPU d’une manière utile. Si l’iGPU peut être partagée, l’hôte conserve une fonction pour lui-même et la carte discrète reste libre pour un invité lourd, ou vous omettez entièrement la carte discrète.
Où elle échoue: Le projet se décrit comme hautement expérimental et dirigé par la communauté, sans affiliation à Intel. Il suit des plages de versions de noyau spécifiques, donc une mise à niveau du noyau hôte peut casser la construction jusqu’à ce que le module rattrape. Les plates-formes Intel récentes ont adopté le pilote xe en amont, ce qui change le chemin de configuration en fonction de la génération que vous possédez, et certaines configurations Meteor Lake et Lunar Lake ne sont pas couvertes.
Prix:
- Gratuit: Entièrement open source, GPL-2.0
- Payant: Aucun
Plates-formes: Linux
Télécharger: GitHub
Conclusion: La meilleure valeur en virtualisation GPU si votre serveur dispose déjà d’un iGPU Intel qui ne fait rien.
6. NVIDIA Container Toolkit : meilleur pour partager le GPU au lieu de le céder
NVIDIA Container Toolkit est l’alternative honnête au passage pour la plupart des charges de travail du serveur domestique. Au lieu de lier la carte à vfio-pci et de l’enfermer dans une VM, il câble le pilote NVIDIA hôte et les nœuds d’appareil dans les conteneurs, de sorte que plusieurs conteneurs peuvent utiliser le même GPU simultanément. Installez le pilote hôte, installez le kit d’outils, et les conteneurs obtiennent l’accès GPU avec un drapeau d’exécution. La boîte à outils CUDA n’est pas requise sur l’hôte.
Pour un serveur domestique, cela couvre une grande partie des raisons pour lesquelles quelqu’un met un GPU dans la boîte en premier lieu. Cela évite chaque problème de regroupement IOMMU, chaque bug de réinitialisation, et l’exigence de graphiques hôte séparés, car le pilote hôte ne lâche jamais la carte. L’itinéraire équivalent pour les conteneurs système est Incus, qui a un type d’appareil gpu qui peut attacher un GPU physique, une fonction virtuelle SR-IOV, ou un appareil médié à des conteneurs et des VM.
Où elle échoue: Les conteneurs partagent une version de pilote avec l’hôte, donc un invité qui a besoin d’une pile de pilotes différente, d’un espace utilisateur Windows, ou d’une sortie d’affichage réelle est hors de portée. Ce n’est pas un substitut au passage quand l’objectif est une VM de jeu. C’est aussi seulement pour NVIDIA.
Prix:
- Gratuit: Entièrement open source, Apache-2.0
- Payant: Aucun
Plates-formes: Linux
Conclusion: Essayez ceci en premier. Un grand nombre de personnes qui ont passé un week-end sur VFIO n’avaient en réalité pas besoin d’une VM.
7. Unraid : meilleure option payante pour passage sans archéologie de configuration
Unraid est le système d’exploitation du serveur domestique commercial qui a rendu le passage GPU abordable, et c’est toujours le chemin le plus rapide du bare metal à une VM de jeu fonctionnelle. Le gestionnaire de VM dans l’UI web énumère les appareils PCI avec leurs groupes IOMMU visibles, et lier un appareil à VFIO est une case à cocher plutôt qu’un paramètre de ligne de commande du noyau que vous modifiez à la main. Attachez le GPU et sa fonction audio à un invité Windows ou macOS, pointez-le vers un ISO de pilote VirtIO, et démarrez. Les conteneurs Docker et le tableau fonctionnent côte à côte sur la même boîte.
Unraid expose également les informations que d’autres outils vous obligent à rechercher. Voir quels appareils partagent un groupe IOMMU avant de vous engager économise la frustration spécifique de découvrir, trois heures plus tard, que votre GPU partage un groupe avec le contrôleur USB.
Où elle échoue: C’est payant, avec des niveaux basés sur le nombre d’appareils de stockage que vous attachez et un modèle de renouvellement pour les mises à jour continues des fonctionnalités après la période incluse. Le tableau est opinâtre et construit autour de la parité plutôt qu’un pool par bandes, ce que tout le monde ne veut pas. Le réglage avancé du passage vous laisse toujours à virsh et au XML brut, comme partout ailleurs.
Prix:
- Gratuit: Essai 30 jours avec fonctionnalité complète
- Payant: Licence payante unique, échelonnée selon le nombre d’appareils attachés, avec renouvellements payants optionnels pour les mises à jour ultérieures des fonctionnalités
Plates-formes: Linux (démarre à partir d’USB, bare metal)
Télécharger: unraid.net
Conclusion: Cela vaut la licence si votre temps vaut plus que le prix et que vous voulez que le passage fonctionne ce soir.
8. Sunshine : meilleur pour accéder à une VM de passage depuis n’importe où dans la maison
Sunshine est le dernier choix car il répond à une question que d’autres outils ignorent. Looking Glass suppose que vous êtes assis sur le serveur. La plupart des serveurs domestiques se trouvent dans un placard, un bâti ou un sous-sol. Sunshine s’exécute à l’intérieur de l’invité qui possède maintenant le GPU, encode sa sortie avec l’encodeur matériel de ce GPU, et le diffuse à un client Moonlight sur un ordinateur portable, un téléphone, une tablette, un décodeur TV ou un Steam Deck. La carte transmise fait l’encodage, de sorte que le coût pour l’invité est faible.
Les hôtes Sunshine s’exécutent sur Windows 11, Linux, macOS 14.2 et versions ultérieures, et FreeBSD, et les clients Moonlight existent pour presque tous les systèmes. Sur un invité Linux, il fonctionne sans tête avec un affichage virtuel ; sur Windows, il veut un affichage présent, ce qui est là qu’un pilote d’affichage virtuel ou le moniteur virtuel de l’invité entre en jeu.
Où elle échoue: C’est un flux réseau, donc il porte une latence d’encodage et de décodage que Looking Glass n’a pas. Sur un LAN câblé, c’est bien pour la plupart des jeux et chaque tâche de bureau, mais ce n’est pas la même expérience que la mémoire partagée sur la même machine. La configuration est un travail par invité plutôt que par hôte.
Prix:
- Gratuit: Entièrement open source, GPL-3.0
- Payant: Aucun
Plates-formes: Windows, Linux, macOS
Télécharger: GitHub · Moonlight
Conclusion: Associez-le à Looking Glass plutôt que de choisir entre les deux : l’un pour quand vous êtes sur le serveur, l’autre pour quand vous ne l’êtes pas.
Comment choisir le bon
- Si le serveur est aussi votre bureau: Proxmox VE ou virt-manager pour le passage, Looking Glass pour l’affichage.
- Si le serveur vit dans un placard: n’importe quel hyperviseur plus Sunshine et Moonlight, car vous ne branchez plus jamais un moniteur dedans.
- Si vous voulez juste Plex, Jellyfin, ou un modèle local pour utiliser la carte: NVIDIA Container Toolkit, et ignorez complètement le passage.
- Si votre carte est RX 580, Vega, ou 5700 XT: installez vendor-reset en premier, puis configurez la VM.
- Si la boîte est une petite machine Intel sans emplacement PCIe: i915-sriov-dkms, et divisez l’iGPU.
- Si plusieurs VM ont chacune besoin de graphiques: SR-IOV sur Intel, ou NVIDIA vGPU avec les licences qu’il nécessite.
- Si vous voulez que cela fonctionne ce soir et vous paierez pour cela: Unraid.
- Si vous avez essayé le passage sur une carte mère grand public et rencontré un groupe IOMMU géant: vérifiez si un emplacement PCIe différent se regroupe mieux avant d’atteindre le correctif de remplacement ACS, qui échange l’isolement réel contre la commodité.
FAQ
De quoi ai-je besoin pour le passage GPU sur un serveur domestique? Un CPU et une carte mère avec support IOMMU (Intel VT-d ou AMD-Vi) activés dans le firmware, un GPU qui tombe dans un groupe IOMMU utilisable, et un moyen pour l’hôte de continuer à afficher quelque chose après la transmission de la carte. Cette dernière partie signifie des graphiques intégrés, un second GPU, ou une configuration GPU unique avec des scripts de crochet.
NVIDIA bloque-t-il toujours le passage GPU avec Code 43? Non. NVIDIA a cessé de bloquer la virtualisation sur les cartes GeForce à partir du pilote 465.89, et la virtualisation est maintenant officiellement supportée sur les cartes grand public. Les anciens guides qui vous disent de masquer le drapeau CPUID de l’hyperviseur décrivent un problème qui ne s’applique plus aux pilotes actuels, bien que le paramètre soit inoffensif s’il est déjà dans votre config.
Pourquoi mon GPU AMD ne fonctionne qu’une fois par démarrage de l’hôte? C’est le bug de réinitialisation d’AMD. Plusieurs cartes Polaris, Vega et Navi n’implémentent pas une réinitialisation qui fonctionne, de sorte que le GPU ne peut pas être réclamé après l’arrêt de l’invité. Le module noyau vendor-reset ajoute des séquences de réinitialisation spécifiques à l’appareil pour les familles affectées et corrige généralement le problème.
Deux VM peuvent-elles partager un GPU? Pas avec un passage simple, qui est exclusif à un invité à la fois. Le partage nécessite des fonctions virtuelles SR-IOV (disponibles sur les graphiques intégrés Intel récents et sur certaines cartes de centre de données) ou NVIDIA vGPU, qui sont sous licence par invité simultané sur le matériel supporté. Pour les conteneurs plutôt que les VM, NVIDIA Container Toolkit ou Incus peuvent partager un GPU gratuitement.
Ai-je besoin d’une fiche HDMI factice pour Looking Glass? Non avec la configuration actuelle. Looking Glass Indirect Display Driver crée un moniteur virtuel dans l’invité Windows, ce qui supprime le besoin de fiche factice que les anciens guides décrivent.
Hyper-V est-il une option réaliste pour cela? Rarement à la maison. L’assignation discrète d’appareils nécessite un matériel de classe serveur avec contrôle PCIe Express natif et support ACS sur le complexe racine PCIe, et n’est pas supportée sur Windows 10 ou 11 Pro. Le partitionnement GPU dans Windows Server 2025 est l’itinéraire le plus récent, mais les exigences matérielles et d’édition le placent toujours en dehors de la plupart des builds domestiques.