The Darling project, an open-source macOS compatibility layer for Linux similar to Wine for Windows apps, has just announced a major shift in its development approach. After many years of very slow progress, they’re now going down the route of AI-assisted coding to accelerate the work on compatibility and to hopefully get more people contributing to the various independent forks.
In a dev update, the project founder Luboš Doležel has explained that Darling has had a very difficult time keeping up with Apple since it was created in 2012. There’s been a lot of progress on the macOS command line tools side of things, but very few actual applications have been able to get going.
Compared to Wine, which benefits from a huge user base and commercial support, Darling has far fewer contributors and is up against the mammoth task of re-implementing Apple’s entire framework set.
However, that situation has started to change with the arrival of a number of AI-assisted Darling forks. One has shown itself capable of running League of Legends, and another (VibeDarling) has managed to get a number of native macOS apps running.
Importantly, those improvements aren’t yet in the main Darling codebase, but they’ve been sufficient to prompt the project to formally accept AI-generated contributions.
Under the new contribution policy, developers are still personally responsible for every line of code they submit and must be able to explain their changes without recourse to AI-generated answers. They must also adhere to the clean room implementation rules, not use any leaked Apple source code, and implement the documented behavior rather than some application-specific workaround.
Darling has also got initial ARM64 support, which is a big deal as ARM64 is what modern Macs are increasingly based on. The VibeDarling fork is already being worked on for ARM64, so that should help with ARM64 support once those changes are eventually merged upstream.
Over the next two months, the plan is to take the various improvements from the various forks and integrate them into the main project. AI agents are already being used to help with the merge process, both to identify and fix bugs in the code coming in from the forks and in the code already in Darling.
The project aims to officially support three architectures: i386, x86-64, and ARM64. Doležel is also playing around with Dynarmic in an attempt to run ARM64 macOS apps on x86-64 Linux, though he stresses that that work is still very much in the experimental stage.
Looking further ahead, the plan is to stabilize AppKit (the framework that underpins a huge amount of the macOS GUI) and make it look better. There are also plans to use native graphical utilities to configure Darling and view logs, which would, of course, serve as a strong test of the quality of the AppKit implementation.
Finally, although many of the command-line tools already work, graphical app compatibility is still being developed. The recent demos from the external forks are very encouraging, though, and the improvements clearly need to be brought in and tested before they’re available in the main project.
For more details, see the announcement.
