Компания Collabora работает над экспериментальным портом RADV, открытого Vulkan-драйвера Mesa для графики AMD, на платформу Windows. Спонсором текущего этапа выступила Valve, и проект достиг важной вехи: теперь с помощью RADV на Windows можно запустить Counter-Strike 2.
RADV стал стандартным Vulkan-драйвером для GPU AMD в среде Linux, где он является ключевой частью графического стека Mesa. Пользователи Windows до сих пор вынуждены полагаться на проприетарный драйвер от AMD, поэтому возможность запуска RADV в нативной среде платформы выглядит особенно многообещающе.
Проект опирается на более ранние наработки графического разработчика Фейт Экстранд, которая на конференции XDC 2024 продемонстрировала, что RADV может взаимодействовать с проприетарным драйвером уровня ядра Windows через интерфейс Windows Display Driver Model 2.
Созданный ею прототип реконструировал достаточно деталей внутреннего протокола обмена между пользовательским пространством и ядром AMD, чтобы выполнять распределение памяти, создавать очереди, отправлять команды и выводить базовую 3D-сцену.
Инженеры Collabora расширили этот proof-of-concept до более функциональной нативной реализации. Новая версия избавилась от зависимости от WSL, устранила жёсткие допуски о модели оборудования, улучшила обработку потока команд и синхронизацию, а также добавила поддержку sparse bindings, тесселяции, task-шейдеров и динамического определения возможностей GPU.
Хотя драйвер пока не проходит полный цикл тестов на совместимость с Vulkan, процент успешно выполняемых тестов заметно вырос. Гораздо важнее, что порт способен запустить Counter-Strike 2 с аргументом командной строки -vulkan.
Впрочем, это не означает, что RADV готов заменить официальный драйвер AMD. Реализация всё ещё носит экспериментальный характер, и на пути к стабильной версии, пригодной для широкого круга задач, сохраняется несколько серьёзных технических препятствий.
В Collabora подчёркивают, что для создания готового к продакшену продукта потребуется либо стабильный и документированный интерфейс для драйвера ядра AMD, либо библиотека совместимости, выпущенная самой AMD. Она должна скрыть изменения во внутреннем формате взаимодействия.
Незакрытым остаётся и вопрос производительности вывода картинки. Сейчас RADV использует на Windows медленный путь, работающий силами центрального процессора, вместо нативных цепочек буферов DXGI. Полноценная поддержка DXGI требует импорта изображений из D3D12, а реализация прямого zero-copy вывода нуждается в дополнительном содействии как со стороны AMD, так и, вероятно, Microsoft.
По оценкам Collabora, zero-copy может ускорить работу приложений, не упирающихся в мощность GPU, до трёх раз. Однако это пока остаётся оптимизацией для будущих версий, а не возможностью текущей реализации.
Несмотря на все ограничения, проект наглядно доказывает, что открытый Vulkan-драйвер Mesa для AMD способен выйти за пределы Linux и справляться с реальной игровой нагрузкой в среде Windows.
На данный момент код Windows-версии RADV размещён в отдельной ветке репозитория Mesa, а не в основной кодовой базе. Collabora не объявляла сроков выхода драйвера для конечных пользователей, и пока проект рассматривается как технический эксперимент.
Дополнительные подробности доступны в официальном анонсе Collabora.





Пока нет комментариев. Будьте первым!