Aller au contenu

Xen, double système Windows/Linux et accélération graphique


guildem

Messages recommandés

Bonjour à tous,

Je vais vous exposer un cas pratique, assez spécifique, pour savoir si actuellement il serait possible de faire ce que je souhaite.

J'ai un PC plutôt robuste (AMD X6, 8Go de RAM, NVidia 8800 GTS).

Je bosse beaucoup sous Linux (job principal, job secondaire, divertissements, vidéo), et je suis aussi obligé d'être sous Windows (jeux Steam, MAO).

L'idéal serait d'avoir un PC qui, lorsque j'appuie sur le gros bouton, me démarre un Linux et un Windows, chacun avec 3 cores et 4Go de ram par exemple, avec un seul clavier, une seule souris, mes 2 écrans pour l'un ou l'autre des systèmes, et un switch entre les 2, genre un raccourci clavier.

Dans la pratique, les contraintes sont les suivantes : avoir 2 systèmes qui bootent en même temps, avoir un clavier et une souris pour les 2, définir quel système s'affiche, mais surtout (la chose que je regarde régulièrement depuis plusieurs années) pouvoir utiliser les capacités de ma carte graphique sur Windows (jeux) et sur Linux (vidéo et 3D). Problème supplémentaire, avoir un accès totale au potentiel de ma carte son (Studio 22 Pro) sous Windows pour faire tourner les drivers ASIO 2, mais ça, ça devrait fonctionner, vu qu'elle est en USB2).

Pour la problèmatique de la carte graphique, j'ai vu ça dernièrement : http://wiki.xen.org/xenwiki/XenVGAPassthrough

Si j'ai bien compris, on peut donc faire un pont pour que la carte graphique principale soit directement prise en charge par une des VM, avec toute l'accélération et les accès directs qui vont bien. Dans les points négatifs, j'ai noté que, si j'ai bien lu, seuls les chips Intel sont compatibles pour le moment (ce qui serait logique vu le lien d'Intel avec GNU/Linux), et lié seulement sur UNE machine. De plus, je ne sais pas si une machine Windows saura le gérer...

Pour les autres problèmes, je pense que tout est gérable... Avec quelques bidouilles !

Dans l'absolu, une machine Windows avec une utilisation correcte (Utilisation d'ASIO2, utilisation d'Aéro, ...) et une machine Linux optimisée (Accélération graphique totale) serait top, je jouerai sur une autre machine dans ce cas... Mais là encore, avec un chip NVidia, je doute...

Avez vous des remarques, des suggestions, des liens, ou autres à me proposer ?

Je vous remercie par avance pour l'aide que vous pourrez m'apporter :)

Bonne fin de journée à vous

Edit: bon en fait, ya des patchs pour NVidia et AMD, mais pas trouvé ceux qui étaient déjà implémenté dans le 3.0 et 3.1 de Linux. Et cette vidéo montrant une 8400GS en guest qui utilise le passthru : http://blog.xen.org/index.php/2009/09/10/updated-vga-passthrough-video-demonstration/

Edit2: il semble qu'il y ait plein de choses de faites, à voir cette vidéo :

et les explications ne semblent pas trop complexes...

Il me faudrait donc XEN-ifier mon ArchLinux (mais si le noyau 3.0 contient déjà XEN et quelques patchs, ça devrait être simple je pense), et patcher ma NVidia pour faire marcher le XenVGAPassThru sur Windows ?

Il me semble quand même qu'il me faudrait 2 cartes graphiques, et c'est là qu'un problème se pose, j'ai besoin de mes 2 écrans sous Linux ET de mes 2 écrans sous Windows... et là je pense que je vais être limité par les avancées actuelles, à part brancher 2 fois chacun de mes écrans... Mais il restera aussi le problème du clavier/souris, qui pourrait être géré par un Synergy bien réglé, mais ça reste un peu trop bidouille. Je progresse (sur la théorie !)

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Je n'ai pas d'aide a te donner, car je ne suis plus du tout a jour sur ce domaine, mais ta démarche me rappelle ce que j'avais voulu faire il y a quelques années.

Je n'avais pas pu le faire, faute de possiblité technique a l'époque.

Mais a l'époque, il me semble, que la solution qui m'avait été donné était de doubler la carte graphique, pour en avoir une sur chaque VM.

En tout cas, je vais suivre ce Topic :-)

Bon courage !!!

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je ne crois pas qu'il soit possible d'obtenir exactement ce que tu désires (2 OS qui démarrent simultanément, et sont ensuite indépendants en se partageant chacun la moitié des ressources du PC).

En revanche, il est possible de démarrer un OS, puis un autre dans une machine virtuelle. Il est alors ensuite possible de placer la machine virtuelle sur un écran, et de garder l'OS hôte seul sur l'autre écran.

Concernant l'accélération graphique matérielle, VirtualBox la gère dans une certaine mesure. J'ai par exemple une Gentoo 64b installée dans une machine virtuelle VirtualBox sur mon Windows 7 x64, et Compiz fonctionne sans soucis tout comme l'accélération des vidéos dans VLC par exemple. En revanche je ne suis pas sur que 100% des instructions soient supportées, mais en tous cas au moins une partie c'est sur.

Pour l'inverse, à savoir une machine virtuelle Windows sur un host Linux, il me semble que seul OpenGL est géré (pas DirectX). A vérifier, mais il me semble bien...

Voilà, je ne sais pas si ça répond vraiment à ton besoin, mais je ne pense pas qu'on puisse faire beaucoup mieux à l'heure actuelle.

Note : J'ai un SLI de GTX480, donc ça marche très bien avec des cartes Nvidia. Mais ça doit marcher pareil je pense avec des AMD ou des chipsets Intel...

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Je n'ai pas d'aide a te donner, car je ne suis plus du tout a jour sur ce domaine, mais ta démarche me rappelle ce que j'avais voulu faire il y a quelques années.

Je n'avais pas pu le faire, faute de possiblité technique a l'époque.

Mais a l'époque, il me semble, que la solution qui m'avait été donné était de doubler la carte graphique, pour en avoir une sur chaque VM.

En tout cas, je vais suivre ce Topic :-)

Bon courage !!!

En fait, je suis certain que tout deviendra possible, mais c'est toujours difficile de me tenir à jour sur tout ;)

Je pense qu'on est très proche maintenant de ce que je souhaite faire, et j'apporterai des ajouts a mon topic suivant ce que je trouve.

J'espère que j'y arriverai !

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je ne crois pas qu'il soit possible d'obtenir exactement ce que tu désires (2 OS qui démarrent simultanément, et sont ensuite indépendants en se partageant chacun la moitié des ressources du PC).

En revanche, il est possible de démarrer un OS, puis un autre dans une machine virtuelle. Il est alors ensuite possible de placer la machine virtuelle sur un écran, et de garder l'OS hôte seul sur l'autre écran.

Concernant l'accélération graphique matérielle, VirtualBox la gère dans une certaine mesure. J'ai par exemple une Gentoo 64b installée dans une machine virtuelle VirtualBox sur mon Windows 7 x64, et Compiz fonctionne sans soucis tout comme l'accélération des vidéos dans VLC par exemple. En revanche je ne suis pas sur que 100% des instructions soient supportées, mais en tous cas au moins une partie c'est sur.

Pour l'inverse, à savoir une machine virtuelle Windows sur un host Linux, il me semble que seul OpenGL est géré (pas DirectX). A vérifier, mais il me semble bien...

Voilà, je ne sais pas si ça répond vraiment à ton besoin, mais je ne pense pas qu'on puisse faire beaucoup mieux à l'heure actuelle.

Note : J'ai un SLI de GTX480, donc ça marche très bien avec des cartes Nvidia. Mais ça doit marcher pareil je pense avec des AMD ou des chipsets Intel...

Merci pour tes informations.

Bien sur, je ne suis pas trop rigide, et si je dois démarrer Linux, puis dans Linux démarrer Windows, je n'en ferai pas une maladie.

Dans mes obligations il faut obligatoirement que Linux soit constamment démarré. Si Windows démarre plus tard... bah tant pis, ça économisera un peu ma facture d'électricité :D

Et sinon, une machine virtuel du genre de VirtualBox est bien pour faire des tests, mais pour être vraiment en full puissance tout le temps, ça devient lourd d'utilisation... La paravirtualisation de Xen (ou autres) est plus puissante et permet de profiter au mieux du système.

Dans mon idée, je me voyais bien avec un Linux XEN-ifié, et un Windows... qui démarrerait donc plus tard.

Lien vers le commentaire
Partager sur d’autres sites

Bon, du nouveau avec ce lien : http://www.phoronix.com/scan.php?page=news_item&px=OTY2NA

En gros, avec mon Phenom X6 je n'irai pas loin, car seul les archi Intel VT-d / IOMMU sont supportées.

En revanche, que ce soit Intel, Nvidia ou AMD, la majorité des cartes graphiques sont supportées.

Mais seule la carte principale peut être passée à une VM, donc il faut (je pense) que le Dom0 tourne sur une carte secondaire ?

Là aussi, l'obligation de brancher doublement mes écran sera évidente, si je commence à parler de 2 cartes graphiques.

En tout cas, je suis content de voir que tout cela avance, disponible depuis avril grace à Xen 4.0 et son support du XenVGAPassThrough.

Lien vers le commentaire
Partager sur d’autres sites

De quoi apporter de l'eau a ton moulin :

http://linuxfr.org/users/sebastienb/journaux/jouer-aux-jeux-windows-sous-windows-sous-linux

En gros ca arrive ..

Merci pour ce lien, j'étais passé à coté.

Donc d'après ton article, le noyau 3.1 devrait contenir les patch nécessaires pour faire fonctionner tout ça.

Cool, vivement qu'il soit posé sur ArchLinux, si j'ai bien lu mes news, le 3.1 est sorti ces jours ci :)

Sinon, une nouvelle vidéo d'une carte mère qui ne correspond pas exactement à mes attentes, car j'ai besoin de puissance sur les 2 systèmes, mais qui peut être intéressante dans mon salon pour un double pc home cinéma / console de jeu :

A suivre...

Lien vers le commentaire
Partager sur d’autres sites

Apperement c'est déja fonctionel: VIDEO :-)

J'étais passé à coté de celle là ! Merci FearBlue !

Bonbonbon, il va falloir que je teste ça rapidement, le but étant de ne pas démolir mon PC, ni de patcher trop de choses...

Je vais donc attendre le noyau 3.1 sur ArchLinux, et je fais des tests, puis je reviens vers vous :D

Lien vers le commentaire
Partager sur d’autres sites

Pourquoi ne pas virtualiser ton windows à partir de ta distrib linux ? C'est beaucoup plus simple, et la gestion de carte graphique s'est améliorée, même s'il en reste encore pas mal à faire.

Parce que je veux un accès réel à ma carte graphique, que j'ai besoin d'un peu plus de puissance (VirtualBox est génial pour des tests, mais pas pour profiter de la toute puissance d'un multi-core), et que les jeux avec Wine ou sous VirtualBox, c'est vraiment (mais alors vraiment) pas ça, surtout en 1080p :D

(et aussi parce que je suis un geek curieux et aventurier qui aime bien bousiller ses machines avec des idées alakon)

Lien vers le commentaire
Partager sur d’autres sites

Tu as d'autres solutions que VirtualBox, mais payantes. Au niveau puissance, c'est justement plus souple, t'as besoin de ton windows tu le démarres rapidement, plus besoin, hop tu le coupes et en plus tu récupères toute ta ressource. Après au niveau de la gestion de la carte graphique :/ c'est là où il y a eu des progrès, mais est-ce réellement suffisant ?

Cela m'intéresse, car je cherche à basculer sous linux, tout en ayant un windows virtualisé avec la possibilité justement de jouer, sans passer par wine et Cie.

Lien vers le commentaire
Partager sur d’autres sites

Au dela de toutes considérations de licences, n'est-ce pas plus simple, vu que c'est le windows qui est dédié au jeu (et qui nécessite le plus de puissance brute) d'utiliser un Win2008R2 (en installant les additions directX et expérience avancée) avec HyperV et virtualiser le linux?

Ensuite un serveur X sous Windows peut faire l'affaire pour utiliser le linux...

Je dis ça car, pour moi, c'est quand même la solution la plus simple. Le passthru, j'en ai mangé et c'est encore loin d'être stable (car entre fonctionnel et stable, y'a un monde quand même).

Lien vers le commentaire
Partager sur d’autres sites

Au dela de toutes considérations de licences, n'est-ce pas plus simple, vu que c'est le windows qui est dédié au jeu (et qui nécessite le plus de puissance brute) d'utiliser un Win2008R2 (en installant les additions directX et expérience avancée) avec HyperV et virtualiser le linux?

Ensuite un serveur X sous Windows peut faire l'affaire pour utiliser le linux...

Je dis ça car, pour moi, c'est quand même la solution la plus simple. Le passthru, j'en ai mangé et c'est encore loin d'être stable (car entre fonctionnel et stable, y'a un monde quand même).

j'ai besoin du Linux allumé h24 pour des traitements... donc Windows dans Linux obligatoire pour moi si virtualisation

Lien vers le commentaire
Partager sur d’autres sites

Le plus simple ça reste d'acheter un deuxième PC à mon avis :transpi:...

C'est LA solution de simplicité oui. Avec des fonds illimités, rien d'impossible pour résoudre les problèmes :D

Je mettrai mon second PC MAO dans une pièce dédiée et insonorisée, avec mes instruments, une table de mixage, et un petit canapé à coté.

Dans le monde réel, soit je me prend un autre PC et pirate mes logiciels de MAO, soit je bidouille mon premier PC et achète ces logiciels.

De plus, impossible de loger 2 autres écrans et une autre paire d'enceintes dans ma pièce sans pousser les murs :D

Enfin, un petit défi de temps en temps stimule les neurones ^^

Bref : il faut que je teste Xen 4.1 et ses patchs sur un noyau Linux 3.1 !

Lien vers le commentaire
Partager sur d’autres sites

Je dis ça car, pour moi, c'est quand même la solution la plus simple. Le passthru, j'en ai mangé et c'est encore loin d'être stable (car entre fonctionnel et stable, y'a un monde quand même).

J'avais zappé cette phrase, quelle est ton expérience sur le passthru ?

Lien vers le commentaire
Partager sur d’autres sites

Au dela de toutes considérations de licences, n'est-ce pas plus simple, vu que c'est le windows qui est dédié au jeu (et qui nécessite le plus de puissance brute) d'utiliser un Win2008R2 (en installant les additions directX et expérience avancée) avec HyperV et virtualiser le linux?

Ensuite un serveur X sous Windows peut faire l'affaire pour utiliser le linux...

Je dis ça car, pour moi, c'est quand même la solution la plus simple. Le passthru, j'en ai mangé et c'est encore loin d'être stable (car entre fonctionnel et stable, y'a un monde quand même).

j'ai besoin du Linux allumé h24 pour des traitements... donc Windows dans Linux obligatoire pour moi si virtualisation

Et qu'est-ce qui t'empèche d'avoir un linux virtualisé H24 dans ton Windows HyperV? Je ne vois pas où est le problème... il suffit de le mettre à "Quand Windows démarre, démarrer la VM Linux".

Je dis ça car, pour moi, c'est quand même la solution la plus simple. Le passthru, j'en ai mangé et c'est encore loin d'être stable (car entre fonctionnel et stable, y'a un monde quand même).

J'avais zappé cette phrase, quelle est ton expérience sur le passthru ?

Des expériences avec mon matos, sous du Xen et de l'HyperV-R2, mais j'ai arrêté depuis 2-3 mois:

- carte graphique HD2000 intégrée au I5 2400S ou NVidia 8800GTS (j'avais que ça sous la main): Impossible de faire marcher correctement quoi que ce soit. Le moindre accès I/O ralenti inexorablement l'intégralité des autres VMs.

- carte réseau Intel PRO1000C: parfaitement fonctionnelle. Il faut dire que cette carte réseau est certifiée pour la virtualisation par Intel. Cependant, je me retrouve avec une installation moins compliquée à travers le gestionnaire réseau classique d'HyperV, même si j'ai une perte liée à l'absence de QoS matérielle (que j'ai compensé avec une QoS par VLan).

- carte tuner TNT (oui oui): Marchais plutôt bien, mais j'ai trouvé une autre solution moins économique mais vramient beaucoup plus stable, qui permet de renvoyer des tuners par réseau.

Après, je dis pas que c'est pas réalisable, je me dis juste que ce n'est pas un fonctionnement serein et que l'hyperviseur n'est peut être pas forcément rodé à supporter des accès I/O directement fait par des pilotes bien souvent fait comme de la merde.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...