Hotdry Blog

Article

Apple 批准第三方 eGPU 驱动的技术解析:DriverKit 与 Apple Silicon 外部显卡支持

解析 Apple 首次批准第三方驱动让 Nvidia eGPU 在 Apple Silicon Mac 上运行的技术细节:DriverKit 签名机制、SIP 绕过原理与 AI 工作负载部署参数。

2026-04-04systems

2026 年 4 月,Apple 批准了来自 Tiny Corp 的第三方驱动,使 Nvidia 和 AMD 外部显卡(eGPU)能够通过 Thunderbolt/USB4 接口在 Apple Silicon Mac 上运行。这一事件在技术层面具有里程碑意义:它是 Apple 首次为 ARM Mac 签署第三方 GPU 驱动程序,突破了自 M1 芯片发布以来 Apple Silicon 对外部显卡的官方限制。从 DriverKit 架构、系统完整性保护(SIP)的绕过机制到面向大语言模型推理的场景定位,理解这一技术突破需要从 macOS 驱动程序模型和安全策略两个维度进行深入分析。

Apple Silicon 时代的 eGPU 限制与技术真空

Apple 在 2020 年发布 M1 芯片时同步移除了 Apple Silicon Mac 对外部显卡的官方支持。这一决定背后的技术逻辑在于:Apple 要求所有驱动程序必须基于 DriverKit 框架开发,并且需要通过 Apple 签名认证才能在 macOS 中加载。与 Intel Mac 时代的第三方内核扩展(kext)不同,DriverKit 将驱动程序运行在用户空间(User Space)中,通过 System Extension 机制加载,从而大幅降低了内核级安全风险。然而,Apple 本身并未为外部显卡提供 DriverKit 层面的支持,导致 eGPU 在 Apple Silicon 上成为一个技术真空地带。

这一限制对特定工作群体产生了显著影响。机器学习开发者、高性能计算用户以及需要 CUDA 加速的研究人员长期以来只能在 Intel Mac 或非 Apple 平台上使用 Nvidia GPU。随着 Apple Silicon 在专业计算领域的普及(尤其是 M 系列芯片在神经网络引擎方面的卓越表现),用户对异构计算的需求反而更加迫切:他们既需要 Apple Silicon 的能效比和统一内存架构,又需要 Nvidia GPU 的 CUDA 生态和大规模并行计算能力。Tiny Corp 的驱动获批正是对这一需求的正式回应。

DriverKit 签名机制与系统扩展加载流程

Tiny Corp 的驱动本质上是一个基于 DriverKit 的 System Extension。与传统内核扩展不同,DriverKit 驱动程序运行在独立的沙盒进程中,通过 macOS 的驱动主机进程(DriverKit USB/PCIe Host)与硬件进行交互。Apple 在 macOS Catalina 引入 System Extension 框架时,设定了一个关键的安全门槛:所有 System Extension 必须由 Apple 颁发开发者签名证书,并且需要用户在系统偏好设置中手动授权。这一机制取代了旧版内核扩展的 kext 签名策略,在安全性和可维护性之间取得了更好的平衡。

Tiny Corp 驱动的获批意味着 Apple 对其代码进行了安全审查,并颁发了有效的签名证书。根据 Tiny Corp 在社交媒体上的声明此次批准的核心突破在于:用户不再需要禁用 System Integrity Protection(通常称为 SIP)即可加载该驱动。在此前两年多的探索期中,社区曾尝试通过禁用 SIP 的方式在 Apple Silicon 上启用 eGPU,但这种做法会显著降低系统安全性,仅适合极少数有特殊需求且愿意承担风险的用户。Apple 此次直接签署驱动的做法表明,Apple 认可了该驱动的安全模型,并在 DriverKit 层面为外部显卡提供了有限的官方通道。

需要特别指出的是,该驱动并非 Nvidia 官方发布,而是 Tiny Corp 基于 tinygrad 项目开发的第三方驱动。tinygrad 是一个轻量级的深度学习框架,由著名的反向工程师 George Hotz 创建。Tiny Corp 将 tinygrad 的 GPU 加速能力封装为独立的 DriverKit 驱动,使其能够在 macOS 上调用外部显卡的计算资源。这种绕过官方厂商直接由第三方开发驱动的方式,在 Apple 生态中极为罕见。

面向 AI 工作负载的场景定位与性能边界

从已公开的技术信息来看,该驱动被明确定位为 AI 和机器学习推理场景的工具,而非传统图形渲染或游戏加速。Tiny Corp 在官方文档中明确表示,驱动的主要目标是大语言模型(LLM)推理和通用 GPU 计算。这一场景选择并非偶然:首先,Apple Silicon 本身的 GPU 已经能够满足大多数图形渲染需求,eGPU 的增量价值有限;其次,Nvidia GPU 在 CUDA 生态中的优势恰恰集中在并行计算和 AI 推理领域;最后,相比图形渲染,计算任务对驱动的稳定性要求相对宽松,更适合作为实验性功能部署。

从硬件兼容性角度,支持的外部显卡通过 Thunderbolt 3/4 或 USB4 接口连接。Thunderbolt 3/4 的理论带宽为 40Gbps,但在实际使用中,由于 PCIe 通道数量的限制和协议开销,外部显卡通常只能获得 PCIe 3.0 x4 左右的带宽(约 32Gbps 有效带宽)。这意味着即使是高端消费级显卡(如 RTX 4090),在 eGPU 配置下也会面临一定的性能损耗。用户在评估部署方案时需要考虑这一瓶颈:eGPU 适合对带宽不敏感的批处理推理任务,而非需要持续高吞吐量的实时训练场景。

工程实践:部署参数与监控要点

对于计划在 Apple Silicon Mac 上部署 eGPU 进行 AI 推理的工程团队,以下参数和监控点值得关注。首先是 macOS 版本兼容性:由于 DriverKit 的 API 在不同 macOS 版本间存在差异,驱动可能并非在所有版本上均可正常工作,建议在部署前确认 Tiny Corp 官方支持的 macOS 版本列表。其次是驱动安装流程:与传统的即插即用不同,该驱动需要通过 Docker 容器进行编译和组装,这意味着部署环境中需要具备 Docker 运行时,且编译过程可能需要一定的命令行操作经验。

在运行时监控方面,建议关注以下指标:GPU 利用率可通过 nvidia-smi(如果驱动暴露了 CUDA 接口)或者 Tiny Corp 提供的运行时工具查看;外部显卡通过 Thunderbolt 连接后的热功耗管理需要特别关注,因为 eGPU 机箱的散热能力通常不如内置显卡,长时间高负载运行可能导致降频;此外,由于 System Extension 运行在用户空间,驱动崩溃不会直接导致内核 panic,但可能会触发 macOS 的系统扩展重新加载机制,表现为短暂的计算中断。在生产环境中,建议实现任务级别的断点续传机制,以应对可能的驱动重新加载情况。

最后需要强调的是安全与维护考量。虽然此次无需禁用 SIP,但加载第三方 System Extension 仍然意味着将一定的代码信任托付给第三方开发者。Tiny Corp 作为相对较小的团队,其驱动更新频率和长期维护承诺需要用户在生产部署前进行评估。建议将 eGPU 推理作为异构计算的补充方案,而非唯一的计算节点,并保持对 Apple 官方 DriverKit 政策和 Nvdia macOS 驱动更新的关注。


资料来源

  • The Verge: "Apple approves driver that lets Nvidia eGPUs work with Arm Macs"(2026 年 4 月 3 日)
  • Tiny Corp 官方社交媒体公告与 tinygrad 文档

systems