About Compatible with Wine


2010-09-14 (updated 2013-05-20)
Although Wine is claimed to not be an emulator in some places (even by the developers claimed this for an extended period), there's yet to be any convincing explanation of what it is besides an emulator.

To explain, it needs to accomplish the following:
1) Translate WinPE executables and DLLs into ELF or other Linux format so they can be run natively, which would make it executable converter (though for some obscure reason it requires to be run each time instead of only once).
2) Supply emulation layer for Component Object Model which has no equivalent on Linux.
3) Supply Windows API related libraries, emulating proprietary software.
4) Supply emulation layer for DirectX to OpenGL, some audio libraries, input, etc. (DirectX requires above COM emulation)
5) Supply NTFS/FAT emulation/obfuscation for any apps running under it so they "understand" Linux filesystem.
6) Supply Windows registry equivalent (emulate proprietary software again).

All or most of which is done via emulation, as Wine does not function as WinPE to ELF converter. The only real claim they have against Wine not being an emulator is that it doesn't emulate hardware, but this is moot as it's still emulating an operating system (it's presumably not virtual machine either, but those are emulators as well, except when used to run same system as the host). This may also be the source of the misconception that Wine isn't an emulator, since it doesn't emulate the hardware (you need same hardware as you would when playing the games on Windows), only software.

2013-07-21 (updated 2013-07-21)
4) Supply emulation layer for DirectX to OpenGL, some audio libraries, input, etc. (DirectX requires above COM emulation)

This is now optional since DirectX can be run natively on Linux using Gallium3D (supplied via Mesa on Linux systems).

Some of the things listed above are acomplished with something more like a wrapper than an emulator. But you make compelling points. Parts of wine are emulating things. In fact, when I consider all theses things I must come to the conclusion that 32-bit Windows is nothing but fancy front-end for an MS-DOS emulator.

2013-07-21 (updated 2013-07-21)
nothing but fancy front-end for an MS-DOS emulator.

Windows NT (NT4, W2K and anything newer) removed the DOS from the background. So Windows ME was the last of those. They do still supply a very basic version of DOS for command prompt and .bat processing, but that's like having bash or something on Linux.

Gallium3D doesn't seem to do anything for DirectX. It's just more advanced graphics hardware layer for other things to use compared to the old Mesa and seems to simply make it easier to do things that DX does.

2013-09-03
Gallium3D supports DirectX 9, 10, and 11. Developers can run their DirectX code via Gallium3D without being concerned about which platform Gallium3D is actually running on (other code for the game, however, may not be so lucky).

2013-09-08
That seems to depend on running the app/game via Wine though, at least for Linux (according to some old changelogs).