
M3M4 Mac上跑Linux“破灭”?Asahi Linux又一核心开发者官宣退出:告别苹果转战英特尔
应用介绍
似乎不再执着于让 Linux 跑在新款 Mac 设备上,Asahi Linux 项目的又一位核心人物 Alyssa Anne Rosenzweig 于今日也做出了一个重大决定:告别苹果生态系统,准备迎接下一个挑战——加入英特尔团队,围绕 Xe-HPG 架构展开工作。
消息一出,引发开源社区的热烈讨论。有人送上祝福,期待她的新征程;也有人隐隐担心,这是不是意味着在 M3、M4 芯片的 Mac 上跑 Linux 的梦想将愈发遥远。
那 Alyssa 究竟是何方神圣?她的离开会对 Linux 运行在苹果 M 系列芯片上的项目带来怎样的影响?
翻开 Alyssa 的个人博客主页,映入眼帘的自我介绍相当简洁:一位专注图形驱动的开发者,同时也是软件自由的忠实拥护者。
殊不知,Alyssa 在图形驱动和编译器开发方面已经积累了整整七年的经验。而当这一切开始时,她还只是一个学生;即便到现在,她也不过才本科毕业两年。
回看她的成长历程,早在 2017 年,高中时期的 Alyssa 就独立启动了一个实验性项目——Panfrost,这是一个早期的开源 Mali 驱动研究项目。
它的目标是为广泛应用在手机、平板和嵌入式设备中的Arm Mali GPU提供自由可用的驱动。由于当时 Arm 官方的 Mali 驱动长期闭源,Linux 等开源系统的支持受到严重限制,Alyssa 决定“不等官方”,通过研究芯片的工作方式,开启”逆向编程“,自行推导出驱动实现 *** 。
到 2018 年,Panfrost已经能够在Mesa3D中运行,并首次在 FOSDEM(欧洲自由与开源软件开发者大会)上公开展示,引起了开源图形社区的广泛关注。
也正凭借在 Panfrost 项目中的出色表现,Alyssa 于 2019 年 6 月加入了Collabora开源软件咨询公司实习,主要负责与 Arm 公司合作,开发 Arm Mali GPU 的开源图形驱动。具体包括:
那时,苹果发布了 M1 芯片,并首次搭载自研 GPU,一些开源爱好者便开始对这套硬件进行逆向工程,并尝试移植 Linux。正是在这一背景下,一位名为 Hector Martin 的开发者发起了Asahi Linux 项目,一个专门让 Linux 适配苹果自研芯片的开源计划。
正如上文所述,当时 Alyssa 在Collabora公司工作,负责Panfrost里针对 Arm Mali GPU 的开源驱动。彼时的 Hector 向上游开源维护者们寻求指导,而 Alyssa 看到了之后,最初只是随口给出一些建议。
在学业课程和为 Collabora 工作之余,处于大学阶段的她又抽出了一些时间开始研究 M1 GPU 的着色器指令集,并在博客上开启了《剖析 Apple M1 GPU》系列文章的之一篇()。
与此同时,她也在博客中笑称道——在 3D 图形学里,有句话是:“一旦你能画出一个三角形,就意味着一切皆有可能。”
那个学期期末考试结束后,她请了几天假,基于新写的编译器实现了一个能在 OpenGL 上转动齿轮的驱动程序。
接下来的一年里,她不断做逆向工程、不断改进驱动,直到它能在 macOS 上跑起 3D 游戏。
与此同时,Alyssa 透露,当时来自 Asahi Linux 项目的另一名成员Asahi Lina正在为苹果 GPU 写了一个内核驱动,而 Alyssa 写的用户态 OpenGL 驱动已经能在 macOS 上运行,只差Asahi Lina的内核驱动,开源的完整图形栈就能拼起来。
等待了一段时间到了 2022 年 12 月,在她们的合力之下,Asahi Linux 终于实现了图形加速功能。
在面临毕业选择时,她和很多毕业生一样,也曾感到迷茫:究竟是继续 Panfrost,还是追求新的挑战?Alyssa 回想自己的过去:
从 2017 年高中时期逆向 Mali Midgard GPU,到 2019 年进入 Collabora 实习,再到大学四年持续在正式工作中开发,Panfrost 已从一个“学生玩具”成长为专业驱动,获得 Arm 官方支持和硬件文档。
为 M1 带来完整、符合标准的 OpenGL 驱动(苹果自带的 OpenGL 驱动并不完全符合规范,而我们应该追求行业标准)。
把完整的、符合标准的 Vulkan 带到苹果平台,打破“Vulkan 不适合苹果硬件”的迷思。
“对我来说,Panfrost 是曾经的挑战,而现在的新挑战是:让 Linux 在 M1 上也能畅玩游戏”,Alyssa 说道。
接着,她发现 OpenGL (ES) 3.2 要求支持几何着色器,而无论是 Arm 还是苹果的硬件都没有原生支持这种遗留功能。闭源驱动通过计算着色器进行模拟,但在开源世界里还没有任何前例。尽管 Mesa 里的多个驱动都需要类似的几何/细分着色器模拟功能,但一直没人动手去做。
其表示,自己最初能快速推进 OpenGL,是因为 Mesa 有很多成熟的公共代码。而这个时候,她想着,是时候回馈开源社区了。
接下来的大半年,她自己潜心开发,最终实现了几何/细分着色器的模拟支持,甚至把整个 OpenGL 的“拼图”都补齐了。到 2024 年 1 月,其顺利通过了OpenGL 4.6 的完整一致性测试,算是把 OpenGL 全部收官。
随后,她又用几周时间完成 Vulkan 1.3 一致性测试,并将几何/细分着色器功能接入 Vulkan 驱动,让 Proton 游戏得以运行。
如今,Linux 已经能在多款 M1 和 M2 Mac 上运行,而且几乎所有硬件都能正常工作:无线 *** 、音频、甚至完整的图形加速。
“我们取得的成果超出了我的想象。我追逐的挑战一个个被解决。驱动已经完整地合入 Mesa 上游,性能也不错。随着“Vulkan 在苹果硬件不可行”的迷思被打破,如今 LunarG 的Ko *** icKrisp 项目也基于我的工作,把符合标准的 Vulkan 带到了 macOS。”
“我很满足。”Alyssa Anne Rosenzweig 说道,“是时候告别苹果生态,把火炬交给 Asahi Linux 社区的伙伴们继续前行。”
起初,Alyssa 只是在自己的博客上附上了一个指向Intel Xe-HPG 架构的超链接,引发外界猜测她将加入英特尔。
随后,她更新了自己简历,正式透露的新方向,到英特尔去设计了 Intel GPU 的开源图形驱动,具体工作包括:
Hector Martin 是 Asahi Linux()项目的发起人。起初,他的目标是让 M1 Mac 用户真正拥抱 Linux,并通过众筹方式启动开发。五年后,Hector Martin 在今年年初先辞去了 Apple ARM 支持的上游维护者职务,随后在 2 月发表长文,。
在长文中,Hector Martin 透露了心酸经历:他在将 Rust 代码合入 Linux 内核过程中遭遇层层阻碍,而 Linux 掌舵者 Linus Torvalds 对此采取了“放任自流”的态度,未给予明确支持;他还发现内核社区中有些成员“表里不一”,当面一套、背后一套;更糟的是,开源项目起步后资金支持不足,而需求却越来越多,每日被催更的压力让他对继续维护 Asahi Linux 感到力不从心,由此选择离开。
不可否认,核心开发者接连离开,不仅对 Apple Silicon 的 Linux 图形支持造成冲击,也对整体项目进度带来广泛影响。
目前,Asahi Linux 仅支持 M1 和 M2 芯片,尚未覆盖 M3 和 M4。因此,不少人担忧:“Asahi Linux 的开发还在积极进行吗?M1 和 M2 基本完成,但 M3+ 工作似乎还没启动。主要贡献者离开后,我很担心 Asahi 的未来。”
“说实话,看到她离开 Asahi Linux 真的有点心碎。她从零开始构建 Vulkan 驱动,付出了巨大努力。祝她在英特尔一切顺利。如果我以后买了 Intel GPU,我可以放心,它在 Linux 上一定能运行得很好。”
“1. 多伦多大学的学生 2. 在 Collabora 工作的一位负责人 3. 非常成功且雄心勃勃的业余项目。她是怎么兼顾并完成所有这些事的?我连其中一项都做不好。”