Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

Yesterday, I had a hot discussion with one of my friend (Windows user). He said Wine is just an emulator. I said no Wine is read as "Wine is not an emulator". Then he gave me many links including WineHQ's wiki page. "Wine's not that kind of emulator" is written there.

So I want to ask if Wine is an emulator why does it calls itself "Wine is not an emulator"?

share|improve this question
6  
Wine stands for " W ine I s N ot an E mulator". –  user17414 May 12 '11 at 12:41
1  
Make him read what is under the "Wine's not that kind of emulator" heading. –  Oxwivi May 12 '11 at 13:26
    
It is clearly written 'Wine does not do any CPU emulation - hence the name "Wine Is Not an Emulator."' –  Oxwivi May 12 '11 at 13:30
    
Wine is not that kind of emulator but still it is somewhat emulator?? Wine does not do any CPU emulation then what Wine emulates ? –  puneet May 12 '11 at 13:33
    
it only emulates windows libraries. So API calls from a software are emulated, the rest of the software code is not, it runs nativetly. –  MestreLion Jun 29 '11 at 17:19

2 Answers 2

up vote 14 down vote accepted

A program in Windows makes extensive use of standard libraries that belong to Microsoft Windows. These libraries are rewritten and implemented in Wine so that they do much the same. The more a program is well written and the standard libraries, the greater the chance that the program will work in Wine.

The code of a program is first examined for calling the Windows libraries. These calls are translated so that the Wine's libraries called. Then the code of the program executed at full speed. There is no emulated code, but only the calls to the libraries are translated.

Therefore, in theory. a program should work about as fast as Microsoft Windows. In practice, the program may be slower, because the translation is made​​. But there is a possibility of a program working faster because the libraries of Wine are simpler, and because disk access is often faster in Linux.

Because Linux uses OpenGL, Windows programs that use OpenGL often work well in Wine. Linux does not use DirectX - however, DirectX games work in Wine because the DirectX calls can be translated by Wine to OpenGL calls.

share|improve this answer
4  
In conclustion: Wine is a Compatibility Layer, not an Emulator. –  Marco Ceppi May 12 '11 at 14:49

From the same link as the one you pointed at "Wine does not do any CPU emulation" That is what emulators usually do (wii , psx, n64, etc)

For a more complete answer you can read the first paragraph of the link you provided - i don't think that anyone can explain it in a better way.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.