Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Darling (software)

From Wikipedia, the free encyclopedia
Open-source macOS compatibility layer
Darling
A simple 'HelloWorld' Cocoa app demonstrated on macOS (left) and Linux (right)
Original authorLuboš Doležel
Preview release
0.1.20251023 / 23 October 2025; 3 months ago (2025-10-23)
Operating systemLinux
TypeCompatibility layer
LicenseVarious, primarilyGPLv3
Websitedarlinghq.org
Repositorygithub.com/darlinghq/darling

Darling is afree and open-source macOScompatibility layer for Linux.[1] It duplicates functions ofmacOS by providing alternative implementations of the libraries and frameworks that macOS programs call.[2] This method of duplication differs from other methods that might also be considered emulation,[3] where programs run on Apple's proprietary operating system software in avirtual machine.[4] Darling has been called the counterpart toWINE for running macOS apps.[5]

The project started in the summer of 2012 and builds on a previous project, named maloader, which was discontinued due to a lack of time. The layer has been shown to work with manyconsole apps, such asMidnight Commander,The Unarchiver,Python, etc. on the layer, but it also has basic support forgraphical applications based on the Cocoa framework.[6][1] Darling has the ability to extractApple Disk Images.[7]

The project aims to supportiOS applications in the future.[8]

Architecture

[edit]

At the entry of the Darling system is a loader forMach-O binaries, the executable format forApple'soperating systems. Darling's predecessor, maloader, presented a maximalist approach to the problem by trying to replicate everything that Apple'sdynamic library loader dyld does. This proved to be hard, and since a 2017 "Mach-O transition" Darling has been using a lightweight loader just enough to launch the open-source Apple dyld instead.[9]

To provide the macOS binaries with akernel, Darling uses a modifiedXNU kernel (with an APSL license) wrapped into a Linuxkernel module with a GPL license.[needs update] It is not the same as including GPL code in APSL software, and the APSL license allows for linking from code with a different license (in this case GPL). The module handles the typical job of aMach kernel, mainly PortsIPC handling.[10] Some licensing issues exist[citation needed] in the darling-mach module, as the team are addingGNUGPL modifications to theAPSL kernel.[11][failed verification]

Higher than the kernel is the root environment. Darling, like WINE, supportschroot prefixes, implemented using the Linuxoverlayfs (as opposed to path translation in WINE).PID, IPC, and UTS namespaces are used to create acontainer for the Darwin system inside.

The frameworks and system libraries in Darling are, to the best possible extent, based onsource code released by Apple. The Mach-O transition allows these frameworks to be built more easily, because they are now built as the Mach-O format they were intended for.[9] To fill in the gaps for many higher-level frameworks likeCocoa, Darling uses code from Cocotron,ApportableFoundation, andGNUstep.[1]

License

[edit]

The larger Darling system is based on many external components which use various licenses, all of which are open-source. The primary license isGPLv3.[12]

External links

[edit]

References

[edit]
  1. ^abc"Darling |".www.darlinghq.org. Archived fromthe original on 2022-06-16. Retrieved2022-06-17.
  2. ^"You Can Now Use 'Darling' to Run macOS Software on Linux | iPhone in Canada Blog". 2020-10-05.Archived from the original on 2022-06-17. Retrieved2022-06-17.
  3. ^González, Diego Germán (2021-10-31)."MacOS programs on Linux? With Darling it is possible".Linux Adictos. Retrieved2022-06-17.
  4. ^Brodkin, Jon (6 August 2013)."OS X apps run on Linux with Wine-like emulator for Mac software".Ars Technica. Retrieved23 January 2014.
  5. ^Lynch, Jim."Will we ever be able to run OS X apps in Linux with Darling?".InfoWorld. Retrieved2018-07-23.
  6. ^"Darling Picks Up New Contributors For Its macOS Compatibility Layer On Linux".www.phoronix.com.Archived from the original on 2022-06-17. Retrieved2022-06-17.
  7. ^"Installing software - Darling Docs".docs.darlinghq.org. Retrieved2022-01-27.
  8. ^Heath, Nick (15 July 2013)."OS X apps on their way to Linux courtesy of Darling project". ZDNet. Retrieved23 January 2014.
  9. ^abBugaev, Sergey (24 July 2018)."Mach-O linking and loading tricks". Retrieved12 January 2020.
  10. ^"Build Instructions".Darling. Archived fromthe original on 2020-01-21. Retrieved2020-01-12.Darling uses a kernel module to provide certain OS X specific features, mainly Mach Ports IPC. No OS X application can be run without this module, since Libc requires Mach Ports for its initialization and even for very basic things such as sleep().
  11. ^"Issue: Code from Apple under the APSL is incompatible with the GPL".GitHub. Retrieved12 January 2020.
  12. ^"Darling".GitHub. 16 October 2021.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Darling_(software)&oldid=1328866600"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp