Interview - Jim White of the Darwine project
Kelly McNeill writes "The Darwine project intends to port and develop Wine as well as other supporting tools that will allow Darwin and Mac OS X users to run Windows Applications. It is an open source project led by a growing number of developers including Emmanuel Maillard, Pierre d'Herbemont and Sanjay Connare. osOpinion/osViews had the privilege to speak to with the project's administrator, (Jim White) to tell us more about Darwine and where the project is headed. For those that don't know, Darwine is Wine (Wine Is Not an Emulator) for OS X on PPC. The following is the transcribed dialog of their conversation which is also available in an audible format on osRadio.com."
I thought wine only simulated the Windows API calls, so you still need to be running the program on the native windows cpu, x86. Can someone explain how this works on PPC?
Maybe eventually it would be an alternative to x11. Cocoa is a well designed api and already runs on top of a bsd kernel. And would allow to tap into apple software (only recompile would be needed to run on x86).
Sorry to be slightly offtopic, but this seems to be the right discussion to ask this question.
if wine is not an emulator, then Darwine can't be wine, right?
That's if you're using a read-decode-execute-loop emulator, sure. That can also give you a 200-500x speed penalty for recent architectures.
To speed things up a bit (i.e. go from 500x slower to only 4x slower, or even native speed) you crack the emulated instructions down into an intermediate language that you can then apply optimizations to and compile into your host's native machine code.
In other words, imagine you had a program that could decompile a Linux-PPC binary back into the C code it was originally written in. You could then compile that C code for Linux-x86. If you start from C code, the speed of the compiled programs should be the same on both platforms (or close), right? That's the aim of dynamic translation - find out what the code is actually doing and perform that natively on your own hardware.
And, it's what QEMU does to run as fast as it does - some 120 times faster than the Bochs x86 interpretive emulator.
- HOORAY!