web-dev-qa-db-fra.com

Existe-t-il une machine virtuelle avec un accès direct au processeur et au processeur graphique pour les jeux?

Désolé pour la longue question.

Avec l’arrivée de Steam pour Linux, j’ai peut-être été trop optimiste et je me suis débarrassé de l’installation de Windows. Le problème est que j'ai environ 100 jeux Steam qui ne sont pas (et ne seront peut-être jamais) portés sur Linux. Quoi qu'il en soit, je suis fatigué du double démarrage et les solutions Wine (wineprefix et playonlinux) ne fonctionnent pas toujours. Je me demandais donc s’il existait une solution permettant d’utiliser une machine virtuelle (ou quelque chose de similaire) avec un accès direct aux spécifications matérielles afin d’y exécuter des jeux Windows. (quelque chose comme ce que fait Parallels sur mac). Réinstaller Windows n’est pas un problème énorme, mais j’espérais l’éviter car j’aimerais utiliser Ubuntu comme système d’exploitation quotidien avec des distributions plus "difficiles" ... pour en savoir plus sur Linux.

Edit: Merci pour toutes vos réponses: je vais réfléchir à la solution que vous avez proposée. Honnêtement, à ce jour, je n'ai jamais entendu parler de Xen, je vais donc devoir en prendre connaissance ... et peut-être acheter une nouvelle carte graphique ... et un nouveau moniteur. Je pense que je vais finir par réinstaller Windows sur l'un de mes lecteurs ... C'est dommage cependant. Merci encore.

10
psylockeer

La réponse courte est: Non.
La réponse la plus longue est: Pas encore ...

Le support 3D de VBox compte à peine. Il fournit un support 3D mais aucune performance. VMWare semble pour effectuer beaucoup mieux (notez que le benchmark est sur un Mac) et que cela pourrait être jouable. L'inconvénient ici est un gros tas d'argent (je ne suis pas sûr de savoir à quoi ressemble le support 3D dans leurs offres gratuites).

Mais si vous souhaitez tirer le meilleur parti de votre matériel pour les jeux uniquement Windows, il n’existe qu’une solution: démarrer sous Windows. J'ai peur de dire que ce sera probablement toujours le cas pour ce sous-ensemble de jeux.

Les seules autres solutions presque acceptables disponibles:

  • Fight Wine (quand ça marche, ça marche vraiment bien)
  • Achetez une console.
  • Faites pression sur le développeur pour un port.

Toutes sortes de technologies de serveur peuvent filtrer à travers in time:

  • Nvidia + Vmware travaillent sur une plate-forme de jeu virtualisée à plusieurs têtes mais honnêtement, je ne m'attends pas à ce que ce niveau d'intégration soit entre les mains des consommateurs pour une autre décennie, voire plus. Les fabricants de graphismes veulent que nous achetions des dizaines et des dizaines de cartes et la virtualisation nuit à cet objectif.

  • Vous pouvez l'inverser et disposer d'un hôte Windows Server VM et paravirtir un bureau Ubuntu, avec de la 3D partagée, mais encore une fois, je ne suis pas certain de la qualité des performances. Et c'est une tonne d'argent à faire légalement. Le bureau-hôte n'est pas aussi bon du tout.

  • Xen ne paravirtera pas avec une installation Windows, il est donc inutile de s'y intéresser pour le moment. Il comporte des modules de passerelle PCI et VGA, mais ils sont verrouillés sur un VM et vous devez donc disposer d'une carte graphique pour chaque installation. Urgh.


Remarque: je ne parle ici que de graphiques 3D car les autres problèmes sont résolus ou presque résolus. La virtualisation du processeur est mature avec la paravirtualisation et des extensions de processeurs telles que Intel VT-x et AMD-V. La bande passante périphérique est une bande passante assez basse, donc facile à partager.

Les graphiques sont à la traîne parce que les partager de la manière dont nous parlons n'est pas une nécessité commerciale pour les fabricants. Cependant, il semble que cela se passe (pour les fermes de rendu haut de gamme et la consolidation de stations de travail sur serveur), surveillez donc cet espace.

11
Oli

Si votre matériel et votre logiciel prennent en charge IOMMU (également appelé passerelle PCI, AMD-Vi et Intel VT-d), vous pouvez affecter des périphériques d’E/S (par exemple, la carte graphique) à des ordinateurs virtuels. .

Sur les versions actuelles d'Ubuntu, vous pouvez utiliser Xen , à condition que votre carte mère et votre processeur prennent en charge IOMMU.

J'utilise actuellement un ordinateur Windows 7 VM avec deux GPU AMD 7950, et cela fonctionne très bien pour les jeux et l'extraction de Bitcoin/Litecoin.

Tutoriels, etc.:

Notez que vous pouvez utiliser le GPU dans cette VM si vous le transmettez.

7
Dennis

Votre Windows VM fonctionne principalement sur du matériel émulé. Ce matériel est généralement relativement simple.

Ayant dit cela:

  1. Il est possible d'émuler des fonctions 3D. Les performances sont généralement médiocres et, parfois, elles ne fonctionnent pas comme prévu. (Par exemple, exécuter Baldur's Gate 1 avec l'accélération 3D activée dans VMware Workstation 8 bloque tout mon hôte. Pas seulement la VM). Cela s’améliorera avec le temps pour tous les ordinateurs virtuels.
    En fait, vmware workstation 9 prétend améliorations significatives, mais je n’ai pas encore testé cette version. Je sais que 5,5 et 8 ne suffisaient pas.
  2. Au lieu d'émuler, vous pouvez accéder directement au matériel à partir d'une machine virtuelle. Le mot clé est PCI [e] passtough. Cette fonctionnalité est généralement utilisée pour transmettre des cartes spéciales, des cartes réseau 10 Gbit, etc., mais elle devrait également fonctionner pour les cartes graphiques. Notez que l’utilisation d’une carte uniquement pour la VM. Avec les cartes graphiques, cela signifie qu’il faut utiliser une deuxième carte graphique pour la machine virtuelle.
3
Hennes

Essayez Gaming Anywhere . Ce n'est pas exactement une machine virtuelle, mais plutôt une solution de jeu open source, mais vous pouvez tout de même diffuser l'intégralité de votre bureau ou de vos jeux.

0
Luke

Lorsque vous dites "accès direct au matériel", vous ne parlez plus de machines virtuelles, vous parlez de machines réelles. Pour un accès direct aux jeux Windows, vous aurez besoin de Windows.

0
Jason

Avez-vous essayé Virtual Box ? Par liste de fonctionnalités en cours de lecture il semble qu'il a ce qu'il vous faut ... un accès au processeur graphique et au processeur.

0
JackLock