Supposedly Mac OS X already has the largest installed base of any single *nix distribution and certainly is ahead of Linux on the desktop. So there are easily as many potential users of Wine for Mac OS X as Wine for X86-whatever. And Virtual PC has been popular & successful.
Actually, according to figures from Apple and IDC (guess which is more neutral) desktop Linux has at least double and possibly quadruple the installed userbase of MacOS X. I have pointed this out several times when people make statements such as that, and have yet to be refuted, so be careful when saying things like MacOS is "certainly ahead of Linux", as the statistics don't back that up. *shrug*
Bear in mind that to actually do a MacOS port would require rewriting quite large parts of Wine even if you still use an X server, and then Windows apps would still look like Windows apps, not Aqua apps. Please don't get discouraged, but you should be aware of how much work it involves before starting. As CPU emulation would be one of the trickier parts, I'd definately go with the advice to start by making x86 binaries work on Linux/PPC, as that keeps the number of things that could interfere to a minimum.
ta -mike
Mike Hearn wrote:
Supposedly Mac OS X already has the largest installed base of any single *nix distribution...
Actually, according to figures from Apple and IDC (guess which is more neutral) desktop Linux has at least double and possibly quadruple the installed userbase of MacOS X. I have pointed this out several times when people make statements such as that, and have yet to be refuted, ...
Do you have any references for those statistics? The thing that IDC just said is that they expect new Linux desktop shipments to pass new Mac OS X shipments within the next year or two. Even if that comes to pass (which I very much doubt), that doesn't directly address the installed base size.
http://www.macobserver.com/columns/thebackpage/2003/20030103.shtml
As CPU emulation would be one of the trickier parts, I'd definately go with the advice to start by making x86 binaries work on Linux/PPC, as that keeps the number of things that could interfere to a minimum.
I'm reconsidering how to get started now. I spent a fair bit of the weekend trying to get Darwin/X86 running and it doesn't look promising. Not only do I need to get a different motherboard but it sounds like there are siginificant issues with bugs and performance.
I'm quite unlikely to set up a Linux/PPC box myself, although I am *very* interested in hearing from folks working on Wine for *any* PPC OS. And this does seem like a promising area for Linux/PPC folk as I'm sure there would a fair bit of interest in being able to run Linux/X86 binaries (which would be cool with miscellaneous binary support).
I have been interested in ways to have Linux compatibility on Mac OS X (it is a microkernel system after all), so I will spend a little time investigating that. But now (unless Darwin/X86 things improve quickly, which I doubt) the most likely way forward for me will be to tackle the problem directly with Mac OS X.
Jim
On Mon, 2003-01-06 at 11:12, Jim White wrote:
Mike Hearn wrote:
Supposedly Mac OS X already has the largest installed base of any single *nix distribution...
Actually, according to figures from Apple and IDC (guess which is more neutral) desktop Linux has at least double and possibly quadruple the installed userbase of MacOS X. I have pointed this out several times when people make statements such as that, and have yet to be refuted, ...
Do you have any references for those statistics? The thing that IDC just said is that they expect new Linux desktop shipments to pass new Mac OS X shipments within the next year or two. Even if that comes to pass (which I very much doubt), that doesn't directly address the installed base size.
The only stats I personally find compelling are those from Google: http://www.google.com/press/zeitgeist/zeitgeist-sept02.html
I've been waiting oh so long for that to tick from 1% to 2%; that will signal the beginning of the desktop revolution to me. Sadly, I think Google rounds up generously, so I suspect it will be a while before we even have a legitimate 1%.
Jer
Do you have any references for those statistics?
The figures came from this:
A few months ago (don't recall exactly when) Apple were under pressure from Redmond to sell more copies of OS X so they could make the money back on Office X. They revealed that 1 in 10 mac users were using OS X. That's 0.4% of the worlds installed user base. That's probably gone up somewhat by then, but I've been told recently by somebody who'd know that the vast majority of Macs are still running OS 9.
Around a similar time (perhaps a few months earlier again) IDC estimated (don't have a url handy sorry) that linux had roughly 2% of the desktop market. Even if we assume that was generous That's still nearly 5x the user base of MacOSX.
I don't really care one way or another, but just thought I'd point out that you shouldn't make assumptions one way or another when nobody really knows what's going on out there.
I'm quite unlikely to set up a Linux/PPC box myself, although I am *very* interested in hearing from folks working on Wine for *any* PPC OS.
Hmm, is there any reason for that? Linux/PPC would seem the logical place to start as WineLib already works on this platform, so the Bochs integration would have a solid foundation to work on. As you've said, raw Darwin (at least on x86) is more a showpiece than anything actually useful, and that probably won't change for some time (if ever).
I have been interested in ways to have Linux compatibility on Mac OS X (it is a microkernel system after all), so I will spend a little time investigating that.
For Linux binary support you'd have to do a FreeBSD style ABI export. Considering that like 95% of the software available for it is open source though, it's normally easiest to recompile fink-style.
Jeremy:
I've been waiting oh so long for that to tick from 1% to 2%; that will signal the beginning of the desktop revolution to me.
It'll happen (google told me they basically trunc then balance the numbers, but who knows how it's really calculated). Until then take solace in the fact that Linux is the 4th most popular technology search which beats Microsoft healthily :)
have fun! -mike
Mike Hearn wrote:
Do you have any references for those statistics?
The figures came from this: ...
You're mixing installed base numbers with new shipments ("market share").
Worthwile to note in this vein is Apple released their version of the XFree86 X11 server (rootless for Aqua) beta for Jaguar today. It includes direct GL support under 10.2.3. So while Apple's official position remains that Aqua is the right GUI, they're gonna have top notch X11 support too.
I'm quite unlikely to set up a Linux/PPC box myself, although I am *very* interested in hearing from folks working on Wine for *any* PPC OS.
Hmm, is there any reason for that? Linux/PPC would seem the logical place to start...
Yes, of course there are reasons. If I wanted to use Linux for my desktop I would do so. I find Mac OS X to be the best desktop OS in the world. I do run Linux servers and find that an excellent way to put cheap x86 hardware to good use.
I have been interested in ways to have Linux compatibility on Mac OS X (it is a microkernel system after all), so I will spend a little time investigating that.
For Linux binary support you'd have to do a FreeBSD style ABI export.
I'm thinking in terms of updating the MkLinux (Apple/OSF) port to the Darwin Mach kernel. Seems like there should be a way to do that as an addition to the Darwin OS and not run a separate system. What I'ld really like to see is Red Hat binary compatibility (the duplication necessary in source porting is largely a wasted in my view). The next logical step being an X86 personality too.
Jim
You're mixing installed base numbers with new shipments ("market share").
Indeed, I've run across this distinction before. By that logic however stuff that's given away for free has no market share, meaning that Opera is the worlds most important browser. Hence installed user base is a more useful metric, sorry if I mixed up the terminology.
Yes, of course there are reasons. If I wanted to use Linux for my desktop I would do so. I find Mac OS X to be the best desktop OS in the world.
Very touching. I'm not suggesting you use it as your desktop, I'm suggesting you use it as a place to start the port. If you decide to make things hard for yourself due to some bizarre hatred of desktop Linux, then you're just increasing the amount of work you'd need to do.
You don't even have to dual boot or anything, just stick it on an old PC and ssh into it if you absolutely must have glowing buttons.
As you've seen, Darwin/x86 is basically useless, and as the opcode translation is probably one of the hardest but also most interesting parts (I don't think anybody has attempted Bochs integration before), it makes sense to get it out the way. But - if you want to leave it until later, you do it how you think is best.
What I'ld really like to see is Red Hat binary compatibility
If you're going to target a distro, I'd go for Debian as it has more binary packages available. Considering how frequently Redhat has broken compatability even with itself (esp with C++), there aren't all that many working Redhat (or suse, or conectiva etc) binaries out there compared to Debian.
thanks -mike
Mike Hearn wrote:
I'm suggesting you use it as a place to start the port. If you decide to make things hard for yourself due to some bizarre hatred of desktop Linux, then you're just increasing the amount of work you'd need to do.
You don't even have to dual boot or anything, just stick it on an old PC and ssh into it if you absolutely must have glowing buttons.
Old PC? All my old PCs have X86 processors and they're running Linux. Are you saying there are sources of extremely cheap PPC motherboards to stick in a PC chasis?
(I don't think anybody has attempted Bochs integration before), it makes sense to get it out the way. But - if you want to leave it until later, you do it how you think is best.
Bochs has full support for Mac OS X including a .dmg binary on their download page, so the port for that package is done already by the Bochs team. The tricky bit will be going from Bochs virtual machine approach to an in-process extension sort of deal.
Mac OS X has had lots of attention from folks doing source level porting, notably the Fink group which has a Debian-based apt-get for a large number of the most used package. Even OpenOffice can launch and do a few things.
But as I've said, I'm not really keen on making large changes in two directions at once. Hopefully some more folks with ideas and skills will get interested in Wine for Mac OS X.
I think I will investigate the Linux compatible angle for a bit. I've already had some interest from some hard core Linux kernel hackers (although they seem pretty convinced Mach was the wrong solution, it is here to stay and at least the microkernel approach means we can neatly have multiple environments).
Jim
Old PC? All my old PCs have X86 processors and they're running Linux. Are you saying there are sources of extremely cheap PPC motherboards to stick in a PC chasis?
Sorry, a thinko :) I meant an old PPC machine....
Bochs has full support for Mac OS X including a .dmg binary on their download page, so the port for that package is done already by the Bochs team. The tricky bit will be going from Bochs virtual machine approach to an in-process extension sort of deal.
Yeah. From what I remember, Bochs uses only software emulation, which means it's very slow but very portable. Ideally there would be a libbochs that lets you pass in a block of code of any given architecture and have it translated into any other architecture. If there was such a library (not sure if there is) it could be integrated with the Wine PE loader code. Possibly.
Yeah. From what I remember, Bochs uses only software emulation, which means it's very slow but very portable. Ideally there would be a libbochs that lets you pass in a block of code of any given architecture and have it translated into any other architecture. If there was such a library (not sure if there is) it could be integrated with the Wine PE loader code. Possibly.
Such a thing did exist in TWIN I think as libintp32.a If I remeber correctly they adapted dosemu's X86 emulation and used it as a base for the dos/win3.1 support on other non-x86 arches
Thanks Steven
__________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com
On Wed, 8 Jan 2003, Jim White wrote: [...]
I think I will investigate the Linux compatible angle for a bit. I've already had some interest from some hard core Linux kernel hackers (although they seem pretty convinced Mach was the wrong solution, it is here to stay and at least the microkernel approach means we can neatly have multiple environments).
I think this is the right way to go.
Once you can run Linux/x86 application like Mozilla with acceptable performance in Bochs on MacOS X you should be able to run applications such as Word in Wine with similar performance. Similarly, once Linux/x86 Gimp runs with acceptable performance in Bochs on MacOS X you can run Photoshop in Wine with similar performance (well, once it runs in Wine that is).
The other way to go is the source-code compatibility route but that won't help you if the source for your target Windows applications is not available. Well, actually having that route well tested and mapped out would help once companies start considering whether it's worth porting their application, but that's indirect...
I think I will investigate the Linux compatible angle for a bit. I've already had some interest from some hard core Linux kernel hackers (although they seem pretty convinced Mach was the wrong solution, it is here to stay and at least the microkernel approach means we can neatly have multiple environments).
I think this is the right way to go.
Once you can run Linux/x86 application like Mozilla with acceptable performance in Bochs on MacOS X you should be able to run applications such as Word in Wine with similar performance. Similarly, once Linux/x86 Gimp runs with acceptable performance in Bochs on MacOS X you can run Photoshop in Wine with similar performance (well, once it runs in Wine that is).
Wine should be able to achieve greater performance than Bochs on the same system configuration. IIRC, WABI sent only 25% of its cycles emulating X86 instructions, the rest of the API calls were implemented and executed in native mode. In Bochs case, it spends 100% of its time emulating X86 instructions.
On Wed, 8 Jan 2003, Michael F. March wrote: [...]
Once you can run Linux/x86 application like Mozilla with acceptable performance in Bochs on MacOS X you should be able to run applications such as Word in Wine with similar performance. Similarly, once Linux/x86 Gimp runs with acceptable performance in Bochs on MacOS X you can run Photoshop in Wine with similar performance (well, once it runs in Wine that is).
Wine should be able to achieve greater performance than Bochs on the same system configuration. IIRC, WABI sent only 25% of its cycles emulating X86 instructions, the rest of the API calls were implemented and executed in native mode. In Bochs case, it spends 100% of its time emulating X86 instructions.
Not really. My understanding of it is that the system libraries (C library, X libraries, etc.) would be native MacOS X libraries (or at least PPC libraries). Thus even running Wine in Bochs would execute native PPC code something like 50% of the time.
By converting Wine's libraries so they are native PPC libraries you can save the extra 25% or so but only at the cost of tremendously increased complexity. I think it would be much harder than improvinig the performance of Bochs by implementing things such as just-in0time compiling (note I don't know exactly what optimisations Bochs already has).
Furthermore this is all assuming that your application spends most of its time executing code in Wine dlls or system libraries. This is most likely to be wrong for applications such as Photoshop, all games, and even to some extent Access or Excel (depends how you use these).
Thus, IMHO, improving the performance of Bochs and sticking to running Windows applications in Wine in Bochs is the best approach for now. Once Bochs is highly optimized, then it will be worth considering integrating it in Wine as a way to squeeze a few extra percents of performance... if it proves necessary.
Plus, making it possible to run any Linux/x86 application on MacOS X has benefits beyond Wine that should not be neglected.