Разработчики ядра Linux завершили подготовку изменений для окна слияния версии 7.3, куда вошел крупный пулл-реквест с обновлениями подсистемы DRM (Direct Rendering Manager) на языке Rust. Ключевыми участниками этого процесса стали два драйвера: Nova (преемник Nouveau для GPU NVIDIA) и Tyr (в разработке для GPU Arm Mali). Это подтверждает стратегический сдвиг NVIDIA в сторону использования Rust для критически важных компонентов графического стека, что обещает повышение безопасности и стабильности.
Ключевые улучшения драйвера Nova
Основной объем работы в рамках Linux 7.3 сосредоточен на инфраструктуре DRM на Rust, включая обработку ввода-вывода (I/O), бэкенд системной памяти (SysMem) с поддержкой волатильного доступа, а также новые механизмы управления жизненным циклом ресурсов (RegistrationData и RegistrationGuard). Однако самые заметные изменения коснулись самого драйвера Nova:
- Консолидация загрузки GSP: Улучшен процесс инициализации GPU System Processor, что критично для современных архитектур NVIDIA.
- Поддержка vGPU: Добавлена возможность загрузки виртуальных GPU, что важно для облачных решений и виртуализации.
- Формат прошивки TLV: Внедрена поддержка формата изображений прошивки Type-Length-Value.
- Архитектуры Hopper и Blackwell: Значительно расширен и улучшен код поддержки новейших вычислительных архитектур NVIDIA, включая Blackwell.
Сравнение статусов драйверов на Rust
Для наглядности эволюции двух основных проектов DRM на Rust в контексте Linux 7.3, ниже приведена сводная таблица:
| Параметр | NVIDIA Nova | Arm Mali (Tyr) |
|---|---|---|
| Статус | Активная разработка, преемник Nouveau | В стадии разработки |
| Ключевые нововведения v7.3 | vGPU, GSP boot, Hopper/Blackwell, TLV firmware | Загрузка прошивки, инициализация MCU |
| Фокус инфраструктуры | Управление ресурсами, I/O, SysMem | Интеграция с ядром, загрузка микрокода |
Почему это важно
Инвестиции NVIDIA в драйвер Nova носят системный характер. Несмотря на то, что официальные письменные комментарии представителей NVIDIA относительно деталей стратегии Nova пока не опубликованы, активность в публичных списках рассылки и количество коммитов от инженеров компании свидетельствуют о серьезности намерений. Переход на Rust позволяет избежать классических ошибок управления памятью, что особенно важно для драйверов уровня ядра.
Параллельно развивается драйвер Tyr для GPU Arm Mali, который также получил улучшения в части загрузки прошивки и инициализации микроконтроллера (MCU). Совокупность этих изменений указывает на то, что экосистема DRM на Rust переходит от экспериментальной фазы к промышленному использованию в основных релизах ядра Linux.
Источник: Phoronix ↗
