Asahi Linux 计划使用 Rust 编写 Apple 芯片的 GPU 驱动程序

来源: OSCHINA
编辑: 罗奇奇
2022-08-12 08:45:00

Linux 上的 Apple M1 和 M2 支持 最大障碍之一是当前缺乏 GPU 加速,Asahi Linux 一直在对 Apple M 系列芯片的图形处理器进行逆向工程,早期实验在 macOS 和 Asahi  Linux 的 m1n1 环境下进行,下一步计划则是编写 Direct Rendering Manager (DRM) 内核驱动程序。

而据外媒 Phoronix 报道,Asahi  Linux 的核心开发者 Asahi Lina 正在探索用 Rust 编程语言编写该 DRM 内核 GPU 驱动程序的可行性。

Asahi Lina 在邮件列表中解释道:

我开始为 Apple AGX (针对 M1 和 M2 系列芯片) 开发一个新的内核 GPU 驱动程序。

这些 GPU 运行固件并具有相当复杂的共享内存数据结构,需要由主机管理,因此我一直倾向于 Rust,它具有安全性、更好的元编程和通用表达能力。

我有一个用 Python 编写的原型驱动程序,但更高级的语言对于对 GPU 进行逆向工程,以及为驱动程序设计不同的工作方式非常有帮助。

我意识到这是 Linux 上 Rust 语言的早期阶段,这是一个雄心勃勃的挑战,但我愿意学习,驱动程序需要一些时间才能稳定到任何一种方式(尤其是 UAPI)都可以上游的程度,

我听说 Rust For Linux 最迟将在接下来的几个内核周期中被合并,因此用 Rust 写 Linux 驱动感觉不像以前那样是一场赌博。

如果成了,这将是第一个用 Rust 语言编写的 Linux 内核 GPU 驱动程序。鉴于目前尚未有 Rust 编写的实际驱动程序代码,驱动程序的 Rust 实现有几种可能性:完全使用 Rust 实现(涉及 DRM 子系统的渲染部分),或者只是大部分固件交互逻辑在 Rust 中完成,然后顶层驱动程序用 C 编写并调用 Rust 抽象层。目前仍有待观察。

有关使用 Rust 写 Apple GPU 驱动的详细描述,可以通过 rust-for-linux 邮件列表 找到。

展开阅读全文
精彩评论
Oya
给大佬倒可乐
2022-08-12 09:30
5
举报
"凡是能用秀语言(Rust)编写的地方一定最终会用秀语言(Rust)编写。"
2022-08-12 11:19
3
举报
人家 windows 的官方翻译就是“视窗系统”,只是不常用,突出 windows 品牌而已。咖啡语言,从来没有这种翻译,因为 java(爪洼)是印尼的一个岛。开始起名字就是为了起一个有简介又响亮又不大众化的名称。翻译成咖啡,估计只有机器翻译和没有知识才会如此翻译。至于 Rust 要不要翻译成 垃圾语言,反正我是不赞成的。什么人看什么事,就不是我能管得了。
2022-08-16 10:47
2
举报
有些人不喜欢恐怕只是在中英文环境里被训练的不习惯罢了吧?而不是中文名称不好。
对于哪些各种反对中文名称的人,我只想说一句,你们的理由为啥当我们的中文名跑到人家地方的时候就不适用呢?
为啥非要翻译成英语?保持原样中文不最正宗吗?为啥就没人反对这个了?
黑人解放的时候,最反对解放黑奴的是黑人管家。
2022-08-19 10:44
1
举报
咖啡语言(java),窗口系统(window),垃圾语言(rust)
2022-08-15 14:58
1
举报
3 收藏
分享
22 评论
3 收藏
分享
返回顶部
顶部