J’ai récemment réinstallé mon portable sous un Windows 2008 R2 pour faire différents POC. A terme, j’ai installé Hyper-V et, comme je m’y suis habitué, en ais fait mon OS principal. Le drame est arrivé quand j’ai installé les pilotes ATI : invariablement un blue screen au démarrage. Le workaround s’est présenté en installant la beta du SP1 de 2008 R2 (corrige aussi les BSoD qui peuvent arriver parfois avec NVIDIA). J’ai sauté sur l’opportunité pour tester ce qu’apporte le SP1 à Hyper-V, à savoir Dynamic Memory et RemoteFX.
Si on peut aisément deviner ce qu’apporte Dynamic Memory (une allocation dynamique de la mémoire aux VM), le plus amusant reste RemoteFX. Concrêtement, cette fonctionnalité permet aux VM de bénéficier de l’accélération 3D fournie par l’hôte (certes, une NVIDIA dans un serveur Hyper-V peut faire sourire mais pourquoi pas). Le deuxième point intéressant : on peut bénéficier de cette accélération à distance, à travers une connexion RDP (pour peu que le client soit lui aussi SP1) !
Je me suis donc mis en quête d’un défi intéressant à ces 2 nouvelles fonctions. Sans me contenter d’un “Aero hello world”, je suis arrivé au stress test ultime avec le cas suivant :

Jouer à Starcraft 2… dans une VM… accédée par connexion RDP ! Et ca marche :

En résultat, j’ai pu jouer un peu mais force est de constater que le SP1 est encore une béta et que 512 de RAM sur une ATI de portable, c’est peu
.
Voici les étapes à parcourir pour pouvoir en faire de même (partant du postulat qu’Hyper-V est déjà installé) :
1. Récupérer le SP1
Actuellement en béta, on peut le trouver par TechNet, par exemple :


Attention, toutefois, c’est du lourd ! 536MB pour Windows 2008 R2 et une bonne demi heure pour l’installation !

2. Dynamic Memory
C’est clairement le plus facile à activer. Depuis la console d’administration d’Hyper-V, il faut configurer une VM dans sa page de propriétés :
Par défaut, la mémoire allouée est la valeur statique définie à la création de la VM. Pour bénéficier d’une allocation dynamique, il faut choisir Dynamic (duh) puis définir les seuils minimaux et maximaux. Ainsi, au besoin, la VM se verra allouer la mémoire dont elle a besoin entre ces deux marges.
Enfin, on peut définir des niveaux de priorisation des VM quand la mémoire sera allouée. Dans mon cas, je n’avais qu’un POC donc j’ai laissé les valeurs par défaut.
N.B: Cette fonction ne sera effective que si l’OS de la VM est lui aussi en SP1 ! Dans le cas contraire, la valeur statique sera utilisée.

Dans la pratique, on peut voir le résultat de l’allocation dans la console Hyper-V :

3. RemoteFX
Il s’agit clairement du plus pénible à installer car il est lié à Remote Desktop Services. Donc il faut installer ce dernier pour pouvoir ensuite ajouter le composant nécessaire depuis le Server Manager :

La partie RemoteFX de Remote Desktop ne consiste qu’en une case à cocher, le reste n’est que de la plomberie (configuration de serveur de licensing, permissions de logon…).
Une fois ceci fait, de retour dans Hyper-V, on peut maintenant ajouter un nouveau périphérique à notre VM : “RemoteFX 3D Video Adapter” :

On peut aussi configurer le nombre de moniteur que ce pilote va utiliser ainsi que sa résolution maximale. Le principal désagrément de ce pilote est qu’il va désactiver l’affichage de la fenêtre Virtual Machine Connection une fois que Windows aura fini de charger. Pour pouvoir interagire avec notre VM, on devra donc passer par Remote Desktop Connection (ce qui, au final, était le but). Il faut quand même bien penser à connaitre l’IP de la machine (ou son nom d’hôte), faute de quoi un petit reboot en mode sans échec avec prise en charge du réseau sera la seule possibilité de pouvoir se logguer et/ou reparamétrer sa VM depuis Virtual Machine Connect.

N.B: Les pilotes d’accélération 3D ne fonctionnent actuellement que pour Windows 7 (et probablement Vista). Je n’ai pas réussi à les faire fonctionner sous une VM 2008 R2.
Bref, il s’agit d’une bien belle innovation et, d’ici à imaginer du “Cloud gaming”, il n’y a qu’un pas
.