{"partition": "head_middle", "source_domain": "www.numerama.com", "digest": "sha1:QCTZ3WP3TUUYBV5GJFX6ZCV54KAHOCRR", "path": "/lustre/fsn1/projects/rech/qgz/uzq54wg/processed_redpajama/base_processing/output/fr/2014-15/000_00007.parquet"}
Technologie de Virtualisation (résolu)
virtuel
Inscrit le messages publiés
Celestus
, sujet ouvert le 21/02/2007 à 20:40
Bonsoir.
Je me permets d'ouvrir ce topic pour informer les moins au courant que moi et pour vous demander des compléments d'information sur ce thème au travers de 2 questions.
Ce topic comportera sûrement des erreurs de vocabulaire, je ne suis guère informaticien.
Je l'ai surtout ouvert pour pouvoir enrichir mes connaissances sur ce sujet.
J'ai placé ce topic sous Linux car je trouve que les technologies de virtualisation Linux sont bien plus performantes que celles de Windows (Virtual PC 2007 ).
Il y a peu de temps, l'industrie du Processeur a développé certaines fonctionnalités permettant de faire appel à une technologie splendide, celle de la virtualisation .
La virtualisation permet de créer des PCs virtuels, voir des carrément des réseaux de PCs virtuels, dont on définit les caractéristiques (quantité de Disques Durs, quantité de RAM, Fréquence CPU, GPU, etc.), et sur lesquels ont installe un autre système d'exploitation.
J'ai personnellement testé cette technologie avec un ami, lors de ces débuts sur mac, et force nous a été de constater qu'un PC virtuel sous Windows XP était parfaitement pris en charge sous macintosh (MacOS Tiger), technologie tout de même très différente.
Nous avons ainsi joué à Half-Life 2 et Morrowind sous Mac, et ces jeux ont été parfaitement pris en charge alors que c'était inimaginable quelques années auparavant.
Cette expérience m'a conduit à me poser une question en corrélation avec le monde du jeux vidéo.
Actuellement, tout jeu vidéo développé sous console est amené à disparaître, car la rétro-compatibilité de ces dernières est très limitée.
Les jeux de PS1 par exemple, ne pourront être joués sous PS3, ils devront être téléchargés à raison de 15€/jeu.
Seuls les jeux PCs peuvent être rejoués à l'infinie, même les 16Bits peuvent tourner sous des OS 64 Bits via logiciels de prise en charge ou réécriture en 32 bits.
Ces mésaventures, ajoutées au prix de plus en plus élevé des jeux, on amené les joueurs à développer des moyens de jouer à des jeux de consoles sous PC.
Parmi ces moyens les plus courants, nous citeront tout d'abord les émulateurs :
Un émulateur est un logiciel qui travail en couches très basses et se charge de reproduire les circuits électroniques de la console avec les composants de l'ordinateur (en gros).
Problème donc, un émulateur doit donc forcément être compatible par avance avec votre carte graphique, et il est souvent très difficile à paramétrer, son paramétrage étant différent pour chaque jeu et chaque configuration ordinateur (chaque hardware).
Petit schéma explicatif (très simpliste) :
Les jeux utilisent des fonctions graphiques proposées par une librairie graphique, Direct3D (élément de DirectX) pour Windows (propriétaire), et OpenGL pour Linux / Windows / autre (Librairie Open Source et (donc) bien meilleure).
La librairie graphique va traduire ces fonctions en un langage machine plus long et plus basique, trop long et trop complexe pour être programmé à même les jeux.
Le pilote graphique va ensuite traduire ce langage machine en interruptions électroniques pour la carte graphique.
La carte graphique va ensuite s'occuper de générer l'image qui apparaît sur l'écran.
------------------------- Jeux (Faits le plus souvent pour Direct3D)
------------------------- Direct3D / OpenGL (Couche Librairie graphique)
------------------------- Pilote Graphique (Couche Driver)
------------------------- Carte graphique (Couche Hardware)
Image du jeu vidéo sur l'écran
Avec les consoles ne comprenant pas de cartes graphiques (consoles précédant les 32 bits avec jeux en 2D), l'on pouvait éviter cela et faire un pseudo-émulateur qui passait par la couche logiciel en donnant uniquement des instructions au processeur, donc plus vraiment un émulateur, car compatible avec tous les hardware possibles.
En clair, quelque soit votre PC, aujourd'hui, il peut faire tourner tous ces jeux au moyen d'un même logiciel.
C'est ainsi que certains packages de Linux proposent aujourd'hui la prise en charge de roms des jeux de GameBoy, MegaDrive, MasterSystem, Nintendo, Super Nintendo, etc.
(Perso, je m'éclate bien avec FF6, qui a d'ailleurs été parfaitement traduit en français par des passionnés)
Mais avec les consoles de type DreamCast, PS1, PS2, PS3, XBox, XBox 360, N64, GameCube, WII, qui nécessitent une accélération 3D (donc une carte graphique), le problème est plus compliqué à résoudre.
Nous citerons ensuite une seconde technologie qui n'est pas une émulation, mais qui permet de jouer à des jeux Windows sous Linux.
L'architecture 3D s'organise en couches comme nous l'avons vu ci-dessus.
La librairie la plus utilisée par les jeux est Direct3D, librairie propriétaire de Micro$oft.
Seul quelques jeux utilisent l'OpenGL et sont jouables sous Linux, comme Neverwinter Nights 1 pour ne citer que celui-là.
C'est ainsi que des développeurs ô combien courageux ont entrepris de développer un logiciel chargé de traduire les fonctions Direct3D en OpenGL afin de pouvoir jouer aux jeux Windows sous Linux.
En gros on a ce schéma là :
------------------------- Jeux (Utilisant les fonctions Direct3D de DirectX)
------------------------- Wine / Cedega (Traduit les fonctions Direc3D en OpenGL)
------------------------- OpenGL (Couche Librairie graphique)
Image d'un jeu Windows sous Linux
Ce logiciel n'est pas un émulateur car est compatible quelque soit votre ordinateur (il faut qu'il soit suffisamment puissant). Ce logiciel se nomme WINE pour Wine Is Not an Emulator (logiciel Open Source).
Mais WINE ne se contente pas que de faire tourner des jeux, son but est aussi de faire tourner tous les logiciels Microsoft sous linux, à commencer bien entendu par la suite Office.
Un fork payant donc téléchargeable et crackable de Wine a ainsi vu le jour, édité par la société Transgaming, il s'est principalement axé sur les jeux. Ce logiciel se nomme Cedega.
Cedega permet de faire tourner bon nombre de jeux Windows sous linux, malheureusement parfois avec pas mal de bugs, surtout pour les jeux récents, et a de gros problèmes notamment dans la prise en charge des jeux en réseau.
A noter aussi que WINE a fait de gros progrès dans sa prise en charge DirectX 9 à tel point que certains jeux tel que Warcraft III tournent mieux sous Wine que sous Cedega.
Direct3D 10 marque un gros tournant dans l'histoire des librairies graphiques, puisqu'elle est totalement incompatible avec les anciennes versions de Direct3D.
Ainsi, Windows Vista possède 2 DirectX :
- Une version compatible avec les Direct3D 3.x, 5.x, 6.x, 7.x, 8.x, 9.x
- Une version Direct3D 10, incompatible avec les anciennes
Comme l'évolution des anciennes versions de DirectX est ainsi figée, il y a fort à parier que leur prise en charge sous Wine va devenir de plus en plus performante et que de plus en plus de jeux Windows seront jouables sous Linux avec de moins en moins de bugs.
Question :
Est-il possible, avec la technologie de la virtualisation, que ces pseudo-émulateurs finissent par offrir une parfaite prise en charge de ces jeux ?
Car le problème que l'on a aujourd'hui à vouloir faire tourner un ancien jeu (comme Blood Omen 1 : Legacy Of Kain) sur virtualisation de Windows 95, c'est que l'on rencontre des problèmes pour trouver des pilotes pour le matériel actuel compatibles Windows 95.
Passer par ces logiciels semble quand même bien plus simple à long terme...
Est-il possible de voir un jour apparaître des consoles virtuelles, c'est à dire des PS1 / PS2 virtuelles sur nos PCs, qui prendront parfaitement en charge les jeux PS1 et PS2 par exemple ?
Ou est-ce impossible toujours à cause de la couche Driver ?
N'hésitez pas à balance