Virtualisation de poste et accélération graphique, étude de cas
Voici le compte-rendu d’une expérience que j’ai réalisée pour voir un peu où en était la virtualisation sous Windows d’un système d’exploitation GNU/Linux et plus particulièrement la prise en charge de l’accélération graphique. Un questionnement lié à mon éternel problème de support de la technologie Nvidia Optimus par les systèmes d’exploitation libre.
L’expérience interdite : virtualiser GNU/Linux sous Windows
Je suis à ce jour « bloqué » sur ma Fedora 15 qui est le seul système d’exploitation libre sur lequel j’ai pu à la fois combiner un fonctionnement stable et le support de la technologie Nvidia Optimus qui me permet d’utiliser l’accélération graphique requise par certains logiciels que j’utilise.
Un blocage qui n’est en soi pas dramatique. Mis à part un plantage plus ou moins mensuel (probablement dû à un problème d’affichage d’ailleurs) de ma session Gnome, je n’ai aucun reproche à lui faire. J’utilise toujours la même version du noyau Linux et de Bumblebee depuis. Pour rappel, Bumblebee c’est ce projet qui m’a permis d’obtenir le support d’Optimus sur mon portable.
L’histoire de ce projet ne s’arrête pas d’ailleurs et connait une évolutions positive depuis sa prise en main pas une communauté plus large avec notamment la sortie d’une version 3.0 que je suis en train de tester sur une Debian Squeeze. Un futur retour sous Debian ? Vous le saurez bientôt…
Mais revenons-en à l’expérience qui consiste à virtualiser un système d’exploitation, en l’occurrence une Fedora 16 sous Windows, et à tester les performances graphiques. Une expérience dont j’avoue me douter du résultat à l’avance. Mais comme je dis souvent, en ce moment, on ne sait jamais, il faut essayer…
VitualBox
J’utilise la partition de mon portable équipé du Windows Seven 64 bits lié à ce dernier. Je procède à l’installation de VirtualBox désormais porté par Oracle et crée une machine virtuelle pour Fedora 64Bits. Dans la configuration de la carte graphique de ma machine virtuelle, j’active les options d’accélération 3D.
Suite à l’installation, le premier lancement de la Fedora me redirige sur la session « Fallback » de secours de Gnome 3. Un signe que le support graphique est déjà problématique. A cela, rien de vraiment étonnant, il faut encore installer les « Add-ons » invités. Il s’agit de pilotes spécifiques pour VirtualBox et le système d’exploitation virtualisé pour notamment la prise en charge de l’affichage.
Leur mise en oeuvre nécessite de disposer du « petit nécessaire de compilation ». On l’obtient sous Fedora, en installant le groupe « Development Tools » par la commande yum groupinstall « Development Tools ». Il faut ensuite lancer le binaire, qui est fourni par sur un CD virtuel, en activant l’option dans VitualBox « Ajout des add-ons invités ».
Au redémarrage, Gnome3 accepte de se lancer. Un progrès évident. Premier test avec la commande glxgears et première surprise. Les résultats sont équivalents à ceux obtenus sur ma partition Fedora non virtualisée avec la carte Nvidia activée.
Je décide de pousser le test, en installant le logiciel FireStorm qui permet d’accéder à des univers virtuels basés sur Second Life ou des outils open source comme OpenSimulator ou Aurora. Ce logiciel effectue un rendu en trois dimensions comme dans des jeux vidéo et permet d’exploiter pleinement une bonne carte graphique.
Là on revient à la réalité, le logiciel plafonne à trois images par seconde au lieu des 20 à 30 que j’obtiens habituellement avec Bumblebee. Fin de l’expérience pour VirtualBox.
Vmware workstation
Je suis un garçon obstiné avec tous les mauvais défauts qui vont avec. Je télécharge donc une version d’évaluation de Vmware Worksataion 8.0. Mon arrière pensée est évidente, si un logiciel open source ne peut le faire alors le logiciel propriétaire (ou privateur) doit en être capable.
Je procède donc à la même opération toujours avec une Fedora 16. J’installe l’équivalent des « Add-ons invités » pour Vmware, ce qui implique aussi une petite compilation pour les installer.
Au redémarrage et malgré cela, Gnome3 refuse toujours de se lancer. Un point pour VitualBox et l’open source qui fait mieux. Glxgears donne toujours un résultat flatteur, mais FireStorm nous ramène à la réalité avec environ trois images par seconde.
Une conclusion ?
Je laisse tomber l’idée d’avoir recours à la virtualisation pour profiter des performances de ma carte graphique sans utiliser Bumblebee. Je ne saurais dire si ce test est réellement probant et certains d’entre vous ont peut-être eu plus de succès sur des expériences de ce type.
Je ne suis pas un spécialiste de la question de l’accélération graphique et des librairies ou composants mis en œuvre. Peut-être certains logiciels sont-ils mieux adaptés à cette façon de faire?! Il me semblait qu’il y avait des possibilités autour d’OpenGL notamment. Pourtant un logiciel comme Firestorm l’utilise, difficile donc d’expliquer les résultats.
Vos retours d’expérience sont évidement les bienvenus.
Bonjour,
Dommage que tu ne l’ai pas fait dans l’autre sens le test 🙂
Ça me rappelle le prototype d’Ubisoft Montreal qui faisait tourner 2 Windows XP sous Xen avec accès direct chacun à l’une des 2 cartes graphiques avec quasiment aucune perte de performance. Une piste à suivre…
http://www.phoronix.com/scan.php?page=news_item&px=OTY2NA
Bonjour,
J’ai fais l’expérience inverse, windows XP sur Ubuntu par virtualbox. Le constat est le même, malgrès une carte peu récente (GeForce 6200), impossible de jouer, la prise en charge 3D étant vraiment minimaliste. J’ai testé avec le même jeux en ligne, disponible sous les deux plateformes, et ne demandant pas une grosse configuration. Sous Ubuntu avec pilote propriétaire Nvidia, OK, avec pilote libre, même résultat que XP virtualisé.
Bonjour,
Je suis moi aussi dans ce cas de figure sur une machine W7 utilisée quotidiennement par ma femme et ma fille, et une VM sous VMware Workstation 8.0 avec une Mandriva 2010.2 pour moi, qui fonctionne parfaitement. Comme je ne suis pas joueur, cela ne me gène pas de ne pas avoir d’accélération 3D.
J’interviens surtout pour dire qu’il n’y a pas de honte à fonctionner de cette façon.
Et je dirais que l’inverse ne sert pas à grand chose si l’utilisation de Linux est déjà quotidienne. A part évidemment pour des tests sur Windows. Mais pour un fonctionnement courant dans un foyer, si la famille n’est pas habitué à Linux, c’est bien le seul moyen pour travailler malgré tout sous une distribution Open GL lorsque l’on a qu’une machine.
PS: J’ai aussi testé avec VirtualBox mais j’ai abandonné à cause des mises à jour trop nombreuses qui me rendaient ma VM inutilisable 9 fois sur 10 et qui m’imposaient une réinstallation complète. L’avantage de VMware est sans conteste sa stabilité.