Wiki Home

Wine Is Not An Emulator


Namespace: SoftwareEng
Got some questions, and this is as good a topic as any. I've heard the argument that Wine Is Notan Emulator, but I don't understand it. Can anyone explain that? -- Mike Helland

You can think of an emulator as a program that simulates an environment.. usually a hardware environment, like a program that emulates a PalmPilot, and can be used for testing programs for the PalmPilot platform. Wine is, I believe, meant to be a platform itself... a Clone of Windows, separate but equal. Mac Os X has an emulation layer so it can run programs written for older MacOs versions, but in those cases it has to imitate the older Mac hardware. Wine is running on the same hardware Windows would run on, but just Clones the API calls that a Windows program wants to use. (this is just my understanding of it) - ?wgcs

http://dictionary.reference.com/search?q=emulate It appears that what WINE does meets all 3 defintions of "emulate", leading me to believe that it is a Windows Emulator. I would like to know if WINE is trying to avoid calling itself an emulator for legal reasons, if so, this doesn't sound like something I want to get tangled in. But legal or not is not the main issue, my second question has to do with whether its personally justifiable (right or wrong) or not in the first place.

I'm sure that part of the reason that WINE == Wine Is Notan Emulator is simply nostalgia and wit to be like GNU == Gnu's Not Unix.
However, the answer given at http://www.winehq.org/?page=faq#Is_Wine_an_emulator is basically what I pointed out... it doesn't emulate a complete Windows environment, it just is a set of libraries that still must live on a compatible Intel CPU. Remember, Linux/Unix/GNU can run on many more CPU's, and if, say, they are on a RISC CPU, Wine won't help get Windows programs to run. The Intel CPU still directly executes the Win32 EXE... Wine is just a set of additional libraries, it doesn't emulate a Wintel machine. (I'm sorry if I repeat myself... I don't feel like any of the times succinctly includes all my thoughts) - ?wgcs

Thanks, I checked out the FAQ at winehq too. I think its fair to say that WINE is not a machine emulator (which is probably important considering there are Windows machine emulators for Linux that WINE would like to distinguish itself from) but it is still a Windows API emulator.
And my second question is, even if it's not an emulator, why is Windows and its API good enough to reverse engineer and emulate (or not) on another platform, but not good enough to pay for and run as the software was intended to be run? -- Mike Helland

Mike, regarding your second question... You want people to be rational? < < g > > Actually, I think a lot of this is based in envy. Some of it comes from folks who don't have the $$. Probably a lot comes from the semi-genetic paranoid nature of xBase developers who have a long history of being taken advantage of by the provider of their xBase-flavored software development package of choice. Some from folks who just refuse to like MSFT for whatever reason (real or imagined).

Seems to me that the rational aproach is to simply ask one's self "What do I need to use to meet the needs of my client or employer?"

Not really difficult when you get past the emotion. -- Doug Dodge

This is basically where Wine positions itself: "First Wine is not about running Windows but about running Windows applications" (from the Wine FAQ) -- ?wgcs

I got a few reasons:
1. The same reson WinXP has a 16 bit virtual machine for running dos apps: It would be a pain to have to have a 2nd box or duel boot so that you could keep running that old app that hasn't been ported.
2. There is Also Cygwin which allows you to run Unix apps on Windows.
3. Same reason most of us use PC compatibles (for you youngens, it used to be The IBM PC, and then a bunch of knockoffs that were mostly compatable.)
4. You want the features of the Linux OS and an app written for windows. Features: the ext3 file system that may be more resistant to curuption than fat or ntfs, better use of mutiple CPU's, less chance of security breach. Note: this is not about the validity of the features, just that somone wants them, which explains why someone would want to use wine.
cfk
See Also:
http://paulmcnett.com/articles.php
Category Linux
( Topic last updated: 2005.01.28 07:00:03 AM )