MacOS programs on Linux? With Darling it is possible.

MacOS programs on Linux?

As time goes by, hehe differences between operating systems are becoming irrelevant. Virtual machines, containers and other technologies allow us to use more titles of our favorite programs every day even if it does not have a version for our operating system.

Wine, the tool that acts as an interpreter between the Linux kernel and Windows applications has been around for a long time. Recently, we also have a tool for macOS programs.

MacOS programs on Linux? With Darling it is possible

Darling fulfills a similar function to that of Wine with Windows programs, only it has no complex in defining itself as an emulator. What it does is act as a translator allowing macOS programs to run using Linux resources. The name Darling (Dear) is the first part of the macOS kernel name (Darwin) and the first 3 letters of Linux. I guess the final G is to build a word that is easy to memorize.

It must be said that Darling developers find it easier than Wine developers. They don't have to reverse engineer or reinvent anything since they are based on the parts of Darwin that are under open licenses. Darling itself is distributed under the GPL license.

Starting Darling

The program does not have a graphical interface. We start it from the terminal with the command:
darling shell
By typing it, Darling will either create a virtual root directory or connect to an existing one. It will also load the kernel modules and build the virtual file system where we will run the programs.

From the command line we can access two types of file systems: the traditional macOS that includes top-level directories such as / Applications, / Users and / System among others. On the other hand, we find the host operating system in a partition called / Volumes / SystemRoot

We can check the kernel with the following command:
And find out the version of macOS with:
We left the terminal with
And we turn off the container with:
darling shutdown

Installation of programs

If you are using Linux in dual boot with macOS and you want to run any of the programs that you have installed on the Mac partition, you can do it with the command:
/Volumes/SystemRoot/run/media/usuario/Macintosh HD/Applications/
Many macOS programs ship in .dmg format. To install them in Darling we do:
Darling [~]$ hdiutil attach Downloads/aplicación.dmg
Darling [~]$ cp -r /Volumes/aplicación/aplicació /Applications/

In the case of applications stored in compressed files, we unzip it and copy it to the / Applications folder. The same with apps previously downloaded from the app store.
Finally we have the applications .pkg, the native package format of macOS. This format involves running scripts during installation. In order to use them we must do:
Darling [~]$ installer -pkg aplicación.pkg -target /
We can uninstall the programs with:
uninstaller nombre_del_paquete
We must understand that although Darling works very well with applications for the command line, it only has very limited functionalities for those that need a graphical interface.

Darling installation

If you use Debian or derivatives, installing Darling has no major problem. You just have to type the commands:

sudo apt install gdebi
sudo gdebi darling-dkms_X.X.X.testing_amd64.deb
sudo gdebi darling_X.X.X.testing_amd64.deb

Replace the X with the version number of the packages you will download from here

In other distributions you will have to compile it which requires a disk space of 10 GB and 1 GB for the installation. In addition, you must previously install the dependencies for your distribution. You can check them in the documentation

We download the necessary files with:

git clone --recursive

You may have to install the git package.
We check if there is a new version (Only if you downloaded a long time ago)
git pull
git submodule init
git submodule update

We proceed to compile

  1. We go to the directory where we download with cd darling
  2. We create a working directory with mkdir build
  3. We change to that directory with cd build
  4. We configure with the command cmake
  5. We build with the command make
  6. We install with sudo make install

We are going to need to install a kernel module. We do it with the commands:
make lkm
sudo make lkm_install

The content of the article adheres to our principles of editorial ethics. To report an error click here.

4 comments, leave yours

Leave a Comment

Your email address will not be published. Required fields are marked with *



  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.

  1.   Diego Vallejo placeholder image said

    Build instructions wrong, can't install Darling.

    1.    Diego German Gonzalez said

      Did you install the necessary dependencies?
      Here they tell you what they are

  2.   Leonardo Ramirez Castro said

    Greetings. What programs can be installed, to give some examples?

    1.    Diego German Gonzalez said

      I don't know much about Apple and no examples are given on the web.
      Anyone running on the command line