Valve спонсирует порт открытого драйвера RADV Vulkan на Windows: CS2 уже запущен

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

Valve спонсирует порт открытого драйвера RADV Vulkan на Windows: CS2 уже запущен

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

Valve финансирует порт RADV на Windows: первые успехи и вызовы

Louis-Francis Ratte-Boulianne из Collabora опубликовал в блоге подробности о начальной работе над портом RADV на Windows. Главная задача — интеграция с WDDM2 (Windows Display Driver Model 2). Однако основная сложность заключается в необходимости использовать проприетарный драйвер AMD Radeon Software для Windows: портировать открытый драйвер AMDGPU Linux на Windows в рамках текущего проекта не планируется. Из-за этого разработчикам приходится реверс-инжинирить структуры данных и другие элементы закрытого драйвера AMD, чтобы адаптировать RADV для работы с ним. Несмотря на это, команда уже добилась значительного прогресса: игра Counter-Strike 2 успешно запускается с RADV под Windows.

Предыстория и контекст

RADV — это открытый драйвер Vulkan для графических процессоров AMD, разработанный в рамках проекта Mesa. Он широко используется в Linux-сообществе, особенно среди геймеров, благодаря хорошей производительности и поддержке современных API. Valve уже давно поддерживает открытые графические драйверы: компания внесла значительный вклад в развитие Mesa и RADV для Steam Deck и SteamOS. Перенос RADV на Windows может существенно расширить аудиторию открытого драйвера. Однако это ставит перед разработчиками нетривиальную задачу: как обеспечить совместимость с закрытыми компонентами AMD, не имея доступа к исходному коду. Кроме того, AMD может в любой момент изменить внутренние интерфейсы драйвера, что потребует постоянной адаптации.

Как RADV будет работать на Windows без открытого драйвера ядра?

Ключевая особенность порта — RADV не использует открытый драйвер AMDGPU Linux, а полагается на официальный драйвер AMD для Windows. Это означает, что RADV работает как пользовательский слой, который взаимодействует с проприетарным драйвером через низкоуровневые интерфейсы. Для этого разработчики реверс-инжинирят структуры данных и ioctl-вызовы драйвера AMD. Пока проект находится на экспериментальной стадии. Для стабильной работы потребуется либо создание стабильного интерфейса, либо совместимой прослойки, которая будет обрабатывать недокументированные изменения драйвера. В будущем возможно появление официальной поддержки от AMD, но пока это не подтверждено.

Технические подробности: интеграция с WDDM2 и реверс-инжиниринг

Порт RADV на Windows требует интеграции с моделью драйверов WDDM2, которая используется в Windows 10 и 11. Это включает поддержку управления памятью, синхронизации и других функций, специфичных для Windows. Разработчики из Collabora уже реализовали базовую интеграцию, что позволило запустить графически интенсивные приложения. Однако основная работа связана с реверс-инжинирингом проприетарного драйвера AMD. Команда изучает, как драйвер обрабатывает команды Vulkan, управляет ресурсами и взаимодействует с оборудованием. Это трудоемкий процесс, но он необходим для создания полнофункционального порта.

Кого затронет и как

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

Что будет дальше

Разработка находится на ранней стадии, и до стабильного релиза пройдет не менее нескольких месяцев. Collabora планирует продолжать работу при поддержке Valve. Основные цели — добиться полной поддержки Vulkan 1.3, обеспечить совместимость с популярными играми и приложениями, а также создать инструменты для автоматической адаптации к изменениям драйвера AMD. В долгосрочной перспективе возможно, что AMD сама заинтересуется этим проектом и предоставит документацию или даже официальную поддержку. Однако пока это лишь предположения.

Итог

Valve продолжает инвестировать в открытые графические технологии, спонсируя порт RADV на Windows. Проект уже демонстрирует рабочие результаты, но требует решения серьезных технических проблем. Если Collabora удастся создать стабильный порт, это станет важным шагом к независимости от проприетарных драйверов на Windows и расширит экосистему открытого ПО.