Linux 的 VGEM 内核驱动程序正在用 Rust 重写


除了用 Rust 编写的 Apple M1/M2 DRM 内核图形驱动程序,现在又有第二个图形相关的内核驱动程序尝试使用 Rust  —— 内核中的“VGEM”驱动程序正在用 Rust 编程语言重写。

VGEM(Virtual GEM) 是 Linux 4.1 版本引入的虚拟 GEM 提供者,作为最小的非硬件支持的图形执行管理器 (GEM) 内存管理服务已经存在了一段时间。它被 LLVMpipe 和其他非本机 3D 驱动程序方案用于缓冲区共享, 有利于提高软件光栅化器的性能。

glxgears

在过去十年的大部分时间里,VGEM 一直是主线内核的一部分。但如今 VGEM 已不受关注,性能优化也不如新的硬件 GPU 驱动程序。但开源开发人员 Maíra Canal 最近开始尝试使用 Rust 重写 VGEM,作为直接渲染管理器 (DRM) 子系统中的第二款 Rust 驱动。

目前 Rust VGEM 工作仍处于早期阶段,但大多数 IGT 测试用例都已通过。希望了解更多 Rust VGEM 的朋友可以看到这篇博文。

 2023 年采用 Rust 重写的案例越来越多,可延伸阅读:

  • Cloudflare 使用 Rust 重写 Nginx C 模块,目标是“去 Nginx”
  • Mesa Vulkan 驱动探索采用 Rust 重写
  • Fish Shell 计划采用 Rust 重写


 

 


相關推薦

2023-04-29

列特拉维夫的 BlueHat IL 2023 上宣布,Rust 将进入操作系统内核。"在接下来的几周或几个月内,你将在内核中使用 Rust 启动 Windows,这真的很酷。这里的基本目标是将其中一些内部的 C++ 数据类型转换为其 Rust 等价物。" Windows 的 Rus

2022-09-30

维护者 Greg 表示愿意接受用 Rust 开发 Linux 内核的驱动程序。 2020 年,Linus Torvalds 回应了针对 Linux 内核支持 Rust 的个人看法。他没有否定该提议,而是提倡在默认情况下开启该 feature,以确保该 feature 能被充分测试。当

2023-08-31

止内存安全漏洞,由 AWS 资助的 Ferrous Systems 和 Tweede Golf 正在联合将 sudo 和 su 从 C 移植到 Rust。 据介绍,Prossimo 对于选择的软件会重点关注以下方面: 使用非常广泛(几乎每个服务器 / 客户端都在使用) 被应用于重要

2023-05-05

互联网安全研究小组 (ISRG) 的 Prossimo 项目正在用 Rust 重写 sudo 和 su,目标是提升它们在内存方面的安全性,确保它们不再遭受内存安全漏洞的困扰,并进一步增强 Linux 和开源生态系统的安全性。 据介绍,Prossimo 选择的软件会重

2023-07-18

25905)。 发布公告提到此版本已经使用 Rust 重写 Windows 11 内核中的部分模块。 据介绍,该预览版使用 safe Rust 对关键内核功能进行了早期实现。具体来说,win32kbase_rs.sys 包含 Windows GDI region 的新实现。虽然这是一个小的

2023-02-02

具链的明确途径。每年的“开发痛苦”都会加重。 C++ 正在成为一种“遗留语言”,未来寻找贡献者将变得困难,而 Rust 拥有一个活跃且不断发展的社区。 Rust 是实现并发函数执行所需要的语言。 用 Rust 编写将有助于 fish 继

2023-03-21

日,其团队发博客称将要将 Rust 引入 Xen 项目,使用 Rust 重写一些 Xen 组件。 Xen 是由剑桥大学开发的 x86 开源虚拟机监控器 (VMM),支持在单个机器上高性能地虚拟化多个操作系统。 XCP 项目的整个平台包含许多不同的程序

2022-09-21

的安全团队 Asahi Linux 计划使用 Rust 编写 Apple 芯片的 GPU 驱动程序 GCC Rust 得到 GCC 批准,将被纳入主线代码库

2022-09-15

指出,西部数据公司的 Andreas Hindborg 围绕基于 Rust 的 NVMe 驱动程序发表的内容也很吸引人。Hindborg 称,虽然目前 Linux 内核已经拥有出色的由 C 编写的 NVMe 驱动程序,不需要替换;但鉴于 NVMe 驱动程序的广泛使用度及其重要性,

2023-11-16

能引入 Rust 代码库。 一些开发者还在尝试使用 Rust 编写驱动程序。至于一些使 Rust 与 Linux 完全集成所需的日常工作,均可以在 Rust for Linux 这一官方网站查询更多详情。 开发了两年之久的原始 rust 代码分支已经退役;代

2022-11-14

被合并到 Linux 6.1 。意味着未来 Rust 编程语言将用于内核驱动程序和其他子系统的代码。但 10 月的 Rust for Linux 只提供了底层的基础设施和一些非常基础的集成,缺少很多规范和子系统抽象。 近日,领导 Rust for Linux 工作的 Miguel

2023-01-19

eScript 重写 CLI,并支持在 Node Runtime 上运行。 Shopify 内部正在使用的编程语言除了最熟悉的 Ruby 之外,其次是 Node、Go 和 Rust。从技术层面来说,Go 和 Rust 也是理想的选择,Go 和 Rust 程序能够方便地编译成二进制文件,因此用户

2023-04-24

已从 AMD64 移植到 AArch64。 FreeBSD 中的 DRM Linux 内核图形驱动程序支持已从 Linux 5.10 更新到 Linux 5.15~5.16,并在 5.17+ 上取得进展。 由 Apple Computer 在 1990 年代编写的 FSX File-System eXercisor 工具,现在已由 FreeBSD 用 Rust 编程语言重写

2022-09-18

“更愿意潜水而不愿参加会议”。 Linus 称,尽管为 Linux 内核付出了很多精力,但他并不是一个工作狂。 真的,我之所以还能年复一年地做这件事,是因为我可以随时脱离它。但我不会离开很久,因为我会感到无聊。唯一让