Классика Windows оживает на Linux — новый проект d7vk открыл доступ к сотням старых игр эпохи DirectX 7
Сообщество энтузиастов представило новый проект с открытым исходным кодом d7vk, призванный расширить возможности запуска классических игр для Windows на операционных системах Linux. Он представляет собой транслятор команд графического API Direct3D 7 в современный Vulkan, что открывает новые пути для сохранения игрового наследия начала 2000-х.
Для многих геймеров на Linux ключевым инструментом является слой совместимости Proton, разработанный компанией Valve для платформы Steam. Он позволяет запускать тысячи Windows-игр практически «из коробки» на Linux-системах, включая портативную консоль Steam Deck и даже отдельные Arm/Android-консоли. Однако официальная поддержка Proton, как правило, начинается с игр, написанных для Direct3D 8 — технологии, выпущенной Microsoft в конце 2000 года. Игры, вышедшие раньше и использующие Direct3D 7, оставались за бортом современных оптимизаций.
Именно эту нишу и стремится занять d7vk. В отличие от встроенного в Wine стандартного компонента WineD3D, который поддерживает D3D7 уже около двух десятилетий, новый проект основан на коде DXVK. Этот транслятор уже является неотъемлемой частью Proton и известен своей высокой производительностью во многих современных и не очень играх. Автор проекта, скрывающийся под псевдонимом WinterSnowfall, отмечает, что его главной мотивацией стало желание комфортно играть в такие проекты, как Sacrifice и Disciples II, используя преимущества уже существующей и отлично зарекомендовавшей себя инфраструктуры DXVK.
Потенциально улучшенная совместимость и производительность коснутся более 400 игр, преимущественно выпущенных в период с 2000 по 2004 год. Хотя среди них немало проходных лицензионных проектов, в списке значатся и настоящие жемчужины той эпохи — например, квест Escape from Monkey Island, ролевая игра Arx Fatalis и самый первый стелс-экшен Hitman: Codename 47. Примечательно, что единичные коммерческие проекты на D3D7 продолжали выходить вплоть до 2022 года.
Создатель d7vk не ожидает, что его разработка будет официально включена в основной проект DXVK, но обещает поддерживать тот же уровень гибкости с индивидуальными профилями и исправлениями для каждой конкретной игры, к которому привыкли пользователи DXVK. Он также признаёт, что d7vk не всегда будет работать лучше существующих альтернатив, но подчёркивает: «Иметь больше доступных вариантов — это, по моему мнению, хорошо».
Несмотря на недавние улучшения, после которых производительность в большинстве поддерживаемых игр варьируется «от приличной до отличной», автор предупреждает, что достичь полной совместимости со всеми проектами, скорее всего, не удастся. «Direct3D 7 — это Мордор с точки зрения совместимости API», — пишет он. Расширять поддержку на ещё более старые версии DirectX разработчик также не планирует, объясняя это с долей иронии: «D3D7 — это уже само по себе черт-те-что. Чем дальше мы отходим от D3D9, тем дальше мы от божественного света».
Источник: Ars Technica





2 комментария
Добавить комментарий