¿Es el vino un emulador o una capa de compatibilidad?

8

Ayer, tuve una discusión candente con uno de mis amigos (usuario de Windows). Dijo que Wine es solo un emulador. Dije que no Wine se lee como "Wine no es un emulador". Luego me dio muchos enlaces, incluida la página wiki de WineHQ . "El vino no es ese tipo de emulador" está escrito allí.

Entonces, quiero preguntar si Wine es un emulador, ¿por qué se llama a sí mismo "Wine no es un emulador"?

puneet
fuente
77
El vino es sinónimo de " W ine I s N ot un E mulator".
1
Hazle leer lo que está debajo del encabezado "El vino no es ese tipo de emulador".
Oxwivi
Está claramente escrito 'vino no hace ninguna emulación de la CPU - "Wine Is Not an Emulator" de ahí el nombre'
Oxwivi
¿El vino no es ese tipo de emulador pero aún así es un poco emulador? Wine no hace ninguna emulación de CPU, entonces, ¿qué emula Wine?
Puneet
solo emula bibliotecas de windows . Por lo tanto, las llamadas API de un software se emulan, el resto del código del software no, se ejecuta de forma nativa.
MestreLion

Respuestas:

14

Un programa en Windows hace un uso extensivo de bibliotecas estándar que pertenecen a Microsoft Windows. Estas bibliotecas se reescriben e implementan en Wine para que hagan lo mismo. Cuanto más esté bien escrito un programa y las bibliotecas estándar, mayores serán las posibilidades de que el programa funcione en Wine.

El código de un programa se examina primero para llamar a las bibliotecas de Windows. Estas llamadas se traducen de modo que las bibliotecas de Wine llamaron. Luego, el código del programa ejecutado a toda velocidad. No hay código emulado, pero solo se traducen las llamadas a las bibliotecas.

Por lo tanto, en teoría. un programa debería funcionar tan rápido como Microsoft Windows. En la práctica, el programa puede ser más lento porque se realiza la traducción. Pero existe la posibilidad de que un programa funcione más rápido porque las bibliotecas de Wine son más simples y porque el acceso al disco a menudo es más rápido en Linux.

Debido a que Linux usa OpenGL, los programas de Windows que usan OpenGL a menudo funcionan bien en Wine. Linux no usa DirectX; sin embargo, los juegos de DirectX funcionan en Wine porque Wine puede traducir las llamadas de DirectX a OpenGL.

glaasje
fuente
44
En conclusión: el vino es una capa de compatibilidad, no un emulador.
Marco Ceppi
4

Desde el mismo enlace que apuntaste "Wine no hace ninguna emulación de CPU" Eso es lo que suelen hacer los emuladores (wii, psx, n64, etc.)

Para obtener una respuesta más completa, puede leer el primer párrafo del enlace que proporcionó; no creo que nadie pueda explicarlo de una mejor manera.

Chriskin
fuente