Attempt to bring OS X apps to Linux springs back into action

Attempt to bring OS X apps to Linux springs back into action

Summary: The Darling project, an attempt to allow OS X apps to run on Linux operating systems, releases a new to-do list for developers who want to help out with the ambitious project.


New life has been breathed into a project to make Apple OS X programs run on Linux-based operating systems.

The Darling project is beginning to see new activity on GitHub after months of dormancy and the website has moved to a new address

Similar to how Wine allows Windows applications to run on Linux OS the Darling project is trying to build a software compatibility layer to run OS X apps.

The Darling translation layer can currently run a number of OS X console tools and applications, such as Midnight Commander, and some simple GUI applications with the help of the GNUstep project.

According to the site the aim of the Darling project is to provide "a dynamic loader that can load OS X executables (Mach-O)", "runtime, system library and framework reimplementations to enable OS X executables to functions" and "additional tools to assist with application installation".

Currently Darling won't run many OS X apps, as the lead developer Luboš Doležel puts it on the project website "there is a lot of work ahead of us, but not so much to have usable results".

For developers and software engineers that want to help out with the Darling Project Doležel has produced a list of what needs doing including better Mach system call implementation; writing more test programs to ensure the libc and BSD APIs are well covered and Core Audio implementation.

Doležel says the project is not violating Apple licensing agreements as no part of the project contains code covered by Apple's EULA. He recommends not using Darling to run something covered by Apple's EULA and to also avoid any APSL-licensed code.

The name Darling is derived from Darwin, which forms the core operating system components of OS X, and Linux.

More details about the project are available on the Darling project website and the code for the project in this GitHub repository.

Topic: Linux


Nick Heath is chief reporter for TechRepublic UK. He writes about the technology that IT-decision makers need to know about, and the latest happenings in the European tech scene.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • In theory, an easier task than WINE

    as the OpenSTEP interfaces are very well documented. And OS X is basically OpenSTEP on BSD, with Quartz instead of Display Postscript.
    • Yep

      Except for all those pesky little Graphics implementations that Apple put in but, Imagine much of those are standards like OpenCL and OpenGL.
  • Why would anyone wan this?

    can't you just run the Android app on the computer, seeing that Android is Linux.
    • Android is not Linux

      The answer is no... because Android is not Linux. Android apps are essentially Java apps that use a byte-code interpreter called Dalvik. Dalvik runs on top of the Android kernel... which IS a modified version of the Linux kernel. OSX apps, on the other hand, run over freeBSD, but with Apple specific idiosyncrasies. Getting OSX apps to run in Linux (like Windows apps run on gnu/linux via wine) is going to be a challenge, but also an opportunity. Whether it will be legal or not is another thing.

      Wine means (wine is not an emulator). Wine actually provides the windows components (dlls) that are needed to allow the windows app to run in the gnu/linux wine environment. The Darling project is going to have to provide a similar environment for OSX apps to run on gnu/linux so that to the app it "feels" like its running on an Apple box. I have not looked at the project yet, so I can't comment on the methods nor the legality at this point.

      • Wine works so poorly. I expect Darling to be even worse.

        Wine works so poorly, I abandoned it. I try it again occasionally, but there are too many things missing preventing nearly every app from functioning. For example, basic USB support is not present. Wine has been very disappointing.

        I would strongly suspect Darling is also going to be similarly poor.

        Note that many apps are sold through the Mac App Store. These have Apple's proprietary software security locks in place. If these apps run on Darling, they are obviously cracked pirated apps.
        • WINE is not an emulator . . .

          . . . and Darling will probably evolve in the same way.

          Yes, wine has been frustrating. Back in the day, when I worked with IBM and they insisted as always on being their own best customer, we were required to run Lotus Bloats, er, I mean Notes. I was the first person at IBM to switch to a gnu/linux workstation as default, and one of the first persons to get Lotus Notes running under WINE. Yes, it was a monster undertaking... but we did get it to work !

          WINE has to be tweaked for each and every non trivial app. I remember the times... oh, look, mine sweeper runs in WINE.... also, notepad... but if you wanted a real app (like Lotus Notes) to run in WINE, well, that was a horse of another color...

          One of my favorite desk machines is my mac mini... which I boot via rEFIt (and bootcamp) into gnu/linux --- Mint Cinnamon (writing from there now... ). When I want to use iTunes, and I do from time to time, I boot into the mac OSX. Otherwise, I boot into gnu/linux (like now). So, I'm not going to be looking to run OSX apps over gnu/linux using Darling, nor anything else.

          What I want to see in the future (not ways to run proprietary software on Gnu/Linux) are free libre applications that will take the place of proprietary software completely. We need generic OGG devices and libre software ways to load them... and so on.

          Yes, WINE works poorly, and Darling will probably follow suit.

        • If these apps run on Darling, they are obviously cracked pirated apps....

          Just like the Android apps that runs on BlackBerry or even on Windows via BlueStacks....
          Does anyone care about it? Incredibly, nope!
      • Android is not Linux

        oh contrare my friend. Android IS a Linux distro...just not a GNU/Linux distro.
        • I love you too much to argue with you . . .

          . . . but in this case . . .

          The term "distro" is reserved for a "distribution of the GNU system running over the Linux kernel'.

          Dude, its a definition. I hate it when ppl want to argue about a definition. Its like arguing over the axioms of the Peano system of mathematics. Get an education.

          In all seriousness, the situation is getting bizarre. Ppl don't really know what Linux is, and we (FSF and others) want to change that. The term "Linux" refers *only* to the linux kernel and nothing more.

          In terms of Android, Google has leveraged the Linux kernel as a fabulous open platform for sporting their Dalvik byte-code interpreter. Google has not produced a "Linux" distribution, because (by definition) what they produce is missing components of the "distro".

          How could Android "BE" a distro ? That's a question of another dimension...

          If the user did not need to "root" the device... because the user has access to root... then we would be moving towards the "distro" category... but we would not be there unless the Android box sported the GNU system expected by all gnu/linux distro users! So, no busybox, the actual GNU system and expected so-forth. Now, after building an actual Gnu/Linux distro, if Google were to then build their Dalvik system over the top (giving the user full control over it, including providing the user with the source to Dalvik... then they (or you) could call it a "distro". But they would have to be clear that it was a Gnu/Linux "distro" running Dalvik over the top... and that all of it is in the control of the end user.

          Please, get an education.

  • OS X apps on Linux....

    An interesting project and on the face of it not too much of a challenge as Linux and UNIX (which OS X is somewhat loosely based on) have similarities in parts regarding code.

    Linux users have been crying out for years for iTunes to be made available for the platform. No doubt if iTunes and other such useful apps. were to be Linux compatible the platform as a whole would benefit immensely.
    • itunes for linux

      itunes alternatives for linux have been available for years to get media on and off the idevices.
      No self respecting linux user would go near itunes.
    • iTunes won't work

      iTunes won't work on Darling since to do so means Darling has code that breaks iTune's DRM protections on iOS Apps and Movies. Such code would be grounds for a lawsuit and prison time.
  • huh?

    You wish there was an edit button right?
  • Shouldn't be as hard

    To port OS X apps to Linux, because of the bigger number of similarities between the two.
    They're both UNIX-like operating systems. That would be a really interesting addition to Linux as well.
    It would be easy to create an OS X substitute on Linux if someone were willing to give up the multitouch gestures. I've seen plenty of add-ons to Linux-based operating systems that mimic the appearance of OS X, and this is aiming to add the compatibility of applications, but I don't think any OS X appearance shells for Linux incorporate any of the great gestures that OS X has.
  • OS X apps on Linux...

    This is going to get big quicker than Wine ever did. The kernel is already open source. The only things really left to do are create post script handlers which communicate with Aqua and Quartz. Apple has this ability though to spin code so that it doesn't rely so much on the Darwin kernel since the kernel is Open Source.

    Having written a lot of code for OS X, I always saw this as an easier task than Wine though. All one would need to do was port a few things over and meet the dependencies, grab some files from OS X and BAM OS X applications on Linux!

    The latter part is legally grey but it could help stem development.

    My next computer is going to be a Mac Mini however for development purposes. Windows is ok and everything, but I like *nix better. Linux is a dirty dirty hack of hodge podge code which never seems to get done. Linux has trained me and I love it, but I am ready to take the next step and buy a Mac.