Компания Red Hat начала работу над проектом Nova, развивающим новый открытый драйвер для GPU NVIDIA, в которых операции инициализации и управления GPU вынесены в прошивку и выполняются отдельным микроконтроллером GSP (GPU System Processor). Новый драйвер оформлен в виде модуля для ядра Linux и использует подсистему DRM (Direct Rendering Manager). Проект позиционируется как продолжение развития драйвера Nouveau для GPU с GSP-прошивками, используемыми начиная с серии NVIDIA GeForce RTX 2000 на базе микроархитектуры Turing, и в долгосрочной перспективе может заменить Nouveau.
Код драйвера написан на языке Rust и дополнительно использует несколько прослоек для разработки видеодрайверов на данном языке, ещё не принятых в основной состав ядра. Предполагается, что применение языка Rust повысит безопасность и надёжность драйвера из-за снижения вероятности совершения ошибок при работе с памятью, а также позволит совместить работу над видеодрайвером с развитием общих компонентов, обвязок и абстракций для разработки драйверов на Rust.
Среди причин для создания нового драйвера упоминается возможность добиться значительного упрощения по сравнению с драйвером Nouveau, благодаря задействованию многих готовых обработчиков, предоставляемых прошивкой GSP. Из-за необходимости поддержки старых GPU NVIDIA код драйвера Nouveau излишне усложнён и негибок, а для решения имеющихся в драйвере Nouveau проблем, например, связанных с блокировками в коде VMM/MMU, требуется существенная переработка кодовой базы.
В развиваемом с нуля новом драйвере Nova можно изначально не допустить появления подобных проблем и усложнений, так как нет необходимости реализации многих абстракций на стороне драйвера, которые в новых GPU NVIDIA уже предоставляются прошивкой. В Nouveau приходится совмещать код для поддержки старых и новых GPU, и оставление в драйвере Nova только поддержки GPU на базе GSP даст возможность отбросить весь груз по обеспечению совместимости с кодом для работы со старыми GPU.
Источник: Opennet.
Комментарии
Как жаль, что старые карты забрасывает поддерживать не только сама НеВидия, но и разрабы свободных драйверов. Менять карточку только по той причине, что она не работает с новыми иксами - нелепая затея.
Добавить комментарий