В дополнение к работе над NOVA — графическим драйвером NVIDIA с открытым исходным кодом на базе Rust, ориентированным на GSP, который разрабатывается как возможный преемник существующего драйвера ядра Nouveau DRM, в пользовательском пространстве Mesa разработчики начали переписывать часть кода библиотеки драйверов Nouveau/NVK на Rust.
Даниэль Альмейда начал с переписывания библиотеки NIL Nouveau на языке программирования Rust. Этот первоначальный Rust-код для драйверов пользовательского пространства Nouveau и NVK Vulkan теперь интегрирован в Mesa 24.1.
Переработка NIL на Rust — это первый шаг на пути к созданию связки между C и Rust в рамках Mesa. Впрочем, это не первый код на Rust в Mesa: Rusticl отлично зарекомендовал себя в современном драйвере OpenCL на основе Rust. Более того, несколько месяцев назад драйвер NVK Vulkan объединил NAK в качестве своего компилятора на Rust для этого драйвера NVIDIA Vulkan с открытым исходным кодом.
Эта первоначальная переработка на Rust части кода NIL в Nouveau состоит из 17 коммитов и переделки более двух тысяч строк кода.
Запрос на слияние был открыт с января и наконец-то достиг стадии слияния с Mesa 24.1. Будет интересно посмотреть, какой еще код Rust появится в Mesa в ближайшее время.