Collabora details upstreaming challenges for Tyr Rust Mali GPU driver
Collabora's Tyr driver for Arm Mali GPUs is being rewritten repeatedly as Rust kernel abstractions and driver interfaces evolve upstream.
Summary
Collabora published an update on Tyr, its Rust-based driver for Arm Mali GPUs. The project faces significant friction because the Rust kernel abstractions and DRM driver interfaces it depends on are still being developed in parallel. Tyr has been rewritten multiple times to track these evolving APIs, slowing overall progress and blocking features like job scheduling until abstractions are properly designed and merged. Collabora notes this co-development is valuable because Tyr's real-world use helps expose requirements and limitations in the new Rust kernel infrastructure.
Why Tyr keeps getting rewritten
- Tyr is a Rust-based Linux kernel driver for Arm Mali GPUs being developed by Collabora
- The driver depends on in-development Rust kernel abstractions and DRM driver interfaces that are not yet stable
- As these upstream interfaces are revised and improved, Tyr must be rewritten to match
- Features like job scheduling are stalled pending proper design, review, testing, and upstream merge of the underlying Rust abstractions
- Tyr serves as a real-world consumer of these new abstractions, helping identify their actual requirements and limitations
Why it matters
Tyr represents one of the first substantial GPU drivers being written in Rust for the Linux kernel, making it a test case for whether Rust can succeed in complex DRM subsystem development. Its struggles highlight the bootstrapping problem facing Rust in the kernel: new drivers cannot move faster than the abstractions they depend on.
Original reference: lwn.net →