Running Mac OS X Binaries With NetBSD
An anonymous reader writes "KernelTrap has an interesting article about an effort to add a Mach and Darwin binary compatibility layer to NetBSD. The project has evidently already made a fair amount of progress, currently working to stabilize the WindowServer emulation portion that will then allow NetBSD to run Mac OS X graphical applications."
Will it be able to run the MacOS X shell, dock and finder?
That's great, really, but what is there to discuss? Now we can run apps from OS X on OS Y (my apologies), happy day. Next topic!
evil adrian
Now one can run native Xapps, windows AND OSX apps on a unix box.. ( in theory at least )
Best of all the worlds combined. Run the app you need, on an OS you can trust.
---- Booth was a patriot ----
That's pretty cool, but personally I'd probably just run OS X, it's a very nice OS. I can see where this would be nice though. Now if they can make this run on x86s (I know, VERY though, that requires emulating a ton more stuff) then I'll rush to download it.
Comment forecast: Bits of genius surrounded by a sea of mediocrity.
NetBSD has conquored the Mac! ;)
Very cool. I wonder if it could be ported to Linux once they've got working okay on FreeBSD. Then Linux would be able to run Mac OS X apps -- the Mac OS X versions of Photoshop and Word come to mind. One major barrier to the adoption of Linux on the desktop is the percieved lack of familiar applications, and Photoshop and Word are high on the list. Word has been pretty well taken care of by the Crossweaver WINE stuff, but Photoshop is still missing. Gimp is great and all, but most graphics professionals would rather keep using the package they're already familiar with than try to learn a whole new one, which is frankly often not as capable as Photoshop.
I was thinking of getting a PowerPC computer and install GNU Darwin on it, but unfortunately GNU Darwin is dropping PowerPC and Cocoa support, so it is kind of useless. Considering that NetBSD runs just about every computer out there, the ability to run OSX binaries is greatly appreciated. I really hopes this becomes popular and that is really DOES run OSX binaries well, cuz then I'll be VERY happy. Mmm. OSX compatiblilty...
Fuh-fh-finally, Mac OS X on the x86 platform! Initially I thought th-that it wasn't as good as that, since important parts like Cocoa, Aqua, and all the libraries wouldn't be ported.. besides, much of OS X is written in assembly language, but no.
I checked out the site:
The abstraction layer for running Darwin ports allows a drop-down parser to JIT any assembly language into a psuedo-C for emulation at the application level. OS X on x86 is definitely a reality.
Seems I was wrong. I can't wait to be running OS X and all my favorite apps on my PC. This is just what we needed.
It's only the NetBSD/powerpc port. The biggest problem with MacOSX is that it only runs on Macs. If I'm going to pay all that money for a shiny new Mac, I'm going to run Apple's shiny new operating system.
Someone stole my old sig.
But one question: is there anything Apple can do to stop this?
If you remember, they've been *very* anal in the past about some things they consider to be "their stuff", such as the look and feel of the OS. I can't see them just sitting around and watching while all their OS capabilities are matched (or, for that matter, exceeded).
If they sent C&D letters for freakin' themes, I doubt they'll just sit around while their API is emulated. They've show themselves to be rather devious, and I'd be a little worried if I was a NetBSD developer.
Dragging people kicking and screaming into reality since 1996.
Oh now look what you did: You woke the swarming team of Apple lawers on a beautiful sunday morning. They're going to be extra pissed.
_______
2B1ASK1
Or should that me...of course NetBSD runs it? Whew...imagine the possibilities. NetBSD runs on next to anything, and can run binaries in all those formats. /me installs NetBSD on his watch and tries to load Mail.app Dangit! Doesn't work. What crap is this???
Please correct me if I got my facts wrong.
Taken to its logical extreme, it appears that these guys would create a de facto x86 OSX. What would be missing? Obviously the OSX UI (could easily be cloned)...and some multimedia stuff. What else?
to use this, since it is only binary compatability. So You will still need to buy PowerPC based computers. And who is one of the largest and most noted for selling powerPC based PCs... Apple Computer; so why not just run MacOS X?
I know you can buy third party PowerPC computer, but they are more expense than Apple's machines.
I do appricated their effort, it is probably a good exercise in programming skill.
It would be useful if it was on x86, but there are plenty of problems with that; see
http://www.emaculation.com/ppc.shtml
(This is not a flame, just an observation)
Accentuate the positive, don't waste your mod points on the negative.
What works?
On NetBSD/i386: nothing. On NetBSD/powerpc, most UNIX binaries, such as ls, sh, or vi will work. No Graphical User Interface (GUI) based program will work for now. We are able to startup WindowServer up to the first attemps to use the IOKit. See the kernel traces for WindowServer and for mach_init to discover how far we have been.
Here is what have been implemented so far:
Mach-O binaries loading
Mach system calls handling
Minimal Mach ports, messages and rights support, so that simple program are able to link and run.
Signals handling (except for siginfo) Minimal multithreading support
Support in ktrace/kdump to display Mach messages (useful for debugging)
Hacks to get mach_init starting (and to get it behaving as bootstrap mach_init)
Support for port rights carried by Mach messages
Here is what is in the TODO list:
Implement Mach notifications for destroyed ports, dead names, and no sender ports
Re-implement enough of Darwin's IOKit to get
WindowServer actually displaying something.
Use COMPAT_MACH for COMPAT_OSF1 (Tru64 binary emulation on NetBSD/alpha), to get multithreading working.
Get Darwin binaries to link and run on NetBSD/i386
Running Gnustep on NetBSD? It has most of the NEXTStep/OS X libs already ported over to Linux (And therefore easily ported to NetBSD)...
This will be one of those things where it's cool because you can do it, but is there really any reason to do it? Kinda like Mac on Linux.
Karma: The shiznight, mostly because I am the Drizzle.
(No need for a hundred other people to tell me it is not an emulator)
I wonder if this could be used to get an increase in speed for running OS X apps without the overhead of the OS X GUI? If it eliminates the eye candy effects, I'd bet it'd be noticeably faster.
8==8 Bones 8==8
Boone's Farm Apple Wine.
Nothing to see here. Move along.
If they'd get it running on x86 the slowness would most certanly be outweighted by the coolness.
why on earth would i want to kludge linux on a Mac to run OSX apps when I can just run OS X? you'll notice that the project is still only for ppc machines, and while LinuxPPC/YDL is nice, i really prefer X...it's just so much better a *nix on the Mac...
Facts do not cease to exist because they are ignored. - Aldous Huxley
Um...I use MOL and have found it to be far from pointless. I use MOL mostly to run a FirstClass groupware client. The reason why I run Linux on a Pismo Powerbook is that I have an environment mostly identical to my x86 Linux machine at home. This means Linux largely frees me from worrying about underlying architecture (Wine and so forth aside). I have not found OSX to be so insanely great that I should blow away my Linux partition. Believe it or not there are good reasons to prefer Linux over OSX.
I have also found MOL to be far more reliable than Classic on OSX. Classic is much slicker in that OS 9 apps run directly on the Quartz desktop and one can cut and paste between apps. This also means it is more complex and therefore failure prone. My boss has no end of trouble with it. Classic icons go missing or change themselves into another apps icons. Some Classic apps will lock and won't release control to the Aqua UI. This means the machine is locked up for end user intents and purposes. Classic inflicts HFS metadata problems and some instability on OS X and kills much of OS X advantages if one has to make heavy use of OS <=9 apps. On the other hand if the OS 9 in my MOL sessions screws up then I can kill it and restart without affecting my Linux session. Since I boot my MOL session from an image I have an advantage normally only associated with virtual PC. If that boot image gets messed up, I can replace it from a backup quickly. Incidentally, MOL is very close to running OS X acceptably...eye candy and all.
MOL is can also be used as a user mode Linux. One can boot another acceptably fast Linux inside a virtual machine. This is useful for things like kernel development. MOL is far from pointless.
Most FreeBSD users I know have no interest in Photoshop or Office anymore now that the alternatives are as mature as they are. I think users of any BSD would enjoy this new compatibility, but I think it could be just as valuable to everyone (except MS) if MacOS X gained some compatibility layers.
What about apps like iTunes, or iCal... wonder if those will work.. if it can do graphical apps, keep in mind there is Office v.X for MacOS X.. does this mean Word on BSD?!
use MOL aka mac on linux!
http://www.maconlinux.org/
Linux BSD and Darwin all being Nix brother
I am still wondering why there is so much money invested for Windows port when it would be probably easier to have port from those
IMHO, the hardest part to copy, clone or imitate in Mac OS is the way the OS extends outside the Apple software.
The much appraised Mac 'look & feel' bases itself on all developers sticking to the UI conventions and guidelines, nicely outlined in this guide for porting over Win32 apps.
The longer you use Mac OS, the more you'll appreciate this 'cultural' aspect of the OS.
Having used Windows XP a lot lately, I've been quite happy with the OS and 'Window Manager' itself, but as soon as I actually use an other app, the whole experience breaks down.
Keyboard shortcuts vary, widget placement is random, the tone of dialog varies and in general, application interoperability seems harder.
Funny how so many people lust after the visual aspect of the UI, risking lawsuits from Apple, while the 'feel' part - the real magic of Mac OS - is quite publicly available AND applicable in form of UI guidelines.
It won't hurt your Win/Linux app to apply some/all of these guidelines instead of no guidelines at all.
J
KDE3.1 + Aqua WD (I forget the exact name, I don't use it) + Mosfest's Liquid Widgets + CodeWeaver's Crossover + the dirt cheap prices of x86 hardware == Hell
:-)
- No self contained applications. Installation process is _not_ "grab the app and drag it to your favourite place"
- No intelligent framework system. Try to use a KDE 1.0 app with your KDE 3.1 libraries. It breaks, because the goddamned _size_ of the _classes_ in fucking _C++_ has changed. Even if it were _source_compatible_ it wouldn't work, because of C++'s stupit ABI. (Note: Objective C doesn't have this problem
- No Project Builder. Use it, then you'll understand.
Those are only a few, but I'll stop here. It's indeed a Mac I'm looking for, and that's because it's thought out. It's not because I like the _look_ of the GUI. In fact, if you choose your tools by their looks, you probably have a larger problem than not having a Mac...
Me and my whole organization use StarOffice/OpenOffice for a long time ago, and we don't need MS Office. When we want to send a document outside the company, we convert it to PDF. Whenever we receive a MS Office document from outside, we open it it StarOffice/OpenOffice. When we need to check if the conversion was well done, we open the document in Microsoft Word Viewer, Excel Viewer and Powerpoint viewer, which:
When will people realize that if compatibility was so crucial, then we would still be using Wordstar or an even older wordprocessor?
Regarding Photoshop, Corel Photopaint and Gimp are excellent replacements. I know they don't have all the prepress features of Photoshop. But most Photoshop users don't use prepress features!
Notice the part you didn't quote:
"Once we will have a fully functionnal Darwin binary compatibility on NetBSD/powerpc (if that happens some day), we will just have to grab Mac OS X libraries to run any MacOS X program"
I.e. you would still have to have the whole Mac OS windowing, graphical, and multimedia (QuickTime) environment for something like Photoshop to run. That's a far cry from just getting Darwin running.
The only legal way to get the Mac OS libraries is to buy Mac OS from Apple. Or reimplement them in a legally defensible way. Good freaking luck.
A question..
..it will not harm you!
The status report link is from 1/2002...
Did anybody bother to read it before posting?
70 people so far did not..
The actual project ot watch is not NetBSd..in that they don't have the nice Apple relationship like Darwin does..
In fact if my memory is right the proejct was stopped because they were duplicating Darwin's efforts..
To see if MacOSx will run under intel machines check Darwin porject site not NetBSD!
Come on People read once in awhile
Show yourself to better than those wintel geeks who don't even read but jsut spout what MS Gates wants..
Don't Tread on OpenSource
As I pointed it out on the subject - no need to buy that expensive Apple hardware any more! THAT is the really great thing about this.. open solutions, no proprietary shit.
OK, this is probably a stupid idea but..
Anyone know what kind of speed a powerpc emulator running on a x86 would get?
If this OSX apps on BSD/PowerPC jazz works, what would you get if you coupled it to a powerpc to x86 emulator and had OSX running on a x86?
Even if it ran at half the speed you might end up getting a cheaper 'mac' because x86 hardware is cheaper?
Realizing the 'open source' (sort of) nature of Darwin, I've thought of doing this myself (for linux).. but just didn't have them time.
For those who think this is a dumb idea.. you're not seeing the bigger picture. Currently, MacOS X only runs on G3 and G4 apple machines designated by Apple unless you boot Linux and install Mac On Linux (similiar to Plex86 for PPC). If you can run OSX applications on Linux, NetBSD, etc.. then you wouldn't need the overhead of a VM. Your RS6000 could run OSX with minimum overhead. From NetBSD you could run from the same machine, binaries compiled for: OSX, Linux, FreeBSD, and NetBSD.
Personally, I don't like OSX; However, I wouldn't mind being able to run natively on Linux: Internet Explorer, Quarx Express, etc.. Not to mention that Quartz is a pretty neat looking, X11 compatable (with Xfree86-rootless) windowing system.
This is more important for Linux than NetBSD, only because NetBSD currently has poor support for devices on many PowerPC machines (compared to Linux), especially laptops.
How is this scenario illegal?
Joe User puts NetBSD/PPC on his Mac.
Joe User copies libraries from his Mac OS X partition
Joe User runs Mac OS X GUI programs from NetBSD.
And before you start shitting me with crap like, "But why not just use Mac OS X?!", keep in mind that yes, there are people who prefer NetBSD, and no, they have perfectly good reasons for doing so.
What this just means is that those people don't have to reboot to run some Mac app. That's a good thing. Don't knock it.
Besides the awful spallilng in this post, it is also wrong. The mailing list post referenced in the blurb is from 1/3/2003. Check the Google mailing list archive if you want. Who the hell modded this troll up? Check first.
Big deal. So you buy OSX 10.1 (can be found new and legally for 50 bucks) and you're set. I don't care if I don't get the whole thing for free or not as long as it works. What's the problem?
As a linux user, I really can't see why you'd do this, except if you were basically trying to pirate MacOS-bundled apps on your netBSD box. However, I'd have expected netBSD users in particular to be more ethical than that. You can already run whatever apps you want with a Windoze emulator.
Ok, you might also do this if you just wanted to piss off Apple, but that would be gratuitous.
I'll take a good quote from the article: "If we could run Photoshop or any of the commercial Apps this would be worth something, but to run X Window apps many people already offer their apps in a native format so this thing would be as useless as a snow shovel in Arizona."
Why don't you look at the bottom right corner of their page doofus.
Frick and frack.. I have installed netbsd and openbsd on a g-4 cube but no native modem support. So I will be able to run OSX apps but can not get on the web because of poor hardware support... Sorry to bitch but hardware support for Netbsd needs tuning and these other projects can wait !
Love,
The rodster......
Actually Netbsd had IPV6 before Mac os X did and yes if you look at the mailing lists and cvs you would see it like the other BSD's is very active. In fact if it were not for Netbsd we would not have OS X because os X was first based on Netbsd despite what Jordan and all the others say. Fred ( the man who basically put Darwin on the map ) ported mostly Netbsd stuff over.
Cheers,
The rodster....
Perhaps surprisingly, it probably isn't illegal!
...
I'm assuming that this NetBSD kernel+shim is being used to replace just Apple Open Sourced components , in which case, you seem to fall within the scope of section 2B of the Mac OS X License.
To be totally careful, your step 2 would have to be Joe User nukes the shipped Darwin kernel with his new kernel, but I doubt it makes a difference, as long as it is the same computer; the computer can run only one of them at a time.
2. Permitted License Uses and Restrictions.
B. Certain components of the Apple Software have been or may be made available by Apple on its Open Source web site (http://www.opensource.apple.com/) (collectively the "Open-Sourced Components"). You may modify or replace only these Open-Sourced Components; provided that: (i) the resultant Apple Software is used, in place of the unmodified Apple Software, on a single Apple-labeled computer; and (ii) you otherwise comply with the terms of this License and any applicable licensing terms governing use of the Open-Sourced Components. Apple is not obligated to provide any maintenance, technical or other support for the resultant Apple Software.
Indeed. You show a deep understanding of the politics of computing. Only you got the country wrong.
yes, freebsd and netbsd are not dying. though maybe you could argue that openbsd is.
:)
but the episode you describe does illustrate how the licenses used in netbsd allowed the owners of Apple to take good code proprietary.
this is what the gpl is all about. too bad we can't make a gpl fork of netbsd.
How about "OSXE"? Pronounced "Oh sexy."
yes, you are correct apple did take good code and make some changes and release it under the APL. To bad it can not all be Open Source and Free. About the gpl fork of netbsd have a look at the debian project to port debian to Netbsd.
http://www.debian.org/ports/netbsd/
Almost sounds like what you described !
Cheers,
The rodster.....
I made the move to MAC when OSX first came out. I guess I finally had a reason to purchase a computer that didn't come with bundled MS operating system and was based on UNIX. I try to avoid support MS as much as I can. :) The only thing that bugs is that I have to run Windows at home so that my kids and wife can use the home PC with ease. (Linux has come far, but its still not a really intuitive home desktop for the computer illiterate.) I only wish there would be a PC based distro of OSX. I would be happy to dish out the money for the licensing.
kha0z
Master of ImportChaos.com
That was my plan, as im sure it would be ported over.
I commend the NetBSD people, but i still use FreeBSD for now since im only running i386 chips these days.
---- Booth was a patriot ----
about html <br> tags.
You can't judge a book by the way it wears its hair.
Please correct me if I got my facts wrong.