Why is wine "not an emulator"?

22

2

Isn't the difference between Windows apps and Linux apps just libraries asked by applications running? (see previous question) How is possible then to make Windows applications running on a Linux system by software which is "not an emulator"!

bAN

Posted 2009-07-28T18:32:35.467

Reputation: 1 646

Answers

28

From here

Wine's not that kind of emulator

When users think of emulators, they think of programs like Dosbox or zsnes. These applications run as virtual machines and are slow, having to emulate each processor instruction. Wine does not do any CPU emulation - hence the name "Wine Is Not an Emulator."

Some people argue that since Wine introduces an extra layer above the system a Windows application will run slowly. While technically true, Wine is no different from any other software library in this regard; even newer versions of Windows must load extra resources to support older applications.

Importantly, the combination of Wine and Unix can sometimes be faster than Windows itself. This is especially true when the system has good drivers and the application isn't exposing any Performance Related Bugs.

Gnoupi

Posted 2009-07-28T18:32:35.467

Reputation: 7 909

15

An emulator acts completely like something else. These applications normally contain everything the original application or platform contains.

Wine however acts as a translator, by implementing only the required features of Windows and also translating these into instructions which can be understood by X-Windows.

A more practical example would be a virtual machine. When running Windows on Linux using a virtual machine, the virtual machine emulates Windows, as the complete OS is loaded and there is no direct interaction with the host.

However Wine talks to X-Windows for certain instructions directly when and if required, which is why it takes a period of time for applications to work in Wine.

More can be found at Wikipedia here.

BinaryMisfit

Posted 2009-07-28T18:32:35.467

Reputation: 19 955

Your wiki link is a little broken – Jonik – 2009-07-28T20:07:45.480

I don't see how a virtual machine is better described by the term emulator than Wine. Virtual machines running Windows don't emulate Windows, they are running Windows. – Aaron Franke – 2019-12-21T13:37:20.373

8

Wine is not emulating Windows, but rather is the (or wrapper for ) win32 API for non-windows OS.

Joakim Elofsson

Posted 2009-07-28T18:32:35.467

Reputation: 2 056

2

For practical purposes Wine is an emulator, or at least it does what most people would expect an emulator to do, even if technically it isn't just an emulator. See the FAQ for a good explanation. This also follows great traditions in Unix naming, cf. GNU's Not Unix. :-)

Jonik

Posted 2009-07-28T18:32:35.467

Reputation: 5 352

2it's not UNIX tradition it's called a recursive acronym – None – 2009-07-28T18:55:50.133

2

FYI, humorous recursive acronyms can well be considered a "tradition" in Unix naming. See e.g. http://en.wikipedia.org/wiki/Recursive_acronym; "In computing, an early tradition in the hacker community (especially at MIT) was to choose acronyms and abbreviations that referred humorously to themselves or to other abbreviations."

– Jonik – 2009-07-28T20:02:11.887

2it has nothing to do with UNIX – None – 2009-07-28T20:28:53.550

3What? Both GNU and Wine have a lot to do with Unix. So does naming with recursive acronyms. Or are you trying to be excessively "smart" with the distinction of UNIX and "Unix-like" systems? sigh Even in that case, Unix-like systems, such as GNU/Linux, and software that runs on said systems, such as Wine, do have something to do with UNIX. – Jonik – 2009-07-28T20:42:04.240