Драйвер NVIDIA Vulkan с открытым исходным кодом NVK теперь поддерживает старые графические процессоры

Collabora сообщает о последних функциях, появившихся в NVK, драйвере Collabora Vulkan с открытым исходным кодом для оборудования NVIDIA, который должен стать частью графического стека Mesa.

Разработка NVK началась почти девять месяцев назад, и похоже, что драйвер NVIDIA Vulkan с открытым исходным кодом становится все более зрелым и находится в довольно приличном состоянии для игр Linux.

С тех пор NVK получила поддержку более старых графических карт NVIDIA до Turing серий Maxwell и Kepler, поддержку геометрии, тесселяции и обратной связи преобразования для поддержки современных видеоигр, а также улучшенную поддержку реализации DXVK на базе Vulkan D3D9, D3D10 и D3D11 для Linux/Wine.

«Echo немного поэкспериментировала с NVK+DXVK, и ей удалось запустить несколько игр», — пишет Фейт Экстранд из Collabora в своем блоге. «Все еще рано и требует некоторых хаков. Тем не менее, есть несколько работающих игр, и я смог продемонстрировать Hollow Knight и F1 2017 на встрече Collabora в мае».

NVK также получил поддержку дополнительных расширений Vulkan, в том числе VK_KHR_draw_indirect_count и VK_KHR_sampler_ycbcr_conversion, и похоже, что диск NVIDIA Vulkan с открытым исходным кодом скоро будет поддерживать новые спецификации Vulkan до версии 1.3.

NVK еще не считается совместимой реализацией Vulkan, поскольку ему необходимо пройти набор тестов на соответствие Vulkan, но Collabora усердно работает над устранением оставшихся сбоев. Кроме того, они работают над некоторыми улучшениями производительности, чтобы сделать NVK более стабильным и надежным для правильной игры.

На данный момент у Collaboara нет временных рамок, когда NVK будет добавлен в графический стек Mesa, но они сказали, что он будет добавлен вместе с новым API ядра, который необходим для правильной реализации Vulkan в различных сценариях.

Новый API ядра будет основан на управляемых пользователем привязках виртуальных машин и объектах синхронизации DRM, и он необходим для того, чтобы NVK правильно обрабатывал буферы глубины и трафарета, а также MSAA для аппаратного обеспечения NVIDIA до Turing. Вскоре он также получит возможность управлять таблицами страниц из пользовательского пространства и надлежащую поддержку семафоров временной шкалы.

Разработчик 3D-графики Collabora для Linux Фейт Экстранд также сообщила, что в последнее время она работает над новым внутренним компилятором для оборудования NVIDIA, написанным на Rust, под названием NAK (Nvidia Awesome Kompiler), который заменит nv50 на современных графических процессорах.

«В целом, я очень доволен Rust как языком для разработки внутренних компиляторов. Писать код на Rust куда веселее, чем на C или C++», — сказал Экстранд. «В настоящее время я ориентируюсь только на графические процессоры Turing. Со временем он будет расширен до большего количества оборудования».
Поделиться:

Похожие публикации

Тут ничего нет

Нет комментариев