Technologie de Virtualisation (résolu)

Inscrit le
messages publiés
Envoyer un message privé
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)
|
\/
------------------------- Pilote Graphique (Couche Driver)
|
\/
------------------------- Carte graphique (Couche Hardware)
|
\/
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 :

1
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...

2
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 à balancer tout ce que vous savez...
22 réponses
Cliquez ici pour répondre
Inscrit le 13/08/2002
2116 messages publiés
Envoyer un message privé
ben, qu'est ce qui t'arrive, tu a la plume en feu?
amon avis, les emulateurs resterons des emulateurs et permettrons de faire tourner pas mal de jeu windows mais pas tous.
des emulateurs pS1, Ps2...; oui, je suis même sur puisqu'il en existe déjà pour d'autre console, dans les packages. en tout cas je les ai vu sur ubuntu mais je n'en ai testé aucun.
Inscrit le 04/02/2005
1945 messages publiés
Envoyer un message privé
Prochain post HS --< Ban.
[message édité par $UBE le 21/02/2007 à 20:57 ]
Inscrit le 13/08/2002
2116 messages publiés
Envoyer un message privé
ben, malheureusement des pseudo emulateurs mais comme je l'ai dit, je ne les ai pas essayé.
linux, me sert a travailler et windows sert a mes enfant pour ....jouer.
et oui.....
Inscrit le 24/02/2006
733 messages publiés
Envoyer un message privé
http://www.pcinpact....Virtualisat.htm

complément:
http://www.pcinpact....Open-Suse-R.htm

Pas encore de 3d sur l'OS virtualisé et c'était déjà possible sur d'autres projets de virtualisation (xen, QEMU, etc) , maintenant en plus c'est facile
Inscrit le
messages publiés
Envoyer un message privé
Génial...

J'adore ça
Il sera donc question de l'installation de Virtual Box sous Ubuntu, la distribution Linux qui monte, équipée de Beryl, afin de tester ces OS bizarres que certains utilisent et qui sont connus sous le nom de Windows XP et Windows Vista.

Par contre ça m'étonne pas que la 3D vista ne fonctionne pas, forcément ça demande pas mal d'efforts.

As-tu des infos sur d'éventuelles consoles virtuelles un jour ou l'autre ?
Inscrit le 10/12/2004
1285 messages publiés
Envoyer un message privé
Encore un joyeux ramassis de TOUT ET de n'importe quoi. On y trouve des prédictions dignes de Paco Rabanne,
Du copier coller d'infos pertinente ET une réflexion douteuse sur un joyeux mélange de troll :
Linux vs Windows, puis jeu sur console OU sur PC.
Au lieu de FAIRE des posts aussi longs qui finalement décourage plus qu'autre chose fais en plusieurs plus petit qui permettrons des réponses précises aux questions posées.
Inscrit le 07/04/2006
199 messages publiés
Envoyer un message privé

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 .


Ca fait de nombreuse année que la virtualisation existe (une vingtaine d'années), le seule nouveauté "récente" (enfin pas si récente que ca) c'est support que la virtualisation hardware dans laquel le processeur lui même aide à gérer les différent OS plutôt que ce soit 100% soft comme avant.


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).


Heu non, pas vraiment, quasiment tout les émulateurs utilisent des libraries graphiques standards (OpenGL,DirectX, SDL) et peuvent fonctioner avec n'importe quel carte graphique, ils sont difficile à configurer pour la simple raison que l'émulation est souvent trés loin d'être parfaite, necessitant de nombreux réglages.

En fait la différence entre émulation et virtualisation peut se résumer à :

L'émulation c'est simuler entièrement l'environemment hardware de la machine que tu veux "émuler", par example un émulateur PSX doit émuler le CPU, le circuit graphique, les circuit sons, etc... Ca demande énormément de CPU à la machine hôte.

La vraie virtualisation permet à plusieur OS "partager" les resources hardware de la machine hôte. Les différent OS croient avoir un accès direct et exclusif au Hard mais en fait ils n'ont accès qu'a une couche "intermédiaire", et c'est cette couche intermédiaire qui se charge de partager les resource entre les différent OS. Bien entendu il faut que les OS soient compatible avec le hard de la machine hôte (en tout cas le CPU).Très souvent on appelle "virtualisation" ce qui n'est en faite que de l'émulation.

En utilisant la virtualisation sur un PC, tu ne faire tourner que des OS compatible x86, si tu veux faire tourner sur PC des PS1,2,3 et SNES, etc.. une seule solution : l'émulation

Régle importante : "Ce n'est pas parce que il y a "virtual" dans le nom ou écrit sur le site que c'est de la virtualisation"


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.


Heu non, les vieille console avaient aussi des circuits graphique (ca aide pour afficher quelque chose à l'écran ), la grande différence entre les consoles 2D et "3D" c'est surtout la complexité, les ancient circuits était relativement simple et donc facile à émuler.


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.


Ca fait deux ans que DirectX est figé donc c'est pas nouveau et d'ici peu tout les nouveau jeux vont utiliser DirectX 10

1
Est-il possible, avec la technologie de la virtualisation, que ces pseudo-émulateurs finissent par offrir une parfaite prise en charge de ces jeux ?


Avec la virtualisation hardware c'est possible, même si il y aura toujour une petite perte de performance (Ca dépend aussi des drivers des carte graphique la pluspart n'étant pas du tout prévu pour gérer correctement la virtualisation), avec la virtualisation software se sera plus délicats, la perte de performance étant bien plus conséquente, pour les vieux jeux ca pourra aider.

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 ?


C'est tout bettement les émulateurs qui existe déja, pour la PS1 ca fonctionne pas trop mal, pour la PS2 c'est pas encore pour tout de suite même si c'est prométeur et pour la dreamcast c'est un peu mort malheuresement.
[message édité par Glawen le 22/02/2007 à 21:03 ]
Inscrit le 10/12/2004
1285 messages publiés
Envoyer un message privé
Au niveau emulateur tu trouveras ton bonheur ici
Google ne fonctionne pas sous linux ?
Inscrit le 02/06/2005
1278 messages publiés
Envoyer un message privé
Inscrit le 01/05/2005
34 messages publiés
Envoyer un message privé
Les emulateurs c'est pas des trucs et des machins pour pirater?
Non parce que vu le prix d'une ps d'occasion...
Répondre

Tous les champs doivent être remplis.

OU

Tous les champs doivent être remplis.

FORUMS DE NUMERAMA
Poser une question / Créer un sujet
vous pouvez aussi répondre ;-)
Numerama sur les réseaux sociaux