当谈到 Linux 上的 Apple M1 和 M2 支持时,适合最终用户日常使用的最大障碍之一是当前缺乏 GPU 加速。Apple Silicon 图形处理器一直在进行逆向工程,早期实验正在 macOS 和 Asahi 的 m1n1 环境下进行,下一步将开始编写 Direct Rendering Manager (DRM) 内核驱动程序。令人惊讶的是,正在探索用 Rust 编程语言编写这个 DRM 内核 GPU 驱动程序的可行性。
著名的 Asahi Linux 贡献者 Asahi Lina 表示有可能用 Rust 编程语言为 Apple AGX 编写新的内核 GPU 驱动程序。
Apple M1/M2 上的 Linux 目前仅限于基于 LLVMpipe CPU 的图形加速。
朝日丽娜今天在邮件列表中解释道:
这些 GPU 运行固件并具有相当复杂的共享内存数据结构,需要由主机管理,因此我一直倾向于 Rust,因为它的安全性、更好的元编程和一般的表达能力。我有一个用 Python 编写的原型驱动程序(从远程主机在用户空间中运行,长篇大论),并且拥有更高级的语言对于对 GPU 进行逆向工程以及为驱动程序的工作方式设计不同的想法非常有帮助。
I realize it’s the early days of Rust on Linux and this is an ambitious challenge, but I’m willing to learn and the driver will take some time to stabilize to the point of being upstreamable either way (in particular the UAPI), so writing it in Rust feels like less of a gamble at this point than it used to be, given that it sounds like Rust will be merged in the next few kernel cycles at the latest.
这将是第一个用 Rust 编程语言编写的内核 GPU 驱动程序。鉴于尚未为 Rust 驱动程序编写实际的驱动程序代码,整个驱动程序是否将在 Rust 中实现或仅与二进制固件交互的部分仍有待观察。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun179777.html