arzh-CNenfrdejakoplptesuk
Search find 4120  disqus socia  tg2 f2 lin2 in2 X icon 3 y2  p2 tik steam2

Linux-геймеры получили D7VK: эмулятор для запуска классики на DirectX 7

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

D7VK

Инструмент D7VK является "ответвлением" (spin-off) от DXVK. Он использует хитрый подход: вместо того, чтобы переводить DX7 напрямую в Vulkan, что потребовало бы титанических усилий, он работает как двухэтапный транслятор. Сначала он переводит вызовы DX7 в вызовы DirectX 9, а затем "скармливает" их уже существующему бэкенду DXVK, который, в свою очередь, переводит DX9 в Vulkan. Для этого D7VK использует код из DXVK (для DX9) и реализацию DDRAW из Wine.

DirectX 7, выпущенный в 1999 году, был основой для многих культовых игр начала 2000-х. Этот API впервые представил аппаратное ускорение T&L (transform and lighting), переложив эти задачи с CPU на GPU. Благодаря D7VK, у игроков на Linux появится шанс запустить такие хиты, как оригинальный Counter-Strike, Deus Ex, Unreal Tournament и FIFA 2001.

Однако разработчик сразу предупредил об ограничениях. Из-за возраста API, поддержка не будет стопроцентной. Игры, которые смешивают вызовы DirectX 7 со старыми версиями DDraw (до 7-й версии) или с GDI, "не будут работать никогда". На вопрос о поддержке DX6 или более старых API, разработчик ответил категорическим "нет".