Skip to content
Valve и Collabora переносят открытый драйвер RADV из Linux в Windows: уже запущен Counter-Strike 2
01 августа 20:26 0 Просмотров Новости

Valve и Collabora переносят открытый драйвер RADV из Linux в Windows: уже запущен Counter-Strike 2

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

Что такое RADV и почему это важно

RADV — это открытый драйвер с открытым исходным кодом из графического стека Mesa 3D, обеспечивающий поддержку API Vulkan для видеокарт AMD на Linux. На протяжении лет он стал стандартом де-факто для владельцев Radeon в Linux, вынудив самого AMD отказаться от собственных альтернативных разработок в пользу экосистемы Mesa. Именно на RADV работает портативная консоль Steam Deck, а также устройства линейки Steam Machine — успех этих платформ во многом обусловлен качеством открытого драйвера.

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

Технический подход: пользовательский режим и WDDM2

Проект не предполагает полной замены проприетарного низкоуровневого драйвера AMD в ядре Windows. RADV функционирует на уровне пользователя (User-Mode Driver), интегрируясь через подсистему WDDM2, и взаимодействует с официальным драйвером ядра от AMD. Написание собственного драйвера режима ядра под Windows не входит в планы разработчиков.

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

Прогресс Collabora: от эксперимента к нативной работе

Инженеры Collabora подхватили наработки Ekstrand и перевели проект на новый уровень. Им удалось:

  • избавиться от необходимости использовать слой виртуализации WSL, обеспечив нативную работу в Windows;
  • расширить поддержку тесселяции, шейдеров и управления памятью;
  • перехватить вызовы системных функций и добиться вывода простой вращающейся трёхмерной модели на ранней стадии.

Команде авторов ждало серьезное испытание при переходе на архитектуру RDNA 3 и видеокарту Radeon RX 7900 XT — изменения в железе вызывали мертвые зависания системы при любых сложных вычислениях. видеокарта AMD Radeon RX 7900 XT с архитектурой RDNA 3

Главное достижение: Counter-Strike 2 на RADV в Windows

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

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

Основные препятствия и перспективы

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

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

Если разработчикам удастся довести RADV до стабильного состояния, один открытый драйвер сможет обслуживать видеокарты AMD сразу на двух крупнейших игровых платформах, а улучшения будут быстрее распространяться между ними. Valve уже финансирует множество разработчиков, работающих над RADV и другими компонентами графического стека Linux — теперь инвестиции расширяются и на Windows. схема взаимодействия RADV с драйвером ядра AMD в Windows

Поделиться

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