What Is Darling, the macOS Translation Layer for Linux?
Updated
Darling is a free, open-source translation layer that lets you run macOS software on Linux. It implements a Darwin environment — Mach, dyld, launchd — directly on Linux without a hardware emulator, much like Wine does for Windows software. It is distributed under the GNU GPL version 3 and developed openly on GitHub.
How Darling works
Rather than emulating hardware, Darling recreates the Darwin layer that macOS applications expect and maps it onto Linux. The project describes this as implementing "a complete Darwin environment," naming Mach, dyld, and launchd as core pieces. The practical effect is visible in its own demo:
~ $ uname Linux
~ $ darling shell
Darling [ ~ ]$ uname Darwin
Darling
Inside a Darling shell, the system identifies itself as Darwin, which is what macOS software expects to see.
Where the code comes from
Darling is largely based on the original Darwin source code published by Apple, using only the parts released as fully free software. Its Cocoa implementation builds on The Cocotron, along with the Apportable Foundation and various pieces of GNUstep. The name itself is a blend of "Darwin" and "Linux."
What it can and cannot run today
| Question | Current state |
|---|---|
| Command-line macOS software | Supported — this is the core use case |
| Simple graphical apps | Basic experimental support only |
| Full GUI app compatibility | Not yet |
| iOS apps | A long-term goal, requiring a from-scratch UIKit implementation on ARM devices |
| Running on Windows | Possible via WSL 2, per the project's documentation |
The project is explicit that GUI support is early-stage: "we finally have basic experimental support for running simple graphical applications." If your goal is running a mainstream macOS GUI application, treat that as unproven rather than expected.
Is it legal, and is it really free?
On licensing, the project states that Darling does not violate Apple's EULA because it only directly uses Darwin components released as free software. On cost, the project describes itself as free and open-source software under GPLv3 — the same model as Linux. The site does not present paid tiers or login requirements.
Who should consider it
Darling fits you if you:
- Need to run macOS command-line tools or build workflows on a Linux machine
- Want to experiment with early GUI support and can tolerate rough edges
- Are interested in contributing — the project invites newcomers, noting that macOS or iOS development experience helps but "is absolutely not required to start contributing"
It is a poor fit if you depend on a specific commercial macOS GUI application working reliably today, or if you need iOS app support, which remains a long-term aspiration.
Getting started
The project points newcomers to its documentation and blog to learn Darling's internals, with development happening on GitHub. For WSL 2 users, the documentation covers that setup path specifically. Since installation steps and menu locations are not detailed in the available material, start with the official documentation rather than third-party guides, and verify your environment with the darling shell check shown above — if uname reports Darwin inside the shell, the layer is functioning.