皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

“Tyr” 宣布为新的 Rust 编写的 Linux 内核图形驱动程序

本周五晚上的一个意外公告是 Tyr 的介绍,这是一个用 Rust 编程语言编写的新 Linux 内核 DRM 图形驱动程序。遗憾的是,在 Linux GPU 内核驱动程序中越来越普遍的是越来越晦涩难懂的驱动程序名称。提尔?!?

从名称中看不清楚,最初在我的内核邮件列表阅读中被忽略的是 Tyr 公告。Tyr 是适用于现代 Arm Mali 图形硬件的新开源 Direct Rendering Manager 驱动程序。Tyr 是日耳曼神话中的神,因此大概是北欧神话中用于 Arm Mali 的 Bifrost / Midgard / 等代号的玩笑。尽管如此,如果它不是 mali-tyr 或更简单、更类似的东西,就不那么容易联想到。

这个 Rust 编写的 Tyr 驱动程序旨在支持当前由 Panthor DRM 内核驱动程序支持的相同现代 Arm Mali 图形硬件 ,以使用 Arm Mali 命令流前端 (CSF) 固件。CSF 支持归结为 Mali 图形“Gen10”和更新版本。

“Tyr” 宣布为新的 Rust 编写的 Linux 内核图形驱动程序

Collabora 的 Daniel Almeida 宣布了 Tyr 驱动程序,并计划随着 Rust DRM 绑定的不断成熟而逐步开发它,直到它能够替换基于 C 语言的代码的 Panthor 驱动程序功能。Almeida 在介绍公告中解释说:

“为基于 ARM Mali CSF 的 GPU 添加 Rust 驱动程序。它是 Panthor 的一个端口,因此将 Panthor 的 uAPI 和名称公开给用户空间,是 Collabora、ARM 和 Google 工程师共同努力的产物。

目标是使用当前可用的抽象逐步开发 Tyr,直到被认为在功能方面与 Panthor 相同。

第一个版本仅实现了下游可用功能的一部分,因为如果不引入更多抽象,其余功能将无法实现。特别是,很多事情都取决于在给定的 VA 范围内正确映射内存,而这本身就取决于当前正在进行的 GPUVM 抽象。因此,我们仍然无法启动 MCU,因此在当前版本中无法做太多事情。

尽管如此,此版本旨在验证一些仍在开发的抽象,特别是平台 iomem 代码。一旦关于 GPUVM 抽象的讨论取得进展,后续补丁将引入VM_BIND支持。

尽管功能集有限,但我们提供了一个 IGT 分支来测试此补丁。它仅在 rk3588 上进行了测试,因此任何其他 SoC 目前可能根本无法工作。

Tyr 驱动程序框架代码基于基于 Rust 的 NOVA DRM 驱动程序,该驱动程序是为现代开源 NVIDIA GPU 支持而开发的。Collabora 正在与 Arm 和 Google 一起开发 Tyr。

那些想了解更多关于 Tyr 驱动程序的人可以通过 LKML 进行。

转自 “Tyr” Announced As New Rust-Written Linux Kernel Graphics Driver – Phoronix