Инструменты24 августа 2026 г., 14:19 МСК🤖 Auto

VKD3D 2.1: Новый уровень совместимости Direct3D 12 в Wine

Выпущен релиз VKD3D 2.1, критически важный компонент для запуска игр на Direct3D 12 в Linux через Wine. Обновление значительно улучшает поддержку HLSL-шейдеров и добавляет работу с 64-битными числами.

Баннер новости 6384

Что произошло

24 августа 2026 года разработчик CodeWeavers, а именно Henri Verbeet, выпустил версию VKD3D 2.1. Это обновление является частью проекта Wine и отвечает за трансляцию API Direct3D 12 (стандарт для современных игр на Windows) в Vulkan, который используется в Linux. Без этого слоя большинство современных игр оставались бы недоступными на платформе.

Ключевые технические улучшения

Основной фокус обновления — на точности компиляции шейдеров. Разработчики внедрили новый проход dead store elimination (удаление мертвых хранилищ). Это позволяет VKD3D более точно воспроизводить макет таблиц констант, как это делает официальный компилятор Direct3D. Результат — снижение количества графических артефактов и ошибок рендеринга в играх, которые ранее работали некорректно.

Также улучшена поддержка легаси-кода и добавлена новая функциональность для работы с DXIL (DirectX Intermediate Language). Теперь целевой формат SPIR-V поддерживает операции преобразования чисел с плавающей запятой в 64-битные знаковые и беззнаковые целые числа. Это критически важно для современных движков, активно использующих высокую точность вычислений.

Сводная таблица изменений

Компонент Что изменилось в VKD3D 2.1 Значение для пользователя
HLSL Шейдеры Добавлен pass dead store elimination Более точная совместимость с оригинальным кодом D3D, меньше багов в графике
DXIL / SPIR-V Поддержка float-to-64bit int conversion Запуск игр, требующих высокой точности вычислений (высокая точность)
Валидация Строгая проверка входных данных Раннее обнаружение ошибок в шейдерах, стабильность работы
OpenGL Target Улучшения поддержки GLSL Оптимизация для систем, использующих OpenGL-бэкенд

Почему это важно

Для геймеров на Linux это означает, что игры, использующие Direct3D 12, будут работать стабильнее и с меньшим количеством визуальных ошибок. Для разработчиков игр и портеров это шаг к тому, чтобы не нужно было писать отдельные версии шейдеров для Linux, так как трансляция становится всё ближе к нативному поведению Windows-версии. Подробности всех изменений доступны в официальном анонсе на WineHQ.org.

Источник: Phoronix ↗