Lokthare wrote:Wine, c'est pas l'émulation...
Il est vrai que ça n'est pas de l'émulation telle qu'on l'entend pour un émulateur de machine comme QEMU, par exemple.
Et pourtant, Windows et Linux sont incompatibles au niveau binaire. En effet, mon exécutable Helloworld.exe, compilé sous windows ne s'éxécutera pas nativement sous Linux (je devrais recompiler le source), pourtant les source Windows et Linux sont strictement identiques.
Or, wine permet d'exécuter sous Linux des binaires compilés pour Windows. A mon sens, wine fourni dans ce cas ce qu'on peut appeler une couche d'émulation.
Un wrapper Direct3D -> OpenGL, permet de recompiler les sources d'un programme Direct3D win32 afin qu'il s'execute
nativement sous Linux.
Je viens de voir que Wine permet sans doute ça grace à WineLib, en effet. (en théorie, car en pratique aucun jeu DirectX n'a encore été recompilé pour Linux en utisant WineLib...)
"Wine provides both a development toolkit for porting Windows source code to Unix as well as a program loader, allowing many unmodified Windows programs to run on x86-based Unixes"
En fait, il semble que wine puisse remplir deux fonctions :
- émulation d'un environnement win32 pour exécuter des
programmes non recompilés pour Linux (la majorité des jeux exécutés via wine le sont dans un environnement win32 émulé).
- recompilation de
sources win32 pour produire des exécutables Linux natifs (apparement, OpenOffice et Mozilla utilisent ça).