X
Tech

OS X apps on their way to Linux courtesy of Darling project

A project is aiming to build a Wine-like compatibility layer for Linux operating systems that would allow them to run OS X applications.
Written by Nick Heath, Contributor

Fancy running iWork on Linux? It may one day be possible courtesy of a project to get Apple OS X programs running on Linux-based operating systems.

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

So far the project has a small number of OS X programs working with Darling and is testing various other applications, such as Midnight Commander, QREncoder, Bayon, The Unarchiver and World of Warcraft. Which apps could or couldn't be run on the Darling layer isn't yet clear.

Theoretically the Darling layer could also run iOS apps, as it is targeting software that has been compiled to run on the Darwin software kernel used by iOS and OS X.

While the idea of porting some iOS apps to the Linux-based Android OS might sound appealing, the Project Darling wiki says there are a number of technical barriers, such as porting assembly code to the ARM-based Risc chip architecture used in smartphone handsets and adding support for relevant software frameworks.

According to the project's wiki page, Darling works like so: "It parses executable files for the Darwin kernel (Mach Object Files) loads them into the memory (just like ld-linux.so does with ELF executables) and executes them."

On top of that Darling needs to make the software libraries and frameworks that OS X applications require available in an Application Binary Interface-compatible fashion.

Darling relies on GNUstep, an open source implementation of Apple's Objective-C software libraries whose purpose is to allow applications to be built that can be run on Macintosh, Unix and Windows systems.

More details about the project are available on its wiki page and the code for the project in this GitHub repository.

Editorial standards