Linux's Current & Future Rust Graphics Drivers Getting Their Own Development Tree
([Linux Kernel] 6 Hours Ago
drm/rust/kernel.git)
- Reference: 0001573540
- News link: https://www.phoronix.com/news/DRM-Rust-Kernel-Tree
- Source link:
To help in accelerating the development of kernel graphics drivers and any other NPU/accelerator drivers written in the Rust programming language, the Direct Rendering Manager (DRM) subsystem is creating its own DRM-Rust development tree for drivers and associated Rust infrastructure.
Currently the existing DRM Rust code has been going through the DRM-Misc tree that is the "catch all" for smaller Direct Rendering Manager drivers not being maintained on their own before being submitted to DRM-Next/DRM-Fixes. But to ease the development of future Rust drivers and hopefully accelerate the development pace, DRM-Rust is being established as its own tree for all the associated Rust code rather than continuing to pile on DRM-Misc.
Red Hat engineer Danilo Krummrich explained in [1]the mailing list post establishing DRM-Rust:
"Multiple DRM Rust drivers (e.g. nova-core, nova-drm, Tyr, rvkms) are in development, with at least Nova and (soon) Tyr already upstream. Having a shared tree will ease and accelerate development, since all drivers can consume new infrastructure in the same release cycle.
This includes infrastructure shared with other subsystem trees (e.g. Rust or driver-core). By consolidating in drm-rust, we avoid adding extra burden to drm-misc maintainers, e.g. dealing with cross-tree topic branches.
The drm-misc tree is not a good fit for this stage of development, since its documented scope is small drivers with occasional large series.
Rust drivers in development upstream, however, regularly involve large patch series, new infrastructure, and shared topic branches, which may not align well with drm-misc at this stage.
The drm-rust tree may not be a permanent solution. Once the core Rust, DRM, and KMS infrastructure have stabilized, drivers and infrastructure changes are expected to transition into drm-misc or standalone driver trees respectively. Until then, drm-rust provides a dedicated place to coordinate development without disrupting existing workflows too much."
Nova is the in-development modern open-source NVIDIA driver alternative to Nouveau written in Rust. [2]Tyr is in development for a modern Arm Mali graphics driver. RVKMS is the Rust version of the Virtual KMS driver. And, yes, other Rust graphics drivers are surely on the way.
[1] https://lore.kernel.org/dri-devel/20250901202850.208116-1-dakr@kernel.org/T/#u
[2] https://www.phoronix.com/news/Tyr-Rust-DRM-Graphics-Driver
Currently the existing DRM Rust code has been going through the DRM-Misc tree that is the "catch all" for smaller Direct Rendering Manager drivers not being maintained on their own before being submitted to DRM-Next/DRM-Fixes. But to ease the development of future Rust drivers and hopefully accelerate the development pace, DRM-Rust is being established as its own tree for all the associated Rust code rather than continuing to pile on DRM-Misc.
Red Hat engineer Danilo Krummrich explained in [1]the mailing list post establishing DRM-Rust:
"Multiple DRM Rust drivers (e.g. nova-core, nova-drm, Tyr, rvkms) are in development, with at least Nova and (soon) Tyr already upstream. Having a shared tree will ease and accelerate development, since all drivers can consume new infrastructure in the same release cycle.
This includes infrastructure shared with other subsystem trees (e.g. Rust or driver-core). By consolidating in drm-rust, we avoid adding extra burden to drm-misc maintainers, e.g. dealing with cross-tree topic branches.
The drm-misc tree is not a good fit for this stage of development, since its documented scope is small drivers with occasional large series.
Rust drivers in development upstream, however, regularly involve large patch series, new infrastructure, and shared topic branches, which may not align well with drm-misc at this stage.
The drm-rust tree may not be a permanent solution. Once the core Rust, DRM, and KMS infrastructure have stabilized, drivers and infrastructure changes are expected to transition into drm-misc or standalone driver trees respectively. Until then, drm-rust provides a dedicated place to coordinate development without disrupting existing workflows too much."
Nova is the in-development modern open-source NVIDIA driver alternative to Nouveau written in Rust. [2]Tyr is in development for a modern Arm Mali graphics driver. RVKMS is the Rust version of the Virtual KMS driver. And, yes, other Rust graphics drivers are surely on the way.
[1] https://lore.kernel.org/dri-devel/20250901202850.208116-1-dakr@kernel.org/T/#u
[2] https://www.phoronix.com/news/Tyr-Rust-DRM-Graphics-Driver
CommunityMember