RADV для Windows уже запускает Counter-Strike 2: Collabora перенесла открытый Linux-драйвер AMD на Win32 при финансировании Valve. Пока это не готовая замена фирменному драйверу Radeon, а рабочий прототип с серьёзным ограничением внизу стека.
RADV знают многие пользователи Linux с видеокартами AMD. Это открытый Vulkan-драйвер из библиотеки Mesa 3D, который на многих Linux-системах с Radeon стоит по умолчанию. Он тянет игры и Vulkan-софт без закрытого пользовательского драйвера AMD.
Для Windows такая история звучит непривычно. На этой платформе драйверы GPU традиционно идут через закрытые пакеты Nvidia, AMD и Intel. Поэтому порт RADV интересен не только энтузиастам Linux, но и всем, кто помнит, как драйверы Radeon годами лечили через Adrenalin, профили и ручные откаты версий.
Collabora перенесла RADV на Win32 и запустила Counter-Strike 2
Collabora ведёт сам порт, а Valve профинансировала первую фазу проекта, говорится в публикации Collabora. Эти компании уже не первый раз работают вместе над низкоуровневым ПО, включая графический стек для игр.
Разработчики довели прототип до запуска Counter-Strike 2. Для проекта такого уровня это хороший технический маркер: игра использует современный движок, Vulkan важен для Linux-экосистемы Valve, а CS2 быстро показывает проблемы с компиляцией шейдеров, очередями GPU и синхронизацией.
Но статус у порта пока исследовательский. Collabora не объявляла релиз для обычных пользователей и не обещала стабильную сборку. Компания оставила наработки в GitLab, чтобы другие разработчики могли изучить код и продолжить эксперименты.
Главная проблема — закрытый kernel-mode driver AMD
RADV на Windows упирается не в сам Vulkan, а в связь с закрытым драйвером AMD на уровне ядра. Пользовательская часть драйвера может быть открытой, но ей всё равно нужно общаться с kernel-mode driver, который управляет памятью, очередями команд и доступом к железу.
У AMD в Windows эта нижняя часть закрыта. Collabora пишет, что текущий kernel-mode driver содержит непрозрачные блоки кода. Из-за этого разработчикам приходится восстанавливать приватные структуры данных через реверс-инжиниринг.
- Нет открытого KMD: RADV вынужден говорить с фирменным драйвером AMD.
- Нет публичной документации: интерфейс между UMD и KMD приходится изучать вручную.
- Нет гарантии совместимости: AMD выпускает пользовательскую и ядерную части как связанную пару.
- Нет удобных инструментов отладки: диагностика ошибок сложнее, чем в обычной разработке под открытый стек.
Именно последняя связка делает проект хрупким. Если AMD поменяет приватные структуры в новом пакете драйверов, порт RADV может сломаться без предупреждения. Для домашнего эксперимента это терпимо. Для драйвера, который ставят ради стабильных игр, это уже красный флаг.
Collabora прямо описывает узкое место: «Разработка собственного KMD для нас не вариант, поэтому нам нужно общаться с драйвером AMD». Код порта оставили доступным после первой фазы, которую профинансировала Valve; о второй фазе проекта Collabora пока не объявляла.