Техническая суть проекта
Valve и Collabora работают над портом открытого Vulkan-драйвера RADV (часть стека Mesa) на операционную систему Windows. В отличие от Linux, где архитектура драйверов более стандартизирована, в Windows 10/11 с WDDM 2.0 взаимодействие между пользовательским пространством (userspace) и ядром (kernel) содержит много нестандартизированных данных. Команде пришлось провести реверс-инжиниринг этих структур, чтобы RADV мог корректно «понимать» команды, отправляемые в AMD GPU.
Инструментарий и прогресс
Ранее в 2024 году разработчик Faith Ekstrand создал базовый утилиту для логирования вызовов WDDM 2.0. Команда Collabora доработала этот инструмент, создав логгер, способный анализировать любые Vulkan-приложения, работающие с официальным драйвером AMD, и выгружать все данные, передаваемые в ядро. Благодаря этому прорыву, RADV для Windows уже способен запускать игры, включая Counter-Strike 2.
Сравнение: RADV (Linux) vs AMD Proprietary (Windows)
Текущее состояние драйверов существенно различается. Открытый RADV в Linux славится стабильностью и частыми патчами, тогда как проприетарный драйвер AMD для Windows часто критикуется за нестабильность.
| Характеристика | Mesa RADV (Linux) | AMD Proprietary (Windows) |
|---|---|---|
| Стабильность | Высокая, предсказуемая | Часто нестабильная, «головная боль» для разработчиков |
| Производительность | Часто выше, особенно на старых картах | Снижается на устаревшем оборудовании |
| Разработка | Открытый исходный код, быстрый цикл фиксов | Закрытый код, медленные обновления |
| Кроссплатформенность | Единая кодовая база для Linux/SteamOS | Требует отдельной оптимизации |
Проблема обратной совместимости
Разработчики из Collabora предупреждают: поскольку пользовательское и ядерное пространство драйверов являются парными, изменения в них не гарантируют обратной совместимости. Полностью рабочий RADV может сломаться после обновления драйверов AMD. Команда просит AMD и Microsoft предоставить документированный интерфейс к драйверу ядра или промежуточный слой совместимости, чтобы избежать постоянной «гонки вооружений» с обновлениями.
Значение для индустрии
Успешный порт RADV на Windows позволит студиям разрабатывать игры, ориентируясь на одну платформу (Linux/SteamOS), а не адаптировать код под два разных драйвера с разным поведением. Это также улучшит совместимость слоев эмуляции (Proton) и продлит жизнь дисконтированным видеокартам, которые часто работают лучше под открытым драйвером.
Источник: Tom's Hardware ↗
