Collabora has made significant progress in developing a driver for the Linux kernel Tyr, written in Rust. The driver is specifically designed to work with ARM Mali GPUs that utilize CSF (Command Stream Frontend) technology, such as the Mali G310, G510, and G710. It has been reported that the Tyr driver has now reached a level where it can successfully run the GNOME desktop environment, the Weston composite server, and full-screen games like SuperTuxKart. The performance of this new driver is said to be on par with the Panthor driver, which is written in C.


The Tyr driver code has been integrated into the Linux kernel 6.18, with an expected release in early December. However, it is important to note that the driver is currently not ready for widespread use among general users, as it is considered an experimental prototype aimed at testing the abstractions for developing Rust language drivers.
The creation of the Tyr driver utilized components from the abstract driver rust_platform_driver and the Nova driver, which was developed for GPUs. These components were used as the framework for building a new NVIDIA driver in Rust that was added to the Linux kernel 6.16. The functionality for interacting with Mali GPUs was ported from the existing C-written Panthor DRM driver. The uAPI of the Tyr driver mirrors that of the Panthor driver, enabling compatibility with existing user space components.
CSF technology, introduced from the 10th generation of Mali GPUs, brings about several innovations such as transferring certain driver functions to the firmware side and introducing a new model for GPU work organization. CSF-based GPUs replace the traditional work-chain-based model with a command-flow-based model that includes command-flow queue scheduling on the firmware side. To facilitate scheduler operations, a Cortex-M7 microcontroller is integrated into the GPU, along with a specialized