Collabora, in collaboration with Arm and Google, has introduced Tyr — a new Rust-based DRM driver targeting CSF-based Arm Mali GPUs. Tyr is a port of the mature C-based Panthor driver and aims to eventually offer a compatible userspace API, enabling it to serve as a drop-in replacement in the PanVK Vulkan driver. The initial upstream submission can power up the GPU and probe the device on an RK3588 SoC, allowing ROM sections to be read and exposed to userspace via a DRM_IOCTL_PANTHOR_DEV_QUERY call. Development is iterative and upstream-focused, co-evolving with Nova and rvkms. A full working driver is expected to take a couple of years, with a downstream branch already further ahead. This announcement kicks off a blog series on GPU driver internals.

5m read timeFrom collabora.com
Post cover image
Table of contents
What's the purpose of the current upstream submission?What's in the current upstream submission?What's next?Related PostsRelated Posts

Questions this post answers

What is the Tyr DRM driver and which hardware does it target?

Tyr is a Rust-based Linux DRM driver for CSF-based Arm Mali GPUs, developed jointly by Collabora, Arm, and Google. It is a port of Panthor, a mature C driver for the same hardware, and aims to implement the same userspace API as Panthor so it can serve as a drop-in replacement in the PanVK Vulkan driver. A full working driver is expected to take a couple of years. Developers following Rust-for-Linux GPU work can track Tyr's upstream progress on daily.dev.

What can the initial upstream Tyr driver submission actually do on real hardware?

The initial upstream submission can power up the GPU and probe the device on an RK3588 system-on-chip. This allows reading a few sections of ROM in the GPU and exposing that information to userspace via a DRM_IOCTL_PANTHOR_DEV_QUERY ioctl call. Further functionality is blocked until the Micro Controller Unit (MCU) can be made to boot, which requires additional prerequisite kernel infrastructure. Engineers writing or reviewing Rust kernel abstractions can follow the MCU and DRM infrastructure discussions on daily.dev.

3 Impressions