Darling 是一个致力于在 Linux 上运行 macOS 软件的开源项目,目前正转变其开发策略,以应对匹配苹果庞大工程能力的“不可解决”问题。通过采用正式的 AI 辅助贡献政策,该项目旨在加速实现近年来显著扩张的数千个 macOS 框架。

应对苹果框架的扩张

macOS 平台的规模已成为志愿驱动项目的重大障碍。在 macOS 10.14 到 macOS 27 之间,公共框架的数量从 273 个增加到 464 个,而私有框架则从 878 个激增到 2,754 个。

Darling 兼容层下运行的苹果 Render Pipeline 示例截图。
Darling 项目能够在 Linux 系统上运行苹果的 Render Pipeline 示例。blog.darlinghq.org

这张图片展示了该项目在非 macOS 平台上运行苹果图形相关框架的能力。

macOS Framework 增长: macOS 10.14 Public Frameworks 273 frameworks; macOS 27 Public Frameworks 464 frameworks
macOS Framework 增长blog.darlinghq.org

HN Digest 根据 blog.darlinghq.org 报告的数据绘制的图表;数值按来源所示显示。

与可以利用微软可重新分发的运行时的 Wine 不同,Darling 必须从头开始实现苹果的大多数框架。项目的新 AI 政策旨在弥补这一能力差距,让团队能够在更公平的条件下与苹果的工程资源竞争。

“AI 改变了方程式。过去那些由于贡献者较少而无法解决的问题,现在在财务上变得现实可行,它让我们能够在更接近公平的条件下与苹果竞争。”

— Development Update - Q4 2026 | Darling Development Blog

AI 政策与洁净室规则

新的 AI 政策被结构化为 AI 代理的指令,但它也约束使用这些代理的人类贡献者。为了保持完整性,项目强制执行“洁净室”规则:开发者必须实现文档化的契约,而不是针对特定应用程序的权宜之计,并且必须能够用自己的话解释提交的每一行代码。

一个关键限制是禁止使用反汇编来生成匹配的代码。虽然反汇编可用于记录行为,但编写代码的 AI 代理绝不允许看到反汇编内容;它只能接收在不同上下文中生成的独立行为描述。

架构支持与基础设施

随着苹果转向非 Intel 架构,Darling 正在引入初步的 ARM64 支持以保持相关性。这一支持得到了 VibeDarling 分支的助力,该分支正活跃地在 ARM64 上开发,并将最终合并回主项目。

为了提高稳定性,项目在 2022 年放弃了 Linux 内核模块(LKM)。它现在使用“darlingserver”,这是一个用户空间内核服务器,通过 Unix RPC 套接字处理 Mach IPC 和 psynch 调用,防止了与之前的 LKM 方法相关的内核崩溃和冻结。

未来目标与局限性

该项目的短期目标是使用代理驱动的合并逻辑将各个分支的工作合并回主 Darling 代码库。长期计划包括稳定 AppKit 支持以改善应用程序的视觉外观,并开发原生工具,如配置实用程序和日志查看器。

一个显著的局限性仍然是缺乏商业支持。虽然该项目在《英雄联盟》和 TextEdit 等特定应用程序上取得了成功,但它仍继续依赖志愿者工作和社区驱动的分支,以在面对苹果专有生态系统时保持动力。

通过 Darling 成功运行的原生苹果 TextEdit 应用程序截图。
TextEdit 是在 Darling 项目下成功运行的特定应用程序之一。blog.darlinghq.org

这张视觉效果提供了该项目成功运行标准 macOS 应用程序的具体示例。