30

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"!

0

5 Answers 5

35

From here (archived version, because that Wiki page is currently missing)

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.

2
  • The source link has changed, it seems.
    – Artfaith
    Jun 29, 2021 at 11:54
  • 1
    @F8ER They decided the page was too much of a mess and needed to be taken down for rewrite, it seems. Not sure if it's going to come back.
    – Gnoupi
    Jun 30, 2021 at 15:46
16

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.

2
  • 1
    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. Dec 21, 2019 at 13:37
  • @AaronFranke Strictly speaking they emulate hardware that the Windows guest runs on. Or at least they used to, because modern processors can run guest OSes without emulation, and even if you don't have hardware support for this a competent VM hypervisor will use binary translation to improve the performance.
    – gronostaj
    Jun 11, 2021 at 12:14
8

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

5

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

4
  • 2
    it's not UNIX tradition it's called a recursive acronym
    – demetri
    Jul 28, 2009 at 18:55
  • 3
    FYI, humorous recursive acronyms can well be considered a "tradition" in Unix naming. See e.g. 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
    Jul 28, 2009 at 20:02
  • 2
    it has nothing to do with UNIX
    – demetri
    Jul 28, 2009 at 20:28
  • 5
    What? 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
    Jul 28, 2009 at 20:42
-1

Wine is runtimable for Linux. ( exe + dll on Linux ) Cygwin,Mingw, MSYS2 or WSL1/2 is runtimable for Windows ( ./configure, sh ld etc ) Darling is runtimable for Linux ( app + dylib on Linux )

Karton is runtimable on macOS ( sh, without extension of applications and so on macOS )

CoLinux is not runtimable just emulator for Windows like Qemu or VMWare Player

Parallel Desktop is emulator for macOS like Qemu.

6
  • @Destroy666 - I am not sure it matters, even if the correct grammatical word was used, the quality of this answer would be very low due to the technical inaccuracies.
    – Ramhound
    May 23, 2023 at 1:29
  • Parallel Desktop isn’t an emulator it’s a Hypervisor which means it implements hardware virtualization which does not emulate hardware.
    – Ramhound
    May 23, 2023 at 1:31
  • Are you thinking about Parallel Desktop? Eh? That is emulator!!! Can you download and test on MacOS May 25, 2023 at 16:41
  • Parallel Desktop absolutely isn’t an emulator, it’s utilizes hardware virtualization, software like WINE and yuzu does not. Qemu also utilizes hardware virtualization not hardware virtualization. My thoughts on this subject are iron clad. Focus on clarifying what “ runtimable” means exactly. I don’t want to have a conversation on this subject with you, nothing personal, it just seems your not interested in learning the difference between an emulator and hardware virtualization.
    – Ramhound
    May 26, 2023 at 0:41
  • Hmmmmm @Ramhound You always dream about that? Hello I already used Parallel Desktop. It is not runtimable. I don't see about is not emulator. Blablabla! I don't believe you. I have proof because Parallel Desktop is real Emulator like VMWare WorkStation/Player and Qemu. I have proof because Parallel Desktop has OpenGL 4.x == Qemu also. May 26, 2023 at 6:56

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .