Wine Emulation: Swapping functions

Mike Hearn m.hearn at signal.QinetiQ.com
Wed Aug 25 04:24:03 CDT 2004


> I think you are going in the wrong direction with this; the right way
> IMO is to compile Wine for x86 and run the whole Wine+app under the
> CPU emulator. Otherwise you'll have to write wrappers for each of the
> 15,000 APIs.

Certainly dealing with the syscalls alone is a lot easier than flipping 
on every Windows API. You may wish to talk to TransGaming. They've 
actually *done* what you guys are trying to do, and run x86 
software/games on a Mac. IIRC they found it unworkable (due to 
endianness conversion) even when using virtualization software more 
advanced than QEMU, however they were focussing on games where 
performance is critical. So maybe it doesn't matter to you guys.

I think they were only converting the syscalls but I don't really 
remember .... Gav told me various stories of their Mac porting efforts 
at WineConf.

The problem with running x86 Wine in QEMU is that it's harder to access 
the OS X APIs. I guess you could use some kind of IPC to do it but you'd 
end up recreating the X protocol for Quartz which seems a bit silly 
(amongst other things).



More information about the wine-devel mailing list