The initial posting of the Apple AGX graphics driver

Post Syndicated from original https://lwn.net/Articles/925503/

Asahi Lina has posted an
initial version
of a Rust-based driver for Apple AGX graphics
processors; the posting includes a fair amount of Rust infrastructure for
graphics drivers in general.

While developing the driver, I tried to make use of Rust’s safety
and lifetime features to provide not just CPU-side safety, but also
partial firmware-ABI safety. Thanks to this, it has turned out to
be a very stable driver even though GPU firmware crashes are fatal
(no restart capability, need to reboot!) and the FW/driver
interface is a huge mess of unsafe shared memory structures with
complex pointer chains.