HeadlinesBriefing favicon HeadlinesBriefing.com

一个月内为M4 Mac构建GPU驱动

Hacker News •
×

Niklas和我大约在一个月内为M4 Mac Mini和MacBook Neo构建了一个完全符合OpenGL ES 3.0的GPU驱动,这个过程通常需要数年时间。该驱动能让Chrome和Firefox运行WebGL,并让Minecraft以200fps运行。这涉及以净室方式逆向工程AGX GPU的固件ABI和用户空间组件。

此前,我构建了一个虚拟机监控程序来逆向工程macOS。我们的目标是实现符合标准的OpenGL(以及即将推出的Vulkan)驱动。我们逆向工程了M4、A18 Pro和M5的用户空间,构建了自定义IR/着色器编译器、命令流构建器以及完整的Linux内核驱动。我们只使用了硬件跟踪和我们自己的着色器,将Apple的二进制文件视为不透明的黑盒。

内核驱动与运行RTKit的GPU固件通信,而不是直接与硬件通信。固件ABI是最令人头疼的部分,共享结构体中交织着固件和主机字段。Asahi Lina在M1/M2上通过艰苦的12小时工作日弄清楚了这一点。

代码尚未准备好供最终用户使用,但我们的目标是尽快将其交付给他们。

关键实体:公司:Apple | 人物:Cody Ho、Niklas、Asahi Lina

FAQ:构建一个GPU驱动通常需要多长时间?

通常,构建一个GPU驱动是一项需要数年时间的努力。我们的目标是在几天内完成,但几周仍然是一个巨大的改进。

FAQ Q:构建一个GPU驱动通常需要多长时间?

FAQ A:通常,构建一个GPU驱动是一项需要数年时间的努力。我们的目标是在几天内完成,但几周仍然是一个巨大的改进。