I started developing a new kernel GPU driver for Apple AGX (for M1 and M2 series chips).
These GPUs run firmware and have fairly complex shared memory data structures that need to be managed by the host, so I've been leaning towards Rust, which has security, better metaprogramming, and general expressiveness.
I have a prototype driver written in Python, but higher level languages are very helpful for reverse engineering the GPU and designing the driver to work differently.
I realize this is the early days of the Rust language on Linux, it's an ambitious challenge, but I'm willing to learn, it will take some time for the driver to stabilize to the point where either way (especially UAPI) can be upstream,
I've heard that Rust For Linux will be merged in the next few kernel cycles at the latest, so writing Linux drivers in Rust doesn't feel like the gamble it used to be.
A detailed description of writing Apple GPU drivers in Rust can be found on the rust-for-linux mailing list: https://lore.kernel.org/rust-for-linux/70657af9-90bb-ee9e-4877-df4b14c134a5@asahilina. net/t/#u
Recommended in the past