WINE 991031 (Hallowine) Released
Egonis Similaris writes " WINE 991031 (Hallowine) has been released." My main personal WINE wish is to use it to run Quickbooks. Has anyone else gotten QB to work reliably under WINE?
← Back to Stories (view on slashdot.org)
WINE Is Not an Emulator
Because everythings native it doesn't really EMULATE anything, it REPLACES or DUPLICATES
Wine has always been 2 projects in one. The actual Windows API reimplementation (WineLib) and a binary loader (Wine, or "the emulator part" as some people refer to it) which loads windows EXE and DLL files and hooks them up with the API stuff in WineLib. The binary loader itself is basically small and bugless - .EXE files are typically a lot less sophisticated than Unix ELF binaries and shared libraries so there's not much to do there in the first place.
:)
:)
So, Corel has put a lot of work into the Windows reimplementation end of things, reorganizing Wine's COM support and header files so you can now compile MFC (which contains a fair amount of MS "insider coding", although luckily you get the source with MSVC++) under WineLib. They also paid Cygnus to do the anonymous struct and union patches which everyone now gets to enjoy in GCC 2.95.2. As a result of this work they now have a common codebase between Windows and Linux for their office applications.
The best part is they've been willing to do all this work to the specs of Wine's current "Linus", Alexandre Julliard. So wine's gotten a ton of good professional work on stuff the regular spare-time developers would have taken much longer on. We now have a solid infrastructure for Win32 threading, impressive OLE/COM support, a much more debugged user interface, and lots of common controls.
As a result it's almost more accurate to say Corel was under Wine's wing - they've had patches rejected due to conflicts with Alexandre's architectural vision, and promptly resubmitted them with everything fixed. I wish all companies involved in open source were that way
Anyway, the first stage of that involvement's coming to a close. Corel naturally won't tell us their actual progress with their apps, but they are known to be working on an installer now and their recent patches have been for progressively more obscure bugs. Incidentally, their work has made a lot of other applications work much better too. ModPlug Tracker, a popular Windows tracker-style music application, now works with nary a glitch on Wine. Less than 6 months ago it was unstable and full of graphical glitches.
And as far as claims that app support is getting worse, that's generally false. As with any large project there are frequently bugs that break certain apps, and sometimes apps work accidentally due to combinations of bugs and stop when that bug is fixed. Most people track the "official" releases instead of CVS so something breaks and they don't see that it's fixed again the next day in CVS and end up with the wrong impression
-Ian, wine-devel but not speaking for 'em.
There was another package that was anounced on slashdot a few weeks ago about a "winelib" type programming package that is coming so people can just cross compile.. dunno if we will see that..
I get solitaire to run, i've had other programs run, but once they work *DON'T* upgrade or make any changes, or else it may blow up.
I'd like to see wine start from square one. They have plenty of code to scavange through, they have a HUGE amount of the API documented and coded, but the project has evolved into such a beast that it limits out any growth in a direction that wasn't planned for a few years back.
Make a 1.0 milestone, say in 1.0 we will support Windows 3.1 apps, in 1.1 we will support win32, in 2.0 we will support Win95, in 3.0 we will support NT or whatever it may be.. but make it work for one layer, produce a 1.0 binary, get it in use, get the quirks resolved, have the foundation, learn from your mistakes, if it needs some re-work, re-work it, and then evolve it on up (only after feature locks, and then feature planning)
Be fair. She was correct, to within the accuracy defined by the new ActiveErrorMargin(tm) controls, as demonstrated by William "Nobody talks to me about Linux" Gates.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)