Старые игры наконец-то будут работать на Linux. Независимый проект D7VK будет поддерживать более 400 классических игр Direct3D 7.

Старые игры наконец-то будут работать на Linux. Независимый проект D7VK будет поддерживать более 400 классических игр Direct3D 7.

В мире игр, где каждый год ломаются новые технологические барьеры, легко забыть об основах, о знаковых играх начала века, которые сформировали всю индустрию. К сожалению, для многих из этих игр, использующих архитектуру DirectX 7 и 8, современные операционные системы и видеокарты стали барьером. Но теперь, благодаря амбициозному проекту под названием D7VK, эта проблема может уйти в прошлое, особенно для растущего сообщества Linux.

D7VK — это уровень трансляции, который преобразует вызовы Direct3D 7 в Vulkan, позволяя классическим играм для Windows запускаться в Linux, хотя API той эпохи был технически сложен.

Linux с вехой в Steam. Рекордное участие в опросе по аппаратному и программному обеспечению

D7VK — это ответвление проекта DXVK от WinterSnowfall, который прошел путь от концепции до функционального прототипа всего за несколько дней. Уровень перевода работает как двухэтапное преобразование. Сначала он преобразует вызовы Direct3D 7 в Direct3D 9, а затем, используя проверенный бэкенд d3d9 от DXVK, транслирует их в современный API Vulkan. Этот подход напоминает русскую матрешку. Каждый уровень инкапсулирует старую технологию в новый API, сводя при этом к минимуму необходимость писать код с нуля. Сам автор признается, что проект создан по очень личным причинам. «Я начал с желания сыграть в «Sacrifice» и «Disciples II» на основе dxvk»— объяснил он на GitHub. Этот прагматичный подход привел к решению, которое может охватить гораздо более широкую группу игр. PC Gaming Wiki каталогизирует более 400 игр, использующих Direct3D 7, хотя большинство из них созданы в начале 2000-х годов. В список вошли как культовые игры, такие как «Побег с острова обезьян», «Arx Fatalis», так и лицензионная лопата, которой в то время было большинство.

ASUS ROG Xbox Ally X намного лучше работает с Linux. Вы можете рассчитывать на более плавный игровой процесс и многое другое.

Самым важным источником вдохновения для D7VK стал более ранний проект D8VK от AlpyneDreams, который работал с Direct3D 8 и в конечном итоге был интегрирован в основной репозиторий DXVK в июле 2024 года. WinterSnowfall этого не скрывает. «без D8VK и экспериментальной ветки AlpyneDreams даже не рассматривал бы возможность погружения в D7VK». Это непрерывность развития в экосистеме с открытым исходным кодом, где каждый проект стоит на плечах предыдущих. Однако не все игры Direct3D 7 будут работать с D7VK. Автор предостерегает от «мучительно сложная совместимость API». Приложения, сочетающие Direct3D 7 с устаревшим ddraw (не ddraw7) или GDI, скорее всего, никогда не будут работать. Для таких игр WinterSnowfall рекомендует альтернативные средства визуализации, такие как Glide с nGlide или OpenGL, если игра их поддерживает. В противном случае есть классический WineD3D, который хоть и медленнее, но благодаря своей реализации предлагает гораздо более широкую совместимость. «все, о чем стоит беспокоиться в ddraw и GDI».

Linux с рекордной долей в Польше и Европе. Альтернатива Windows никогда не была более популярной

Чем D7VK отличается от конкурентов? WineD3D уже много лет обеспечивает поддержку Direct3D 7 поверх OpenGL, и пользователи Steam Deck и других дистрибутивов Linux используют этот уровень без особых проблем. Однако D7VK предлагает потенциальные преимущества в производительности: Vulkan — это современный низкоуровневый API, разработанный с минимальными накладными расходами, а OpenGL несет в себе наследие 30-летней разработки. WinterSnowfall, однако, реалистично оценивает ситуацию: «D7VK может работать лучше в некоторых приложениях, но, скорее всего, он не будет превосходить другие варианты в целом».

Создайте загрузочную флешку с Windows, Linux или другой системой. Краткое руководство с двумя программами

Что это значит для пользователя? Прежде всего, более широкий выбор. Любители классических игр на Steam Deck, SteamOS или других дистрибутивах Linux получают еще один инструмент для экспериментов. D7VK поддерживает профили конфигурации для каждого приложения, такие как DXVK, что позволяет выполнять точную настройку: от принудительного применения MSAA (хотя Direct3D 7 AA не полностью поддерживается) до подробных журналов отладки. Проект автоматически поддерживает DXVK HUD, поэтому игроки могут отслеживать производительность, вызовы отрисовки и использование памяти графического процессора в режиме реального времени. Долгосрочные последствия проекта выходят за рамки Direct3D 7. WinterSnowfall подчеркивает, что D7VK дает разработчикам DXVK «платформа для тестирования реализации фиксированных функций даже в старых играх». Это означает, что преимущества разработки D7VK могут вернуться в основной проект DXVK, улучшая стабильность DirectX 8 и 9. В то же время автор четко определяет границы. «D3D7 уже является достаточно сложной задачей. Чем дальше от D3D9, тем дальше от божественности». Не будет попыток поддерживать даже старые API.

Источник: Ars Technica, GitHub, Игры на Linux.

Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии