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."
WINE is not an emulator....yet....on...a...ppc.....uh...isn't it actually an emulator? The idea behind WINE is that it puts a wrapper on native calls.....x86 instructions are x86 instructions....so DarWINE is more like, DarWISAE, because it is "sort of an emulator...."
When in doubt, parenthesize. At the very least it will let some poor schmuck bounce on the % key in vi. (Larry Wall)
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?
How about a way to run Max OSX apps in Linux???
I'm serious. It would be only fair since Wine is written to run Windows apps on an OS that Microsoft didn't intend.
-b
Apps are not running natively:
"Developers should be able to recompile their Win32 Apps using WineLib and make them work in Mac OS X..."
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. The following is the transcribed dialog of our conversation.
--
osViews: "Could you summarize what the Darwine project is and what you hope to accomplish with it?"
Jim White: "Darwine was an inspiration that occurred when I saw the development of BOCHS come along. I thought, 'wouldn't it be brilliant if you could take wine and instead of emulating an entire operating system, which struck me as being a terrible waste, be able to run Windows applications directly under the Mac operating system without having to virtualize the whole separate operating system environment.'"
osViews: At some time you must have come across the fact that BOCHS is not necessarily the fastest emulator.
Jim White: Right! So the next thing that comes along is QEMU. Rather than using a naive interpreter like BOCHS which is an instruction compiler, [we opted for] a nice modern emulator design. That's what the guys working on Darwine are doing. In fact, the lead developer for Darwine has just completed porting QEMU to OS X.
osViews: I haven't used QEMU. How much faster is that as compared to BOCHS?
Jim White: Well, everybody is always asking performance questions and of course they're hard to quantify, but people are reporting pleasing results using QEMU. In fact I was just reading a [web discussion] thread where the people were saying that its obviously slower than Virtual PC but respectable.
osViews: I would imagine that would get better as it became more established.
Jim White: Well, thats exactly the point. QEMU is an open source effort with quite a bit of support and interest so we certainly expect to see QEMU get to be pretty darn good.
The key part to WINE is an implementation of the Win32 API. That portion is called WineLib. Thats a big chunk of the work that goes into WINE to make it do all of the Windows function calls. Those are the function calls that are like Windows.
Wine is primarily running on Linux and XWindows and they support a few operating systems like BSD. So under Linux, XWindows is the standard graphics environment. On OS X, we've got good XWindows, which is well supported but it gives a pretty ugly looking result. You don't get the type of applications that Mac users would like to have.
So there's two large areas of development yet to be done in addition to incorporating the x86 emulation directly into the Wine environment itself, there's the moving off of XWindows for graphics and moving onto Aqua using the native OS X graphics.
osViews: There's been some speculation that Apple has offered certain elements of code to the Darwine project.
Jim White: I'm not aware of any support that we received from Apple at all other than Darwin, which is the core of the OS X operating system and is open source.
When we initially opened up on Sourceforge, the lead developers had talked to the opendarwin.org people. We wanted to go host there, so we moved the web hosting and CVS to opendarwin.org. So Darwine is an Opendarwin project. Many of the key developers on Open Darwin are mostly Apple employees, but Darwine hasn't received any direct Apple support.
osViews: I'm sure you're probably familiar with the effort that IBM and Microsoft had years back when they were in a partnership together at a time when IBM was developing OS/2 Warp.
Jim White: Yeah.
osViews: Its largely believed that one of the reasons why OS/2 was adopted poorly is because people are less inclined to port their software to IBM's programming environment when they could do it entirely within Micros
The only app I still really use on my windows box is MS Money, and that's only because quicken for mac is horrid. If I could get that over on my powerbook, I'd be in heaven.
--
From the website: "We are currently working on integrating an x86 emulator in wine in order to run Win32 exe on a PowerPC Box. But on Darwin-x86 a Win32 .exe should run within wine" http://darwine.opendarwin.org/faq.php#5
:-)
So yeah it will involve an emulator on PPC but remember that Darwin is also on x86. So WINE will still be NE but will be used in conjunction with something that IE (is an emulator).
Seems Apple likes to incorporate many Linux traits. Now they should reciprocate and port (or allow importation) of OSX apps to Linux. Especially a direct connect for iTunes (or iPod).
QEMU...
A house divided against itself cannot stand.
in soviet russia, windows emulates you!
What programs for MS Windows, other than Office/Outlook are needed? And since MS Office is available for OS X...
This seems like a solution looking for a problem to me.
Of course the paucity of applications must be addressed in some manner - its quite clear that many ISVs are not addressing OSX or have any plans on doing so as it meanders around 3% market share.
I'm continually amazed at how OSX has reached the unassailable status of Google, Linus, etc in the /. mindspace. My wife purchased a new system that manifested numerous oddities and inconsistencies that I would have though Apple would have dealt with. For starters - a second disk installed by Apple for which my wife did not have write access. Duh! Make preinstalled hardware work the way users think it should. When she went to repair this, I was asked "what is group wheel?" To which I replied it is something a Mac user should never have to know about. The unix stuff is still showing up in odd places.
Just what I needed, a way to run crappy Windows apps on OS X!
irb(main):001:0>
Please stop propagating lies and misinformation!
/ 1743201&tid=204 before continuing. Thanks.
Please read all of the posts in http://games.slashdot.org/article.pl?sid=04/08/08
It fails to run a lot of popular software right out of the box. Last I checked, it wouldn't install IE6. Now now....before I am crusified, I have no love for IE. But it is a simple fact that many programs are built on top of it; many industry specific programs such as banking and financial programs.
.Net would also be a godsend since more of the newer windows software is starting to rely on it.
There's also the famed Photoshop incompatibility, that crossover has managed to overcome. When will the code be incorporated back into Wine?
I realize Mac users have no need for a Windows version of photoshop, but I wonder if Darwin is going to be able to overcome the obstacles that Wine has not been able to.
Support for
Mod points are pointless when you browse at -1.
Put a fork it it, Its done.
Those jokes are tired my man. Get some new material!
Did I miss any?
Just that one. (Read the subject line)
Jesus was all right but his disciples were thick and ordinary. -John Lennon
...it'll most likely be limited to Linux PPC. The problem is emulating a PPC processor on x86 hardware. It is much harder than the other way around.
Kjella
Live today, because you never know what tomorrow brings
umm...
But can it emulate OGG?
... Microsoft will freely provide us with their source code so we can compile Office and their other product suites on MacOS.
WINE = Wine Is Not an Emulator = Windows Emulator
"The second phase is to then integrate in WINE the QEMU binary translator."
that comes later then.
world was created 5 seconds before this post as it is.
...means you never need a windows box ever again!
Run any x86 OS on your powerbook.
... is on a Windows machine.
I have a Windows box with XP Pro to which I connect using Microsoft Remote Desktop Client for Mac (There's a port of the OSS RDesktop app available too).
Bearing in mind how cheaply one can acquire an x86 PC capable of reasonable performance (no app run over remote desktop will ever be *fast*), this has to be the most efficient way for users of low-powered macs to run Windows apps.
You can even full-screen it and freak out your mac-addict friends by showing them a Mac with, apparently, Windows installed on it.
I have been a user for about 10 years. This ends Feb 2014. The site's been ruined. I'm off. Dice, FU
I'd much rather see your post be modded up than the parent, which I think is -1 obvious.
Please correct me if I got my facts wrong.
...but their expansions are not, and WINE, WINEX, Cedeha, and their ilk haven't done anything to alleviate the problem. I guess I'm just stuck with this unstable, insecure Windows system...
Recompile with WineLib is what they mostly have working now. They ARE integrating an emmulator to allow the execution of x86 binaries. But that is not ready for use.
According to their FAQ they are integrating a binary translator called QEMU. Their intention seems to be to have the wine libraries native and have them talk to the windows app (still x86) through qemu. This sounds like an interesting idea, especially if their additions to wine and qemu are integrated into the main trees. Then linux on other architectures could likely take advantage (if qemu has been/is ported to that architecture).
I'd much rather run OSX on Windows than Windows on OSX.
Anybody doing this kind of thing?
The idea for as I understand it is this:
... overhead city), Darwine allows applications to run essentially linked to native code - Wine/WineLib for PPC.
When the project is complete, OS X users will be able to open EXE files with Darwine. Darwine will use QEMU to execute the x86 instructions, however when the program makes calls to the Windows API, Darwine calls those functions in WineLib compiled natively for PPC.
So, where Bochs and VirtualPC and others like them emulate the entire operating system environment (Emulated BIOS, emulated hardware, emulated Windows, and finally the emulated x86 application
Thus for most Windows applications, the GUI and event handling and everything else the Windows API is good for will be executed in native PPC code. QEMU will then emulate an x86 processor for all the compiled code in the application.
Imagine some internal corporate application that uses all standard Windows widgets to let a user interact with some data: all those widgets plus the menu and root pane will be handled by the native WineLib code except when the programmer has included some special functions or number-crunching routines that are emulated on QEMU's fake x86.
Think about it -- It's a lot better than having an entire emulated instance of Windows 98 (and maybe even an actual x86 box) to do the same thing.
It would be nice if the developers are working along a path with modest but useful goals. It would be great if Windows-only drivers for various devices would run under Darwine. Such drivers would require less than the full Windows-emulated environment and probably no GUI stuff. So, it would be a more modest amount of work, yet still be of significant use. I also think they are not speed critical (most of the time).
Bert
Did that say Port Wine?
Maybe I need to cut back on the Monday morning drinking.
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.
I am not a developer, so I'm interested to know if this idea is possible. Darwine will use a custom library for Win32 applications. How much power does that afford developers to change the way the libraries work? Could an OS X version of the Darwine libraries "intercept" the calls from the .exe and, for example, display the app's menu options in the menu bar instead of in the application window? How about replacing boring gray buttons in dialog windows with aquafied buttons? How about scroll bars?
If this is possible, I can see the potential for running windows apps while maintaining the Look & Feel of OS X in certain areas. Of course, this may be much, much more complicated than I am imagining. Could someone tell me if I'm on to something or just fantasizing?
I wish that my inferiority complex were as good as yours.
-RenderHead
>Those jokes are tired my man.
>Get some new material!
That was my whole point - they are tired, people still use them, so why not state them all at the front so some REAL discussion can happen.
SCO, Microsoft, P2P, what's your hot button?
So the WINE in DarWINE can't stand for "Wine Is Not an Emulator" because, well, it sorta is? No problem - just change what the letters stand for! I suggest:
Wine Isn't Not an Emulator
Wine Is Now an Emulator
Wine on os x Is doing some New things, possibly including a bit of Emulation
It seems like this project is limited by QEMU, which as far as I know, doesn't emulate x86 on a G5. Is such emulation really as hard as Microsoft makes it out to be? And do we have a chance of seeing Darwine run on a G5 anytime soon?
LinuxPPC users can already use MacOnLinux to run MacOS X and all its apps natively in the Linux environment, with almost perfect compatibility.
"I like systems, their application excepted", George Sand (French)
Can be found here. It hasn't progressed much in the past 4 years but looks pretty cool. If only some generous developers would invest some time to make it into a usable project.
Rather than be able to run an emulated X86 app on a Mac, wouldn't it be better to make it easy to build a native mac app using winelib?
A few tweaks here and there for byte ordering stuff, and presto, a native Mac app. Plus you could have conditional logic to be even more mac-like. No drive letters, etc.
Any good reason not to take this approach?
Posted from my Android phone. Oh, I can change this? There, that's better...
because. they. want. a. mac. but. have. unportable. custom. windows. apps!
Sort of like when I set up the RF switch box on my 40" WEGA hi def so I could play the Coleco Alpha (4 differen pong games). Or when I installed the adapter in my VW to use my Clarion 8 disk CD changer with the factory head unit.
Hey freaks: now you're ju
I keep hearing this generalization but is it true?
Got any stats to back it up?
All indications are that Linux is growing and Mac is stagnant.
if wine is not an emulator, then Darwine can't be wine, right?
although repeted elsewhere this should answer your question:
wine is split into two parts.
wine the program loader - the part you use to run windows binaries on linux is close to an emulator. Really just more like a binary format like elf or a.out that is run in user space rather than kernel space.
libwine is the library used to port the windows api to Linux. it is similar to gtk or qt in that it allows a program to make winapi calls and they get translated to the appropriate X calls similar to any of the other Linux GUI libs.
wine the program loader wouldn't be very useful on OSX because there probably isn't many apps for the windows ppc port. libwine on the other had will allow the easy porting of windows applications to OSX or Linux. So far this hasn't been exploited as much as it should be, mainly due to the wine folks wanting a perfect 1.0 release, when they may be better off getting what they have so far as stable as they can and doing a 1.0 release with X features supported and Y features not supported. then go from there. (their project their decision though)
Paying taxes to buy civilization is like paying a hooker to buy love.
That's really the whole cathedral vs Bizarre issue. 'Gee, should there only be one true way of getting things done?
I, for one, will always take the Bizarre approach.
Share and Enjoy!
So, does this qualify as a security hole ?
After all, if this works well, then Mac users will get to enjoy all the Windows security holes...
Forget magic. Any technology distinguishable from divine power is insufficiently advanced.
How about some of these open source development groups putting aside some of the .Net and MS Windows look-and-feel imitation GUIs for awhile and pitching in with GNUstep so Mac OS X applications can eventually be compiled up natively for Linux? Where's the love, people?
Well it seemed really useful, but of course I followed the directions and installed the programs to run exe files on OS X, installing the necessary X11 package. So I tried all the example exe files and, no dice. All it does is say it can't find the graphic drivers I just installed, something about X Server, then quits.
I'm just gonna check back when it actually works.
I am NOT a number! I am a - oh wait, I'm number 761710. Look! 761710!
O/S statistics
Now people using Apple computers can continue their long tradition of emulating a real computer user.
"Microsoft will be part of the game with a vested interest in Apple's success," said Jobs.l
http://www.eetimes.com/news/97/966news/macweb.htm
read and weep.
That's really the whole cathedral vs Bizarre issue
Boy, that is kinda bizzare, because I didn't realize that catholicism and strangeness were in conflict. Maybe he meant cathedral vs bazaar.
"A witty saying proves nothing." --Voltaire
Well if QEMU JIT compiles the x86 bytecodes, how is that much more overhead than JIT compiling Java or .NET ? It should actually be relatively fast once it is fine tuned.
IBM had something called DAISY for this IIRC. You could run Linux/Alpha apps on Linux/x86 or vice-versa. It just JIT compiled the binary, and library calls went out to the native libraries (how do we handle endianness and other processor peculiarities though?)
I know I won't get an answer, but how the hell did I get rated "Redundant" when I posted this *before* all of the other "+5 yadayada" posts? WTF?
I don't know what kind of crack I was on, but I suspect it was decaf.
That wasn't Steve in bed in with Bill for money. That was some other guy.
Linux advocacy doesn't rely on Microsoft for support (as did Apple) and doesn't rely on the astroturfing and gratutious moderation that Apple fanboys spread around here.
"+5 Insightful"
(rolls eyes)
Sound very exciting! It would be an amazing selling point for Apple.
Please, this is a serious question. Exactly what would happen if spyware or a virus would infect a machine running WINE? Does it have a WINDOWS directory and registry et all? Being able to run Internet Explorer to finally be able to access my bank account without error messages (or needing Virtual PC) sounds nice, but would I also need to install anti-virus software?