Need help with darling?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

7.8K Stars 319 Forks GNU General Public License v3.0 3.7K Commits 190 Opened issues


Darwin/macOS emulation layer for Linux

Services available


Need anything else?

Contributors list


Darling logo

Darling is a runtime environment for macOS applications.

Please note that most GUI applications will not run at the moment.


Packages for some distributions are available for download under releases.

Build Instructions

For build instructions, visit Darling Docs.


Darling has support for DPREFIXes, which are very similar to WINEPREFIXes. They are virtual “chroot” environments with an macOS-like filesystem structure, where you can install software safely. The default DPREFIX location is

, but this can be changed by exporting an identically named environment variable. A prefix is automatically created and initialized on first use.

Please note that we use

for creating prefixes, and so we cannot support putting prefix on a filesystem like NFS or eCryptfs. In particular, the default prefix location won't work if you have an encrypted home directory.

Hello world

Let's start with a Hello world:

$ darling shell echo Hello world
Hello world

Congratulations, you have printed Hello world through Darling's OS X system call emulation and runtime libraries.

Installing software

You can install

packages with the installer tool available inside shell. It is a somewhat limited cousin of OS X's installer:
$ darling shell
Darling [~]$ installer -pkg mc-4.8.7-0.pkg -target /

The Midnight Commander package from the above example is available for download.

You can uninstall and list packages with the


Working with DMG images

DMG images can be attached and deattached from inside

darling shell
. This is how you can install Xcode along with its toolchain and SDKs (note that Xcode itself doesn't run yet):
Darling [~]$ hdiutil attach Xcode_7.2.dmg
Darling [~]$ cp -r /Volumes/Xcode_7.2/ /Applications
Darling [~]$ export SDKROOT=/Applications/
Darling [~]$ echo 'void main() { puts("Hello world"); }' > helloworld.c
Darling [~]$ /Applications/ helloworld.c -o helloworld
Darling [~]$ ./helloworld
Hello world

Congratulations, you have just compiled and run your own Hello world application with Apple's toolchain.

Working with XIP archives

Xcode is now distributed in

files. These can be installed using
cd /Applications
unxip Xcode_11.3.xip

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.