Valve спонсирует перенос открытого драйвера RADV на Windows и уже запустила Counter-Strike 2

от aadmin

Компания Valve профинансировала работы по переносу открытого графического драйвера RADV с операционной системы Linux на Microsoft Windows. Разработкой занимаются инженеры компании Collabora, которые пытаются перенести на платформу Microsoft открытые технологии, ставшие основой успеха портативной консоли Steam Deck и устройств Steam Machine. На Linux драйвер RADV давно превратился в стандарт де-факто для видеокарт AMD, вынудив самого производителя отказаться от собственных альтернативных разработок в пользу экосистемы Mesa.

На операционной системе Windows владельцы графических процессоров Radeon все еще вынуждены использовать исключительно официальный проприетарный драйвер AMD. Пользователи регулярно сталкиваются с проблемами стабильности и задержками в исправлении ошибок закрытого софта. Появление открытого RADV на платформе от Microsoft должно дать энтузиастам и разработчикам игр возможность самостоятельно отлаживать графические баги, оперативно вносить исправления и использовать единую кодовую базу независимо от операционной системы.

Технический фундамент инициативы заложила разработчик Faith Ekstrand еще в 2024 году. Она доказала, что начиная с Windows 10 подсистема WDDM2 позволяет драйверам пользовательского режима взаимодействовать с ядром системы. Из-за отсутствия документации и закрытого характера структур данных AMD разработчикам пришлось прибегнуть к реверс-инжинирингу. На раннем этапе авторам исследования удалось перехватить вызовы системных функций и добиться вывода простой вращающейся трехмерной модели.

Инженеры Collabora подхватили наработки и перевели проект на новый уровень. Они избавились от необходимости использовать слой виртуализации WSL, обеспечив нативную работу в Windows, а также расширили поддержку тесселяции, шейдеров и управления памятью. Кроме того, команду авторов ждало серьезное испытание при переходе на архитектуру RDNA 3 и видеокарту Radeon RX 7900 XT, так как изменения в железе вызывали мертвые зависания системы при любых сложных вычислениях.

Рекомендую посмотреть
Сотни тысяч компьютеров заражены новым вирусом через пиратские версии популярных игр

Главным практическим достижением текущей фазы разработки стал успешный запуск игры Counter-Strike 2 на Windows с использованием открытого драйвера RADV. Любой желающий может протестировать эту сборку, добавив параметр запуска -vulkan. Хотя драйвер еще не прошёл официальное тестирование на соответствие спецификациям Vulkan и далек от идеала, полноценная работа киберспортивного шутера внутри Windows на стороннем драйвере стала важной вехой для всего сообщества.

Основной преградой на пути к релизной версии RADV остается взаимодействие с закрытым драйвером ядра от AMD. Написание собственного драйвера режима ядра под Windows не входит в планы разработчиков, поэтому RADV приходится общаться с официальным модулем AMD. Проблема заключается в том, что закрытые структуры данных меняются с каждым обновлением графического пакета Radeon Software, из-за чего сторонний драйвер теряет работоспособность. Для решения этой проблемы авторам потребуется либо официальный документированный интерфейс от AMD, либо специальная прослойка совместимости.

Серьезные ограничения сохраняются и в подсистеме вывода изображения на экран, где RADV пока использует медленный программный метод обработки через центральный процессор. Полноценная интеграция с DXGI и реализация вывода без лишнего копирования кадра в памяти способна увеличить производительность в не упирающихся в видеокарту сценариях почти в 3 раза, но это потребует прямой помощи со стороны AMD и Microsoft. Вся экспериментальная кодовая база проекта уже выложена в открытый доступ в специальной ветке разработки.

Связанные посты