M3/M4 Mac上跑Linux“破灭”?Asahi Linux又一核心开发者官宣退出:告别苹果,转战英特尔

内容转载自:CSDN

似乎不再执着于让 Linux 跑在新款 Mac 设备上,Asahi Linux 项目的又一位核心人物 Alyssa Anne Rosenzweig 于今日也做出了一个重大决定:告别苹果生态系统,准备迎接下一个挑战——加入英特尔团队,围绕 Xe-HPG 架构展开工作。

M3/M4 Mac上跑Linux“破灭”?Asahi Linux又一核心开发者官宣退出:告别苹果,转战英特尔

消息一出,引发开源社区的热烈讨论。有人送上祝福,期待她的新征程;也有人隐隐担心,这是不是意味着在 M3、M4 芯片的 Mac 上跑 Linux 的梦想将愈发遥远。

M3/M4 Mac上跑Linux“破灭”?Asahi Linux又一核心开发者官宣退出:告别苹果,转战英特尔

那 Alyssa 究竟是何方神圣?她的离开会对 Linux 运行在苹果 M 系列芯片上的项目带来怎样的影响?

高中写驱动,进入大学即获得正式工作

翻开 Alyssa 的个人博客主页,映入眼帘的自我介绍相当简洁:一位专注图形驱动的开发者,同时也是软件自由的忠实拥护者。

M3/M4 Mac上跑Linux“破灭”?Asahi Linux又一核心开发者官宣退出:告别苹果,转战英特尔

殊不知,Alyssa 在图形驱动和编译器开发方面已经积累了整整七年的经验。而当这一切开始时,她还只是一个学生;即便到现在,她也不过才本科毕业两年。

回看她的成长历程,早在 2017 年,高中时期的 Alyssa 就独立启动了一个实验性项目——Panfrost,这是一个早期的开源 Mali 驱动研究项目。

它的目标是为广泛应用在手机、平板和嵌入式设备中的 Arm Mali GPU 提供自由可用的驱动。由于当时 Arm 官方的 Mali 驱动长期闭源,Linux 等开源系统的支持受到严重限制,Alyssa 决定“不等官方”,通过研究芯片的工作方式,开启”逆向编程“,自行推导出驱动实现方法。

到 2018 年,Panfrost 已经能够在 Mesa3D 中运行,并首次在 FOSDEM(欧洲自由与开源软件开发者大会)上公开展示,引起了开源图形社区的广泛关注。

再到 2019 年,Panfrost 正式合并进 Mesa 主线,逐渐成熟起来,并开始支持更多 Mali GPU 架构(如 Midgard、Bifrost 等),成为 Linux 上 Mali GPU 的主要开源驱动方案。

也正凭借在 Panfrost 项目中的出色表现,Alyssa 于 2019 年 6 月加入了 Collabora 开源软件咨询公司实习,主要负责与 Arm 公司合作,开发 Arm Mali GPU 的开源图形驱动。具体包括:

设计并实现了符合标准的 OpenGL ES 3.1 驱动。

为 Midgard、Bifrost 和 Valhall 架构开发了着色器编译器。

撰写并整理了基于 Mesa3D 的驱动栈文档。

与多样化的客户合作,为其产品提供所需的开源 Mali 驱动。

三个月后,Alyssa 才正式进入多伦多大学,攻读计算机科学本科。

在校期间,她一边学习书本的新知识,一边在工作中积累图形驱动实践经验,直到本科毕业。

从随口提个建议到成为 Asahi Linux 核心开发者,这些都是业余时间的爱好

在兼顾 Panfrost 项目的同时,Alyssa 也加入了让 Linux 跑在 M 芯片系列的 Mac 上从 0 到 1 的 Asahi Linux 项目落地的关键阶段。

根据她自己的博客回忆,这段故事要从 2020 年 12 月说起。

那时,苹果发布了 M1 芯片,并首次搭载自研 GPU,一些开源爱好者便开始对这套硬件进行逆向工程,并尝试移植 Linux。正是在这一背景下,一位名为 Hector Martin 的开发者发起了 Asahi Linux 项目,一个专门让 Linux 适配苹果自研芯片的开源计划。

M3/M4 Mac上跑Linux“破灭”?Asahi Linux又一核心开发者官宣退出:告别苹果,转战英特尔

正如上文所述,当时 Alyssa 在 Collabora 公司工作,负责 Panfrost 里针对 Arm Mali GPU 的开源驱动。彼时的 Hector 向上游开源维护者们寻求指导,而 Alyssa 看到了之后,最初只是随口给出一些建议。

但没想到,她后来给自己买了一份圣诞礼物——一台 M1 Mac,然后正式投身其中。

在学业课程和为 Collabora 工作之余,处于大学阶段的她又抽出了一些时间开始研究 M1 GPU 的着色器指令集,并在博客上开启了《剖析 Apple M1 GPU》系列文章的第一篇(https://rosenzweig.io/blog/asahi-gpu-part-1.html)。

事情就这样顺理成章地推进。

没过几周,Alyssa 成功在屏幕上画出了一个三角形。

M3/M4 Mac上跑Linux“破灭”?Asahi Linux又一核心开发者官宣退出:告别苹果,转战英特尔

使用开源代码在 M1 上渲染的三角形

与此同时,她也在博客中笑称道——在 3D 图形学里,有句话是:“一旦你能画出一个三角形,就意味着一切皆有可能。”

于是,她开启了「一切皆有可能」的各种尝试。很快,她写出了一个着色器编译器(https://gitlab.freedesktop.org/asahi/mesa/-/tree/agx-milestone-1/src/asahi/compiler)。

M3/M4 Mac上跑Linux“破灭”?Asahi Linux又一核心开发者官宣退出:告别苹果,转战英特尔

那个学期期末考试结束后,她请了几天假,基于新写的编译器实现了一个能在 OpenGL 上转动齿轮的驱动程序。

M3/M4 Mac上跑Linux“破灭”?Asahi Linux又一核心开发者官宣退出:告别苹果,转战英特尔

在 Apple M1 上渲染的 glxgears

接下来的一年里,她不断做逆向工程、不断改进驱动,直到它能在 macOS 上跑起 3D 游戏。

M3/M4 Mac上跑Linux“破灭”?Asahi Linux又一核心开发者官宣退出:告别苹果,转战英特尔

Neverball 使用开源 OpenGL 驱动程序在 Apple M1 GPU 上渲染

与此同时,Alyssa 透露,当时来自 Asahi Linux 项目的另一名成员 Asahi Lina 正在为苹果 GPU 写了一个内核驱动,而 Alyssa 写的用户态 OpenGL 驱动已经能在 macOS 上运行,只差 Asahi Lina 的内核驱动,开源的完整图形栈就能拼起来。

等待了一段时间到了 2022 年 12 月,在她们的合力之下,Asahi Linux 终于实现了图形加速功能。

M3/M4 Mac上跑Linux“破灭”?Asahi Linux又一核心开发者官宣退出:告别苹果,转战英特尔

此时再从时间线来看,此时也才 2023 年 1 月,这是 Alyssa 进入多伦多大学计算机科学专业的最后一个学期。

多年来,她一边读书、一边做兼职工作,同时将 GPU 驱动开发当作业余爱好。

在面临毕业选择时,她和很多毕业生一样,也曾感到迷茫:究竟是继续 Panfrost,还是追求新的挑战?Alyssa 回想自己的过去:

从 2017 年高中时期逆向 Mali Midgard GPU,到 2019 年进入 Collabora 实习,再到大学四年持续在正式工作中开发,Panfrost 已从一个“学生玩具”成长为专业驱动,获得 Arm 官方支持和硬件文档。

她觉得 Panfrost 这个项目的发展早已超出了自己当初的设想,是时候转向下一个挑战了。

那时,Alyssa 为自己设定了一些新目标:

把 M1 上的驱动做完,交付一个高质量的成果。

为 M1 带来完整、符合标准的 OpenGL 驱动(苹果自带的 OpenGL 驱动并不完全符合规范,而我们应该追求行业标准)。

把完整的、符合标准的 Vulkan 带到苹果平台,打破“Vulkan 不适合苹果硬件”的迷思。

让 Proton 游戏在 Asahi Linux 上跑起来(Proton 是 Valve 为 Steam Deck 打造的兼容层,可以让 Windows 游戏在 Linux 上运行,甚至有时比在 Windows 上表现更好。为什么不把这种好处带到 M1 上呢?)。

“对我来说,Panfrost 是曾经的挑战,而现在的新挑战是:让 Linux 在 M1 上也能畅玩游戏”,Alyssa 说道。

所以,在学业完成后,她全职投入 Linux 游戏支持。

不久后,她和 Asahi Linux 项目团队成员共同发布了 OpenGL 3.1,并在几周内通过 OpenGL ES 3.1 官方一致性测试,这意味着 M1 的功能已经追平了 Panfrost。

有了这些胜利,Alyssa 下定决心——“我想要做得更远”。

接着,她发现 OpenGL (ES) 3.2 要求支持几何着色器,而无论是 Arm 还是苹果的硬件都没有原生支持这种遗留功能。闭源驱动通过计算着色器进行模拟,但在开源世界里还没有任何前例。尽管 Mesa 里的多个驱动都需要类似的几何/细分着色器模拟功能,但一直没人动手去做。

其表示,自己最初能快速推进 OpenGL,是因为 Mesa 有很多成熟的公共代码。而这个时候,她想着,是时候回馈开源社区了。

接下来的大半年,她自己潜心开发,最终实现了几何/细分着色器的模拟支持,甚至把整个 OpenGL 的“拼图”都补齐了。到 2024 年 1 月,其顺利通过了 OpenGL 4.6 的完整一致性测试,算是把 OpenGL 全部收官。

随后,她又用几周时间完成 Vulkan 1.3 一致性测试,并将几何/细分着色器功能接入 Vulkan 驱动,让 Proton 游戏得以运行。

至此,她上面所设立的新目标,即高质量驱动、符合标准的 OpenGL 4.6、OpenGL ES 3.2、OpenCL 3.0、Vulkan 1.4 以及 Proton 游戏支持的目标全部达成。

如今,Linux 已经能在多款 M1 和 M2 Mac 上运行,而且几乎所有硬件都能正常工作:无线网络、音频、甚至完整的图形加速。

Alyssa 感叹道:

我们取得的成果超出了我的想象。我追逐的挑战一个个被解决。驱动已经完整地合入 Mesa 上游,性能也不错。随着“Vulkan 在苹果硬件不可行”的迷思被打破,如今 LunarG 的 KosmicKrisp 项目 也基于我的工作,把符合标准的 Vulkan 带到了 macOS。”

下一个挑战——英特尔

“我很满足。”Alyssa Anne Rosenzweig 说道,“是时候告别苹果生态,把火炬交给 Asahi Linux 社区的伙伴们继续前行。”

至于她自己,她透露——下一站,她想迎接新的挑战!

起初,Alyssa 只是在自己的博客上附上了一个指向 Intel Xe-HPG 架构的超链接,引发外界猜测她将加入英特尔。

随后,她更新了自己简历,正式透露的新方向,到英特尔去设计了 Intel GPU 的开源图形驱动,具体工作包括:

设计并开发 OpenGL 和 Vulkan 驱动,以提升 Linux 上的游戏体验。

研究构建先进着色器编译器的技术。

调试、测试并维护 Intel 的开源图形驱动。

对 3D 工作负载进行分析,识别性能瓶颈并加以优化。

为图形标准规范的制定作出贡献。

M3/M4 Mac上跑Linux“破灭”?Asahi Linux又一核心开发者官宣退出:告别苹果,转战英特尔

一年之内,Asahi Linux 项目损失多名大将!

Alyssa Anne Rosenzweig 的退出,是发生在 Hector Martin 离开项目、Asahi Lina 暂停苹果开源驱动开发之后。

Hector Martin 是 Asahi Linux(https://www.patreon.com/marcan)项目的发起人。起初,他的目标是让 M1 Mac 用户真正拥抱 Linux,并通过众筹方式启动开发。五年后,Hector Martin 在今年年初先辞去了 Apple ARM 支持的上游维护者职务,随后在 2 月发表长文,正式宣布辞去 Asahi Linux 负责人的职务。

在长文中,Hector Martin 透露了心酸经历:他在将 Rust 代码合入 Linux 内核过程中遭遇层层阻碍,而 Linux 掌舵者 Linus Torvalds 对此采取了“放任自流”的态度,未给予明确支持;他还发现内核社区中有些成员“表里不一”,当面一套、背后一套;更糟的是,开源项目起步后资金支持不足,而需求却越来越多,每日被催更的压力让他对继续维护 Asahi Linux 感到力不从心,由此选择离开。

不止 Hector Martin,就在五个月前,Asahi Linux 的另一个核心开发者 Asahi Lina 在社交媒体 BlueSky 上宣布,由于个人原因及安全顾虑,决定无限期暂停 Apple GPU 驱动开发工作。Asahi Lina 在项目中发挥了至关重要的作用:她主导开发了基于 Rust 的苹果 DRM 内核显卡驱动,参与 Apple M1 与 M2 GPU 的逆向工程,还负责 Asahi AGX Gallium3D 驱动和 Honeykrisp Vulkan 驱动在 Mesa 中的开发。

不可否认,核心开发者接连离开,不仅对 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. 非常成功且雄心勃勃的业余项目。她是怎么兼顾并完成所有这些事的?我连其中一项都做不好。”

“英特尔,你真幸运。”

参考:

https://rosenzweig.io/blog/asahi-gpu-part-n.html

https://rosenzweig.io/resume-en.pdf

https://news.ycombinator.com/item?id=45034537

本文地址:http://dunniang.cn/archives/1719

以上内容源自互联网,由百科助手整理汇总,其目的在于收集传播生活技巧,行业技能,本网站不对其真实性、可靠性承担任何法律责任。特此声明!

如发现本站文章存在版权问题,烦请提供版权疑问、侵权链接、联系方式等信息发邮件至candieraddenipc92@gmail.com,我们将及时沟通与处理。