vk.com

Выберите язык

Драйвер NVK начинает поддержку Vulkan 1.1 для NVIDIA GeForce RTX 20 и новее

   NVK — новый видеодрайвер Vulkan API с открытым исходным кодом для видеокарт NVIDIA в Mesa. Драйвер был полностью написан с нуля с использованием официальных заголовков «NVIDIA Open GPU Kernel Driver» от самой компании NVIDIA. Разработчики этого драйвера надеются, что, в долгосрочной перспективе, NVK станет для оборудования NVIDIA тем же, чем RADV является для оборудования AMD.

  Участвующим разработчикам, удалось заставить драйвер NVK Vulkan работать поверх своего экспериментального кода драйвера ядра Nouveau DRM, который адаптируется для использования прошивки GSP с оборудованием серии RTX 20 и новее.
 
  Только, на прошлой неделе, разработчики NVK праздновали соответствие Vulkan 1.0, а теперь, этот драйвер, NVIDIA Vulkan с открытым исходным кодом в Mesa, открывает поддержку Vulkan 1.1.
  
  Был открыт запрос на слияние, который открывает поддержку Vulkan 1.1 в драйвере NVK. Однако, есть оговорка, что поддержка Vulkan 1.1 предназначена только для GPU Turing и новее, т.е. для серии GeForce RTX 20 и новее, когда речь идет о потребительских GPU. Кроме того, компилятор шейдеров NAK, написанный на языке Rust, также должен быть частью сборки Mesa.
Фэйт Экстранд (Faith Ekstrand) написал об этом в запросе на слияние:
  nvk: Реклама Vulkan 1.1 на Turing+
  На самом деле мы опираемся на то, используется ли NAK для всего. Если да, то мы заявляем 1.1, в противном случае заявляем, 1.0. NAK нужен нам для операций с подгруппами и других продвинутых шейдерных функций в последующих версиях Vulkan.
  На данный момент наш показатель прохождения Vulkan 1.1 примерно равен 1.0. Есть несколько тестов памяти, которые мы провалили, и все они связаны с проблемой инструкций ограничения памяти, а затем практически те же тесты, которые мы провалили в 1.0. Я думаю, что этого достаточно, чтобы переключиться. Это значительно упростит тестирование приложений. Кроме всего прочего, как только в json-файле ICD будет указано 1.1 или выше, загрузчик Vulkan начнет искать vkEnumerateInstanceVersion() и перестанет предполагать 1.0, так что MESA_VK_VERSION_OVERRIDE=1.3 будет работать.
  Код был объединен, и теперь Vulkan 1.1 с NVK работает на Turing и более новом оборудовании. Он войдет в релиз Mesa 24.0.
 
  Поскольку ограничение распространяется на графические процессоры NVIDIA Turing и более новые, вам необходимо использовать поддержку NVIDIA GSP в Linux 6.7, чтобы (немного) улучшить работу с драйвером ядра Nouveau. В настоящее время Майкл Ларабель (Michael Larabel) проводит тесты в Linux 6.7 Nouveau с NVIDIA GSP и без него для NVC0 Gallium3D и NVK Vulkan, но пока что, производительность разочаровывает по сравнению с собственным графическим драйвером NVIDIA Linux.