Alyssa Rosenzweig逆向工程Apple M1 GPU 支持Linux开源驱动
说实话,作为一个平时喜欢读计算机领域顶尖大牛事迹的人,我之前从来没听说过 Alyssa。但在听说 Apple M1 GPU 逆向工程之后,我过去两天都在查 Rosenzweig 女士的资料。
原来她不是今年才开始逆向工程 GPU 的。早在 2017 年她还在上高中的时候就开始做了,后来她因此得到了 Collabora 的一份工作,参与开发 Panfrost——这是 Mali(ARM 设计的图形处理器)的开源 Mesa 驱动。
这次针对 Apple M1 GPU 的工作开始于 2020 年 12 月,当时苹果还没有公开任何关于他们 GPU 指令集架构/命令流的文档。Hector Martin(Asahi Linux 的创始人)启动了 Asahi Linux 项目,目标是把 Linux 操作系统直接移植到苹果硅芯片(M1 和 M2 系列芯片)上。
她给自己买了一台 M1 Mac mini 作为「圣诞礼物」,然后就开始了 GPU 的逆向工作。这项工作沿用了 Panfrost 的黑盒方法,我其实不太懂其中细节,但这是一种黑盒逆向工程技术,能在没有官方文档或源码访问权限的情况下构建开源图形驱动。
几周之后,她就能反汇编简单着色器了。没过多久,她就画出了一个三角形——画出三角形是图形工程里概念验证的终极标准。你也知道那句话:「一旦你能画出三角形,你就能做任何事」。
快进到五年后,现在我们已经得到了符合标准的 OpenGL 4.6、OpenGL ES 3.2、Vulkan 1.4……在运行 Linux 的 M1 Mac 上,Proton 游戏都能运行了(说真的,这太疯狂了)。她今年完成了这个项目,现在其他工作都在她逆向工程成果的基础上推进。
本文由 AI 翻译自英文原帖,技术名词保留英文。
查看 X 原帖