LinuxCommandLibrary

darling

Run macOS software on Linux

TLDR

Run a builtin command

$ darling shell [uname]
copy

Run a specific program in the current path with arguments
$ darling shell [./program] [program_argument_1 program_argument_2 ...]
copy

Open a macOS shell
$ darling shell
copy

Shutdown the service
$ darling shutdown
copy

SYNOPSIS

darling [options] command

PARAMETERS

--version
    Display Darling version information and exit.

--help
    Display a help message and exit.

command
    The macOS command or application to execute within the Darling environment.

DESCRIPTION

Darling is a compatibility layer that allows you to run macOS binaries on Linux. It aims to provide a complete implementation of the macOS system interfaces, enabling users to execute macOS applications, command-line tools, and even graphical user interfaces on a Linux-based operating system. Darling works by translating macOS system calls to their Linux equivalents, effectively emulating the macOS environment.

It's important to note that Darling is a complex project still under development. While it aims for broad compatibility, not all macOS software will function perfectly or at all. Performance may also vary depending on the application and the hardware. The project requires significant knowledge on the low level differences between operating systems and some debugging may be required to get programs working as expected.

CAVEATS

Darling is still under heavy development and does not yet support all macOS functionality. Compatibility and performance may vary greatly. Proper configuration and setup may be required.

INSTALLATION

Installation typically involves building from source or using pre-built packages available for some Linux distributions. Follow the official Darling documentation for detailed installation instructions.

DEBUGGING

Debugging issues with Darling often requires understanding macOS and Linux system internals. Tools like `dtruss` (macOS) or `strace` (Linux) can be used to trace system calls and identify compatibility issues.

SYSTEM REQUIREMENTS

Darling needs a modern Linux kernel, support for FUSE and other system components. Detailed requirements can be found in the project documentation.

HISTORY

Darling development began in 2012, driven by the desire to execute macOS software on Linux without relying on virtual machines or dual-booting. Early efforts focused on system call translation and basic compatibility. The project has been gradually evolving, adding support for more macOS features and improving performance. The community welcomes contributions and testing to enhance Darling's capabilities.

SEE ALSO

wine(1), docker(1), virtualbox(1)

Copied to clipboard