大约三年来,Asahi Linux 项目背后的独立开发团队一直致力于支持 Apple Silicon Mac 上的 Linux,尽管 Apple 完全没有参与。多年来,该项目已经从“高度不稳定的实验”变成了“令人惊讶的功能和可用的桌面操作系统”。甚至 Linus Torvalds 也使用它在 Apple 的硬件上运行 Linux。
自2022 年 12 月发布 M1 和 M2 的开源、符合标准的 GPU 驱动程序以来,该团队一直在稳步改进,今天,该团队跨越了一个重要的象征性里程碑:Asahi 驱动程序对 OpenGL 和 OpenGL ES 图形的支持已经实现正式通过了 Apple 在 macOS 中提供的功能。该团队最新的图形驱动程序完全符合 OpenGL 4.6 版和 OpenGL ES 3.2 版(任一 API 的最新版本)。Apple 在 macOS 中对 OpenGL 4.1 的支持达到顶峰,该版本于 2010 年 7 月发布。
开发人员 Alyssa Rosenzweig 撰写了一篇详细的博客文章,宣布了新驱动程序,该驱动程序必须通过“超过 100,000 次测试”才能被视为正式符合要求。尽管 Apple 的 GPU 不支持某些可以使这些 API 的实现更加简单的功能,但该团队还是实现了这一里程碑。
“遗憾的是,M1 无法很好地映射到 OpenGL ES 3.1 以外的任何图形标准,”Rosenzweig 写道。“虽然 Vulkan 将其中一些功能设为可选,但缺少的功能需要将 DirectX 和 OpenGL 分层。M1 上现有的解决方案都无法超越 OpenGL 4.1 功能集……没有硬件支持,新功能需要新技巧。几何着色器、曲面细分和变换反馈成为计算着色器。剔除距离成为变换后的插值。剪辑控制成为顶点着色器尾声。这样的例子不胜枚举。”
Asahi Linux 针对 M 系列 Mac 的新“旗舰”发行版是 Fedora Remix
现在,Asahi GPU 驱动程序支持最新的 OpenGL 和 OpenGL ES 标准(分别于 2017 年和 2015 年发布),工作转向支持 Apple 硬件上的低开销 Vulkan API。macOS 中的 Vulkan 支持仅限于 MoltenVK 等转换层,它将 Vulkan API 调用转换为硬件和操作系统可以理解的 Metal 调用。
自 2013 年发布 macOS 10.9 Mavericks 以来,苹果对 OpenGL 的支持一直停留在 4.1 级别。此后,该公司将重点转向其专有的 Metal 图形 API,该 API 与 DirectX 12 和 Vulkan 一样,都是“低开销”的API 旨在减少有时与 OpenGL 等旧 API 相关的性能开销。但尽管苹果在 2018 年正式宣布弃用OpenGL ,但从那时起,苹果就一直保留其现有的 OpenGL 实现,从未对其进行更新,但即使从英特尔处理器过渡到自己的 CPU 和 GPU,也仍然保持支持。
Rosenzweig 的博客文章没有提供有关 Vulkan 的任何具体更新,只是说该团队“正在顺利”支持它。除了支持本机 Linux 应用程序之外,Asahi 中支持更多图形 API 将使操作系统能够更好地利用Valve 的 Proton等软件,该软件已经为在基于 Arm 的 Apple 硬件上运行的基于 x86 的 Windows PC 编写了一些游戏。
尽管仍有一些功能无法正常工作,但 Fedora Asahi Remix 的打磨令人惊讶,并且支持大多数 M1 和 M2 Mac 中提供的许多硬件,包括网络摄像头、扬声器、Wi-Fi 和蓝牙以及图形加速。其他功能,如 Thunderbolt、通过 USB-C 运行显示器、系统内置麦克风和 Touch ID 指纹传感器仍然无法使用。Asahi在 1 月中旬发布的最新更新博客文章强调了 HDMI 支持、通过 Google 专有的 Widevine 软件包对受 DRM 保护的网站的支持、对少数使用 Touchbar 的 Apple Silicon Mac 的支持等等。
至于最新一波的 M3 Mac,Asahi 开发商 Hector Martin 在 2023 年 10 月表示,对最新芯片的基本支持将需要“至少六个月”。除此之外,团队需要时间在驱动程序中支持 M3 GPU;该团队还主要依靠 Mac mini 型号进行开发,而 M3 Mac mini 尚不存在。