Darling: Run Apple OS X Binaries On Linux
An anonymous reader writes "After having Wine to run Windows binaries on Linux, there is now the Darling Project that allows users to run unmodified Apple OS X binaries on Linux. The project builds upon GNUstep and has built the various frameworks/libraries to be binary compatible with OSX/Darwin. The project is still being worked on as part of an academic thesis but is already running basic OS X programs."
... Apple finds a loophole and sues this developer into oblivion?
They're there in their room. You're on your own.
... will I finally be able to cut & paste across applications? *ducks*
Seriously though, if this is going anywhere near wine, we'd have the best of three worlds on one platform.
There are fewer illiterates than people who can't read.
apt-get install qemu
I have a hunch Darling would need some extra beating, but it's no different from wine on ARM.
The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
Given that iOS began as a stripped-down fork of Mac OS X, Darling could mean eventually running the entire contents of Cydia on Android devices in addition to the jailbroken iTrinkets that it currently runs on.
no? damn
Well, neither does the current Mac OS X. So it is fully compatible in that regard.
Darling could mean eventually running the entire contents of Cydia on Android
The days of iExclusivity have long passed, anything of value is already on both platforms, or that Android passed iOS both in number of Apps and Downloads in October [700,000 ans 25,000,000,000 respectively]. Although I believe that iOS should have always allowed 3rd party stores, and people should be allowed to move cross-platform programs...between platforms. I do think this unnecessary lock-in needs to be stopped.
Although me personally I have more interest in running my Android Apps on my touch-screen Linux Desktop.
Is there anything worth running?
Well the Xcode development environment is Mac OS X specific and unlikely to be ported to any other platform.
There's Mac-on-Linux for that, last updated in 2007:
http://en.wikipedia.org/wiki/Mac-on-Linux
I suspect he'd have to go to the US in order to be able to leave the US.
This is nifty in all, but all their example application is doing is literally the graphical equivalent of "hello world".
GNUStep still only implements maybe 30% of the Apple APIs out there. And they still don't do them 100% the same way- see NSDecimalNumber for reference (Apple has a really stupid whacked way of doing it, GNUStep's implementation is slightly more sane- but they still shouldn't be straying from what Apple does if they want a compatible API in the end). Things like Core Animation, Core Graphics, Core Image, etc... Forget about it. The GNUStep guys have barely even bothered to look at that stuff, let alone implementing it.
Sadly, there is a lot more to a modern day Macintosh application then your standard NS/CF classes (even though Core Foundation is kinda opensource). You're not going to see Tweetbot or Cornerstone or Coda 2 running on anything other then OS X for a very, very long time. iOS might be a bit different since the majority of UIKit is very well understood (and there are various other APIs out there designed to re-implement it), so basic iOS applications could probably run with little effort- but for anything using APIs outside of UIKit (again, Core Animation, Core Graphics, Core Audio, Core MIDI, so on and so forth)- nobody has really spent any time on understanding how those work and re-implementing them elsewhere, and a lot of apps hook into this stuff to give you the nifty iOS experience that other handhelds can't.
In other words, the biggest barrier to this project isn't running OS X binaries on Linux. That's easy. It's implementing the other 70% of the stuff that nobody has even remotely begun to poke at. The OS X API library is vast and expansive, and GNUStep has done a good job replicating what we had on NeXTSTEP in the 1990s- but they've got absolutely none of the modern OS X stuff.
(I am the author of Darling.) And you're correct. Supporting PPC is on my TODO list and will not be that difficult I'll just have to port the few assembly routines.
Because as good as OS X is, it's not a particularly good server platform and requires Mac hardware, while Linux has been around for ages, runs on commodity hardware, has a very well supported number of open source packages and is considered mainstream by most Unix admins.
As a server platform, OS X suffers from the same problem as Solaris. You need the vendor supplied hardware to get it to run well. Solaris is a dying OS because Sun and Oracle supplied hardware is too expensive and just isn't worth it when you can get three times the computing power for less money, and X86 Solaris is frankly crap, since it has such a small hardware compatibility list.
I don't mention BSD since it's not really mainstream any longer. It's a good OS, but lacks overall vendor support.
All that being said, I prefer OS X systems for my workstation and CentOS or Scientific Linux for servers. Redhat's nice, but overpriced when you need to deploy a lot of systems.
Don't anthropomorphize computers, they don't like it.
I guess if we can run Mail.app the issue of crappy email clients on Linux is solved.
I'm not saying that's the issue both both applications you mentioned use GTK so maybe that's one reason why it works but may not work in other cases.
And GNU/Linux isn't all GTK.
"All GTK" may be sufficient to make cut/copy/paste work between applications, but it's not necessary. I just did a quick Wireshark build (to get a GTK+ application) on my Fedora-16-with-KDE-4 (virtual) machine, and was able to cut with ^X or copy with ^C from the Wireshark filter text box and paste with ^V into the app launcher Search text box and KWord, and cut or copy from either of the latter and paste it into the Wireshark filter text box.
So it works at least between those versions of GTK+ 2.x and Qt 4.x. There's no guarantee it will work between toolkits A and B for arbitrary values of A and B, but if a toolkit implements cut/copy/paste as per the freedesktop.org clipboard consensus - as that page notes, Qt and GTK+ both do - cut/copy/paste should work between applications using that toolkit and other applications using that toolkit and other toolkits that implement cut/copy/paste as per that consensus. (According to the page on that consensus, Qt 2 and GNU Emacs 20 didn't implement cut/copy/paste as per that consensus, but Qt 3 and GNU Emacs 21 would.)
None of that, BTW, gets rid of paste-current-selection, i.e. the action usually bound to the middle mouse button on many UN*X GUIs.
(Note, BTW, that the X11 term "selection" doesn't necessarily mean "what you've selected in the application"; that's the PRIMARY selection, but there's also the CLIPBOARD selection, which is whatever you've cut or copied, and the SECONDARY selection, which is probably unused unless you're using an XView application.)
Oh joy. Now I'll be running three versions of Steam: All Linux games on the Linux client for to encourage support for FOSS platforms, the Mac client for generic multi-platform solidarity, and the Windows client for the rest of it.
In any case, I opened the first PDF that I found in ~/Downloads, copied a paragraph, and successfully pasted it into Leafpad. So copying from Evince to Leafpad worked. Then I did wine notepad.exe and pasted the same paragraph from Evince into Wine Notepad. To finish proving the point, I even typed this very sentence into Wine Notepad and copied and pasted it into Firefox. So if they managed to get the clipboard working between GTK+ and Wine, I don't see the big obstacle to getting it working between GTK+ and Darling.
OS X is a capable OS, but best used as a workstation at best. Deploying large numbers of OS X servers is greatly complicated by the fact that even Apple acknowledges that there's no market for their server grade systems and they've stopped selling them. Even if I put a Mac Pro into production, they'd be so expensive and occupy so much room that they'd fill the data center. If I stick a Mac Pro sideways in a rack, it takes 4 or 5U at least for 12 cores. I can put 4 dual hex or octo core Xeon rack mount servers in the same space or even some dual 16 core opteron servers. If I choose to use blades, I can put 16 HP 460c blades in 10U.
Don't even mention the Mac Mini as a viable server platform, it's an underpowered joke of a system if you want to do real work on it for sustained periods of time. They're not intended for, nor will they stand up to the kind of loads you see in the enterprise.
I work in the IT industry running computational clusters and lots of other kinds of servers. My rock is pretty large, but I'm on the top of it.
I do have a couple of OS X servers in the enterprise, but they're only there to run Open Directory to manage our Mac workstations.
your assertion that windows 7 or OS X is better than a Linux server shows how out of touch you are with enterprise computing. We have some windows 2003 and 2008 servers in production, but they're there to provide infrastructure for the windows workstations. No one tries to do anything else with them since it's far easier to deploy services on Linux.
As I mentioned, I love apples workstations and laptops but they don't make an appropriate platform for running any meaningful services in the enterprise.
Don't anthropomorphize computers, they don't like it.
Although I believe that iOS should have always allowed 3rd party stores, and people should be allowed to move cross-platform programs...between platforms.
A port of GNUstep to Android would let iOS application developers target Android with much less additional effort. It could help make a lot of currently App Store-exclusive applications into cross-platform applications.
On the other hand, I don't think the license specifically made any distinction that the new PC you purchased in a "bundle" with the OEM copy of Windows could NOT be a Mac?
Because Apple doesn't sell bundles of Mac hardware and Windows OS.
So you could probably buy a new Mac at a retailer like Micro Center and buy an OEM version of Windows 7 at the same time, for use with that Mac, and run it in a VM legally.
As I understand the Windows license prior to PULSB, Micro Center would have had to install Windows into Boot Camp or VirtualBox or VMware before selling the Mac. I don't know if Apple allows its authorized resellers to do that. Unfortunately, I can't really look further because after PULSB, the old "Windows Licensing for Hobbyists" page on Microsoft's site appears to be 404.
How the heck is Microsoft going to know if that OEM copy of Windows 7 you possess and loaded on your Mac was actually purchased originally with said Mac
I don't know whether Microsoft actually does this, but the Windows product key could be stored with the computer's serial number in a database that Microsoft could reserve the right to audit.
Re: windows vs Mac, I personally hate using windows as a workstation, but I have one at home for gaming. In general, it's a crufty clunky dog's breakfast of an OS that's a pain in the butt to configure and update. I've used nearly every version of DOS or Windows since the days of DOS 2.0 and Windows 2.0, so I'm familiar with its flaws and foibles. The only versions I've never used are Vista and Win 8.
MacOS used to be a crap OS. It was pretty, but didn't multitask at all and crashed far too often to trust. OS/2 was nice, but fragile and was never as popular as Windows. OS X is an awesome OS for workstations and is excellent to work with for day-to-day stuff. The only Linux I use for workstation stuff is Ubuntu. CentOS as a workstation OS is ok, but is too much of a pain to deal with for stuff like sound cards, etc.
Slashdot has a lot of different kinds of people on it. Many of them hobbyists and people who work in small *nix shops. Many are also enterprise IT types and the most popular enterprise *nix is Linux, hands down. Redhat/CentOS flavors dominate, but there are a few debian shops as well, such as Akamai.
A lot of that stuff is just holy wars, but if you look at what vendors support what OS's, You don't typically see much for BSD. Our company recently retired a BSD cluster and are in the process of decommissioning our BSD-based servers for a myriad of reasons. Juniper may use BSD in their stuff, but many more use Linux as their embedded OS.
BSD is popular with some companies and in colleges, but when you get into the real world it's either Linux or Solaris and Solaris is fading fast. Look at the job market. Linux is what most companies are looking for. I'm not dissing BSD, but I'd never recommend it for anything in the enterprise.
I used to run some SunOS (bsd-flavored) systems 'back in the day' and loved them, but when Solaris came out, pretty much everyone switched. I've used Solaris 2.5 - Solaris 10 on both SPARC and X86 and have watched it decline over the years in popularity because of hardware costs and X86 compatibility issues. Oracle has made some really dumb moves over the years regarding the stuff they purchased as part of Sun and most admins I know have given up on their stuff.
Don't anthropomorphize computers, they don't like it.
I would be a lot easier to just buy a used PPC Mac mini.
There was a similar attemptin NetBSD almost 10 years ago. .
That prehistoric project implemented Mach-O loader, Mach system calls, and has been able to start OS X display server. It felt short actually displaying something useful, and died from lack of user interest.
You sure about this? You can run even the latest and greatest Windows versions of Steam games via playonlinux, which is basically a wrapper for WINE. Things have improved greatly in the last year or two.
even more awesome, we can now run Outlook for Mac on Linux! standard at my work, it sucks even worse and harder than outlook on windows
Wine is working great these days. Steam, video games and even Netflix.
Enjoy your one frame per second!
I believe in proper ports, using cross-platform tools. In fact with Windows is becoming just another platform. Its simply less of an issue, but to suggest Wine is slower when its often faster is really strange.
http://wiki.winehq.org/Debunking_Wine_Myths
I've given you a link to show how misinformed you are. I suggest you spend a little time getting informed
They should have named it Dine.
========
77 77 77 2e 6d 65 6c 76 69 6e 73 2e 63 6f 6d
yea well if I got to drag out the powermac to boot into linux ppc to run a mac emulator... whats the point
Apple was in fact the #3 storage vendor in the world when they discontinued the product
[Citation needed]
Like WINE, Darling would provide the capability without Apple's OSX files. From the article:
Darling must provide an ABI-compatible set of libraries/frameworks as those on OS X so it can parse the executable files for the Darwin kernel, load them into memory, and execute them without needing any code recompilation or other modifications for Linux.
I could be wrong, but I suspect implementing the OSX APIs in Linux might actually be easier than trying to implement Win32. Partly this is because OSX is already a *nix-based system, so you don't have to do as many weird hacks with directory mapping and so forth. But mostly I think it may be simpler because Apple has relatively clean APIs and relentlessly deprecates legacy stuff. When you implement Win32, you have to implement literally thousands (if not millions) of hacks and special cases going back to the 1980s. This is not without justification as a design goal – backward compatibility is one of the reasons why Windows has had such staying power in business – but it's difficult for even Microsoft to get the whole edifice running smoothly, much less third parties with no access to internal design documents and source code. In contrast, when Apple switched from Carbon to Cocoa, they were pretty aggressive about deprecating the old framework.
Your rock however must be small indeed because BSD is certainly "mainstream", as has been discussed on /. ad nauseam.
I don't know how accurate the stats are, but w3techs puts FreeBSD at 1.1% of all web servers, that's roughly as mainstream as Linux is on the desktop - in other words not at all. It used to big be yes, but my impression is that Linux got corporate backing and raised the quality significantly while BSD remained a mostly amateur project. Particularly they were rather late with production grade SMP support which started a lot of migration to Linux and while a lot of web hosting companies used it in-house and small companies offered support there never formed a big professional support organization like Red Hat was for Linux. Not to mention Linus has by some small miracle managed to keep it together under one banner instead of forking into three branches with duplication of effort.
Live today, because you never know what tomorrow brings
If this ends up supporting Adobe Creative Suite better than Wine, then that will be a huge win as it is a very common "why I can't use Linux" excuse.
How good is Apple's documentation compared to Microsofts? This is important for a clean-room implementation.
it sucks even worse and harder than outlook on windows
Clearly you have not had Notes inflicted on you, if you had you would cling to Outlook with all your heart and count your lucky stars.
XML is a known as a key material required to create SMD: Software of Mass Destruction
OSX is Darwin (A MACH micro kernel) with a BSD user land + OpenStep + a fuckton of proprietary Apple stuff. Nothing Linux about it.
You do know that Linux is just a kernel right? Son, these days Solars has more in common with Linux than OSX does.
XML is a known as a key material required to create SMD: Software of Mass Destruction
GPLv3 means it is not going to be distributed with a device that can't be unlocked. "Installation instructions" for a Nexus device: enable third party sources and install .apk for user space, unlock device, root, install whatever you want. That's all you need to provide.
Analogies don't equal equalities, they are merely somewhat analogous.
OpenSSH is an integrated subsystem of OpenBSD, which has a market penetration of at least 95%. The OSX kernel is BSD-based, so by numbers of kernel installs BSD is probably ahead of Linux. Consider the basic strlcpy() function, which Linux recently adopted... sometimes BSD gifts come in very small packages. BSD probably dominates the IT industry just as profoundly as Linux, but not in a "monolithic" manner.
You obviously haven't used Notes since the 90's when outlook was non-existing. The company I work for switched from Notes to a MS-solution a couple of years ago, and I hear more and more of the users wanting to go back to it! An MS based solution with Exchange and Sharepoint might be easier to set up for the sys-admins, but for users, domino is a far better choice! It just works a lot better and the systems are more integrated with each other.
This is blinging
I've been doing IT and development in the "real world" for ~20 years, and you are absolutely wrong. There is a lot of Windows infrastructure out there. Nothing competes with AD/Exchange/Sharepoint in corporate environments. Nothing. There's a ton of BSD as well. .Net is far more prevalent then you seem to have any clue about.
The only reason for that can be that you don't know what you're doing / talking about.