Knowledge (XXG)

Darling (software)

Source 📝

27: 36: 608:
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
167:
by providing alternative implementations of the libraries and frameworks that macOS programs call. This method of duplication differs from other methods that might also be considered emulation, where macOS programs run in a
294:
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. To fill in the gaps for many higher-level frameworks like
248:
with a GPL license. 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 a
233:
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.
179:
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 many
495: 437: 390: 696: 315:
The larger Darling system is based on many external components which use various licenses, all of which are open-source. The primary license is
686: 463: 681: 229:. Darling's predecessor, maloader, presented a maximalist approach to the problem by trying to replicate everything that Apple's 541: 676: 671: 588: 192: 412: 88: 265: 254: 62: 487: 316: 284: 130: 237: 196: 567: 691: 386: 357: 300: 156: 160: 117: 112: 51: 280: 184: 226: 200: 124: 100: 646: 290:
The frameworks and system libraries in Darling are, to the best possible extent, based on
257:
handling. Some licensing issues exist in the darling-mach module, as the team are adding
230: 173: 169: 188: 516: 665: 245: 35: 26: 441: 621: 387:"You Can Now Use 'Darling' to Run macOS Software on Linux | iPhone in Canada Blog" 596: 296: 291: 250: 180: 488:"Darling Picks Up New Contributors For Its macOS Compatibility Layer On Linux" 223: 46: 40:
A simple 'HelloWorld' Cocoa app demonstrated on macOS (left) and Linux (right)
271:
Higher than the kernel is the root environment. Darling, like WINE, supports
276: 333: 304: 93: 651: 272: 219: 622:"Issue: Code from Apple under the APSL is incompatible with the GPL" 164: 105: 438:"OS X apps run on Linux with Wine-like emulator for Mac software" 199:
based on the Cocoa framework. Darling has the ability to extract
464:"Will we ever be able to run OS X apps in Linux with Darling?" 261: 258: 241: 207: 542:"OS X apps on their way to Linux courtesy of Darling project" 365: 328: 195:, etc. on the layer, but it also has basic support for 141: 413:"MacOS programs on Linux? With Darling it is possible" 244:kernel (with an APSL license) wrapped into a Linux 218:At the entry of the Darling system is a loader for 136: 123: 111: 99: 87: 61: 45: 283:, IPC, and UTS namespaces are used to create a 172:. Darling has been called the counterpart to 8: 19: 279:(as opposed to path translation in WINE). 34: 25: 18: 561: 559: 344: 68:0.1.20220213 / 13 February 2022 275:prefixes, implemented using the Linux 163:for Linux. It duplicates functions of 411:González, Diego Germán (2021-10-31). 236:To provide the macOS binaries with a 16:Open-source macOS compatibility layer 7: 517:"Installing software - Darling Docs" 352: 350: 348: 334:https://github.com/darlinghq/darling 222:binaries, the executable format for 568:"Mach-O linking and loading tricks" 299:, Darling uses code from Cocotron, 14: 566:Bugaev, Sergey (24 July 2018). 498:from the original on 2022-06-17 393:from the original on 2022-06-17 697:Software using the GPL license 436:Brodkin, Jon (6 August 2013). 287:for the Darwin system inside. 1: 687:Free software programmed in C 540:Heath, Nick (15 July 2013). 210:applications in the future. 206:The project aims to support 94:github.com/darlinghq/darling 713: 329:https://www.darlinghq.org/ 240:, Darling uses a modified 83: 57: 33: 24: 682:Linux emulation software 176:for running macOS apps. 197:graphical applications 264:modifications to the 70:; 2 years ago 677:Free system software 672:Compatibility layers 589:"Build Instructions" 301:ApportableFoundation 157:free and open-source 161:compatibility layer 129:Various, primarily 118:Compatibility layer 21: 655:. 16 October 2021. 521:docs.darlinghq.org 185:Midnight Commander 47:Original author(s) 362:www.darlinghq.org 227:operating systems 201:Apple Disk Images 150: 149: 704: 657: 656: 643: 637: 636: 634: 632: 618: 612: 611: 605: 604: 595:. Archived from 585: 579: 578: 576: 574: 563: 554: 553: 551: 549: 537: 531: 530: 528: 527: 513: 507: 506: 504: 503: 492:www.phoronix.com 484: 478: 477: 475: 474: 459: 453: 452: 450: 448: 433: 427: 426: 424: 423: 408: 402: 401: 399: 398: 383: 377: 376: 374: 373: 364:. Archived from 354: 146: 143: 101:Operating system 78: 76: 71: 38: 29: 22: 712: 711: 707: 706: 705: 703: 702: 701: 662: 661: 660: 645: 644: 640: 630: 628: 620: 619: 615: 602: 600: 587: 586: 582: 572: 570: 565: 564: 557: 547: 545: 539: 538: 534: 525: 523: 515: 514: 510: 501: 499: 486: 485: 481: 472: 470: 461: 460: 456: 446: 444: 435: 434: 430: 421: 419: 410: 409: 405: 396: 394: 385: 384: 380: 371: 369: 356: 355: 346: 342: 325: 313: 253:, mainly Ports 231:dynamic library 216: 170:virtual machine 140: 79: 74: 72: 69: 63:Preview release 41: 17: 12: 11: 5: 710: 708: 700: 699: 694: 689: 684: 679: 674: 664: 663: 659: 658: 638: 613: 580: 555: 532: 508: 479: 454: 428: 403: 389:. 2020-10-05. 378: 343: 341: 338: 337: 336: 331: 324: 323:External links 321: 312: 309: 215: 212: 189:The Unarchiver 148: 147: 138: 134: 133: 127: 121: 120: 115: 109: 108: 103: 97: 96: 91: 85: 84: 81: 80: 67: 65: 59: 58: 55: 54: 49: 43: 42: 39: 31: 30: 15: 13: 10: 9: 6: 4: 3: 2: 709: 698: 695: 693: 692:2013 software 690: 688: 685: 683: 680: 678: 675: 673: 670: 669: 667: 654: 653: 648: 642: 639: 627: 623: 617: 614: 610: 599:on 2020-01-21 598: 594: 590: 584: 581: 569: 562: 560: 556: 543: 536: 533: 522: 518: 512: 509: 497: 493: 489: 483: 480: 469: 465: 458: 455: 443: 439: 432: 429: 418: 417:Linux Adictos 414: 407: 404: 392: 388: 382: 379: 368:on 2022-06-16 367: 363: 359: 353: 351: 349: 345: 339: 335: 332: 330: 327: 326: 322: 320: 318: 310: 308: 306: 302: 298: 293: 288: 286: 282: 278: 274: 269: 267: 263: 260: 256: 252: 247: 246:kernel module 243: 239: 234: 232: 228: 225: 221: 213: 211: 209: 204: 202: 198: 194: 190: 186: 182: 177: 175: 171: 166: 162: 158: 154: 145: 139: 135: 132: 128: 126: 122: 119: 116: 114: 110: 107: 104: 102: 98: 95: 92: 90: 86: 82: 66: 64: 60: 56: 53: 52:Luboš Doležel 50: 48: 44: 37: 32: 28: 23: 650: 641: 629:. Retrieved 625: 616: 607: 601:. Retrieved 597:the original 592: 583: 571:. Retrieved 546:. Retrieved 535: 524:. Retrieved 520: 511: 500:. Retrieved 491: 482: 471:. Retrieved 467: 462:Lynch, Jim. 457: 445:. Retrieved 442:Ars Technica 431: 420:. Retrieved 416: 406: 395:. Retrieved 381: 370:. Retrieved 366:the original 361: 314: 289: 270: 235: 217: 214:Architecture 205: 181:console apps 178: 152: 151: 358:"Darling |" 292:source code 251:Mach kernel 666:Categories 631:12 January 603:2020-01-12 573:12 January 548:23 January 526:2022-01-27 502:2022-06-17 473:2018-07-23 447:23 January 422:2022-06-17 397:2022-06-17 372:2022-06-17 340:References 183:, such as 89:Repository 75:2022-02-13 647:"Darling" 468:InfoWorld 285:container 277:overlayfs 142:darlinghq 609:sleep(). 496:Archived 391:Archived 268:kernel. 593:Darling 544:. ZDNet 311:License 305:GNUstep 224:Apple's 153:Darling 137:Website 125:License 73: ( 20:Darling 652:GitHub 626:GitHub 303:, and 273:chroot 238:kernel 220:Mach-O 193:Python 159:macOS 317:GPLv3 297:Cocoa 165:macOS 155:is a 131:GPLv3 106:Linux 633:2020 575:2020 550:2014 449:2014 266:APSL 174:WINE 144:.org 113:Type 281:PID 262:GPL 259:GNU 255:IPC 242:XNU 208:iOS 668:: 649:. 624:. 606:. 591:. 558:^ 519:. 494:. 490:. 466:. 440:. 415:. 360:. 347:^ 319:. 307:. 203:. 191:, 187:, 635:. 577:. 552:. 529:. 505:. 476:. 451:. 425:. 400:. 375:. 77:)

Index



Original author(s)
Luboš Doležel
Preview release
Repository
github.com/darlinghq/darling
Operating system
Linux
Type
Compatibility layer
License
GPLv3
darlinghq.org
free and open-source
compatibility layer
macOS
virtual machine
WINE
console apps
Midnight Commander
The Unarchiver
Python
graphical applications
Apple Disk Images
iOS
Mach-O
Apple's
operating systems
dynamic library

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.