New project lets OS X applications run inside Linux
A developer has started an open source project in an attempt to run OS X applications on Linux. The first OS X software would now be supported by The Darling Project using a Darwin emulation layer.
The Darling emulation layer, which is written in C++11 and Objective-C, functions essentially the same as Wine, the Windows emulator for Linux operating systems, according to the developer. OS X binaries are passed to the Darwin kernel and the code is started. However, in order to run the software successfully, links have also been made to the so-called abi-compatible libraries and frameworks used by OS X software. Code has also been added to Darling to allow programs written in Objective-C to run smoothly through support for the associated Cocoa libraries.
The Darling emulator is currently capable of running some simple OS X applications within Linux. To do this, a so-called Mach-O loader is used to read the OS X binaries, a runtime transition layer for Apple Objective C and a Darwin emulation layer.
While the current early version of Darling can’t yet emulate iOS code, it should theoretically be possible to run iOS applications in Linux. However, this requires additional libraries to be added to Darling and the emulation layer must also be made suitable for the ARM architecture.
Currently, developer and student Luboš Doležel has no concrete plans to add iOS emulation to Darling because, in his view, Android currently “dominates the market.” Furthermore, Doležel reports that his project only uses open source code and that his emulator therefore does not violate Apple copyrights.