![Linux](https://vincent.enthub.it/f94f60469c9f431da515a0feaf7c2246:enthub/avatars/vDPotzAWOZ0BNepLebj2ZlmobeJgSu3Vu8NnRFlO.png)
Red Hat анонсирует Nova: новый драйвер Nvidia, написанный на Rust
Возможно, он заменит nouveau
![](https://vincent.enthub.it/f94f60469c9f431da515a0feaf7c2246:enthub/stories/6925/T7zkxdhHIYyfQNNRIZeGVVjGHOpJYH-metacmVkaGF0LXRvLXJlcGxhY2Utbm92ZWF1LXdpdGgtbm92YS1kcml2ZXIucG5n-.webp)
Команда разработчиков под руководством Даниэло Крумриха из Red Hat объявила о старте работы над проектом Nova. Nova — драйвер для видеокарт от Nvidia, написанный на языке программирования Rust. В долгосрочной перспективе Nova предполагается использовать в качестве преемника Nouveau для видеокарт, основанных на прошивке GSP.
Nova в конечном итоге стремится стать современным драйвером NVIDIA Linux DRM с открытым исходным кодом для графических процессоров Turing и новее (серия RTX 2000), где есть поддержка системного процессора GPU (GSP). Драйвер Nouveau DRM недавно добавил дополнительную поддержку GSP - или обязательную поддержку, начиная с последней серии RTX 40 - в то время как Nova будет современной заменой, написанной на Rust и без багажа Nouveau, который накопился за годы поддержки графических процессоров NVIDIA, начиная с его ранних дней.
Одна из причин, по которой Red Hat задумалась о преемнике Nouveau, заключается в том, что основной мейнтейнер Nouveau ушел в отставку.
Даниэло отметил, что в этом проекте они хотят работать над упрощенным (но современным) драйвером по сравнению с Nouveau:
В Nova мы видим возможность значительно снизить сложность драйвера по сравнению с Nouveau по двум причинам. Во-первых, историческая архитектура Nouveau, особенно вокруг nvif/nvkm, довольно сложна и негибка и требует серьезной переработки для решения некоторых проблем (таких как иерархия блокировки в коде VMM/MMU для VM_BIND в настоящее время решается обходным путем), во-вторых, с драйвером, работающим только с GSP, нет необходимости поддерживать совместимость с кодом до GSP.
Конечно, рассматривая его как амбициозный проект, у него есть свои заминки, главная из которых:
При выборе Rust первой проблемой, с которой приходится иметь дело, являются отсутствующие абстракции привязки C для интегральной инфраструктуры ядра (например, абстракции устройств / драйверов). Так как это немного похоже на проблему курицы и яйца - нам нужен пользователь для вышестоящих абстракций, но нам также нужны абстракции для создания драйвера - мы хотим разработать Nova в основной ветке разработки и начать только с заглушки драйвера, которая использует только некоторые базовые абстракции Rust.
Все это звучит довольно круто, но разработчикам предстоит нелегкая работа по созданию полноценного драйвера на основе Rust. Но улучшения в области сохранения памяти, надежности и производительности, которые дает Rust, того стоят.
Источник: Nova and staging Rust abstractions - Danilo Krummrich (kernel.org)
Хуйню делают. Будто вот так можно взять и начать драйвер писать с нуля под готовое железо без каких-либо документов и спецификации. Лучше бы перестали разрабатывать систем дурь и днетворкменеджер. А у нвидии и так уже есть опенсорс драйвер, у них только userspace закрытый. Своя модификация mesa или чот такое. У амуде раньше своя меса была, щас хз чо
>Лучше бы перестали разрабатывать систем дурь и днетворкменеджер
Ещё один фанатик конфигураций на шелл-портянках?
А вообще приятно, когда луддитов корёжит. Зоопарку дистрибутивов не хватает унификации.
Но системди реально многое на себя берет
Init.d говно не унифицируемое, systemd.d существенно лучше, хоть и не идеальна. Ну и лучше все рано ничего нет 🤷♂️ А гона на nm вообще не понял. Шикос работает.
Что поделать, если в этом зоопарке - разброд и шатание, а то самое сОоБщЕсТвО не осилило написать альтернативу, не состоящую из говна и шелла. Хотя постоянно грозятся, мол, вот сейчас корпоратов перебьём и заживём.
https://tenor.com/bIQiy.gif
Это конечно хорошо но как сказал великий
“fuck envidia!”
Сам жду того момента, когда свой пека на gtx 1660 ti смогу перевести на открытый дравйвер без каких-либо компромиссов)
https://www.youtube.com/watch?v=_36yNWw_07g