Windows GPU-P + Apollo / Artemis Headless
Virtualisation GPU-P sous Hyper-V avec Streaming Moonlight / Artemis
Bonjour !
Ce blog documente la procédure à suivre pour créer une machine virtuelle Windows 11 sous Hyper-V utilisant une partition de la carte graphique de l’hôte et accessible à distance via Moonlight (son fork, Artemis).
Setup physique
Mon ordinateur a ces composants qui seront partagés dans les différentes machines virtuelles :
- Intel Core i7-7700 Overclocké
- 64 GB RAM DDR4 + XMP
- NVIDIA GeForce RTX 5060 Ti OC 16 G
- NVIDIA GeForce GTX 1660 SUPER OC 6 G
- 5 TB NVMe
Liens utiles
- Easy-GPU-PV — Script PowerShell de partitionnement GPU automatisé
- Artemis — Fork de Moonlight, client Windows pour Apollo
- Apollo — Fork de Sunshine, serveur de streaming pour Artemis
- VB-Audio Cable — Sortie audio virtuelle pour enregistrer le son de la VM
- Sysinternals Autologon — Ouvre automatiquement une session utilisateur au démarrage (Requis)
- Documentation officielle Microsoft — Référence sur le partitionnement GPU sous Hyper-V
Prérequis
Une carte graphique (dans mon cas NVIDIA) supportant le hardware encoding.
Je recommande une GPU au moins des séries 1000 de NVIDIA.
NVIDIA limite le nombre de sessions concurrentes sur leurs GPU.
Cette matrice indique toutes les compatibilités d’encodage et de décodage NVIDIA.Un ISO d’installation de Windows 11 (aussi compatible avec Windows 10).
Une machine hôte Windows 10 / 11.
Windows 11 est recommandé, car il permet de choisir quelle GPU sera partitionnée dans un setup multi-GPU, contrairement à Windows 10.
Hyper-V doit être activé complètement.Droits d’administrateur sur la machine hôte.
Création de la VM
Étapes à suivre pour créer une VM avec GPU partitionnée.
Ces scripts doivent être ouverts dans PowerShell ISE (en administrateur).
Script de vérification
Le script PreChecks.ps1 permet de vérifier que la machine est compatible GPU-P.
Il devrait retourner la liste des GPU compatibles (copier les noms pour plus tard) :
1 | System Compatible |
Script de création de VM et partitionnement
Le script CopyFilesToVM.ps1 automatise :
- la création de la VM,
- le partitionnement GPU,
- et l’installation des pilotes NVIDIA dans la VM.
Avant l’exécution, modifier la section $params selon vos besoins :
1 | $params = @{ |
Une fois le script exécuté, il suffit de se connecter à la VM via Hyper-V,
puis de vérifier dans le Gestionnaire des tâches ou le Gestionnaire de périphériques que la GPU apparaît bien :

Mise à jour des pilotes
Les pilotes NVIDIA de l’hôte et de la VM doivent correspondre exactement.
Le script Update-VMGpuPartitionDriver.ps1 permet de synchroniser les pilotes de la machine physique avec ceux de la VM.
À exécuter obligatoirement lors de chaque mise à jour des pilotes sur le host.
Connexion à distance via Apollo / Artemis
Ces deux logiciels demandent une configuration spécifique, mais permettent une connexion à distance à très faible latence.
Mis à part un léger ping, la différence avec un bureau local est minime.
L’objectif final est de désactiver totalement les affichages Hyper-V et RDP, pour n’utiliser qu’Artemis comme interface distante principale.
Autologon
L’outil Autologon (lien plus haut) permet de configurer l’ouverture automatique d’une session utilisateur au démarrage de Windows.
Cela évite d’avoir à se connecter manuellement via Hyper-V.
Lors de l’exécution d’Autologon, entrer les identifiants de l’utilisateur de la VM :

Cliquer sur Enable, puis redémarrer la machine.
La session s’ouvrira automatiquement au prochain démarrage.
Configuration d’Apollo
Télécharger le dernier installateur depuis le dépôt GitHub.
Apollo est le serveur de streaming pour Artemis.
Lors de l’installation, cocher toutes les options proposées.
Une fois installé, ouvrir le dossier suivant :
1 | C:\Program Files\Apollo\scripts |
Exécuter en administrateur les scripts suivants, dans cet ordre :
add-firewall-rule.bat
Ensuite, désactiver le service Apollo car il s’exécute sous un mauvais utilisateur et au mauvais moment.
Dans le Service Manager, mettre le service en mode Manual et le stopper.
Tâche planifiée pour Apollo
Créer une tâche planifiée dans le Task Scheduler pour démarrer Apollo automatiquement à l’ouverture de session :
Name : Start Apollo Server
Description : Démarrage interactif du serveur Apollo pour la connexion via Artemis
User : User (le compte Windows de la VM)
Run only when user is logged on : coché
Run with highest privilege : coché
Configure for : Windows 10 (ou version la plus récente)
Trigger : At log on of Any User
Action : Start a program →
"C:\Program Files\Apollo\sunshine.exe"Condition : décocher Start only if the computer is on AC power
Settings :
- Cocher Allow task to be run on demand
- Cocher Run task as soon as possible after a scheduled start is missed
- Cocher If the task fails, restart every 1 minute (attempt 100 times)
- Décocher Stop the task if it runs longer than…
Configuration dans l’interface web Apollo
Depuis le navigateur, accéder à :
https://localhost:47990
- Connecter le client Artemis en sélectionnant le bon serveur.
- Entrer le PIN affiché dans Apollo pour appairer les deux.
- La machine devrait apparaître comme ceci :

Paramètres essentiels
Activer impérativement l’option Always Create Virtual Display, sinon Apollo risque d’utiliser l’écran virtuel Hyper-V de mauvaise qualité :

Paramètres recommandés :
- General → Server Name :
GPU01 - Audio / Video → Headless Mode : coché (important)
Dupliquer la VM
Si la machine virtuelle contenant le serveur Apollo est dupliquée, il faut regénérer les fichiers cryptographiques et de status d’application pour regénérer une nouvelle identité. Simplement effacer les fichiers:
Apollo\config\credentials\*Apollo\config\sunshine_state.json
Ensuite redémarrer la VM et l’identité sera toute neuve !
Note sur les écrans physiques
J’ai constaté certains problèmes lorsque aucun écran n’était connecté à la carte graphique physique, même si elle est utilisée dans une VM.
Pour cette raison, je garde un écran branché sur la GPU, ce qui permet au décodeur NVIDIA de fonctionner correctement.
Redémarrer ensuite la machine : la connexion à Apollo via Artemis devrait se faire sans aucun problème.
- Title: Windows GPU-P + Apollo / Artemis Headless
- Author: Nicolas Schmid
- Created at : 27.10.2025 22:34:00
- Updated at : 28.10.2025 11:13:56
- Link: https://doc.spacesdata.net/2025/10/27/Windows-GPU-P/
- License: This work is licensed under CC BY-NC-SA 4.0.