LINUX.ORG.RU

D7VK 0.3 - реализация Direct3D 7 поверх API Vulkan

 , , , ,


1

2

Опубликован выпуск проекта D7VK 0.3, развивающего реализацию графического API Direct3D 7, предложенного компанией Microsoft в 1999 году. Реализация работает через трансляцию вызовов в API Vulkan и позволяет при помощи Wine запускать в Linux ретро-игры, использующие API Direct3D 7. Код проекта написан на языке C++ и распространяется под лицензией Zlib. В качестве основы при разработке использован код бэкенда d3d9 от проекта DXVK.

Разработчик рассматривал возможность выпуска версии 1.0 вместо 0.3, но потом решил, что до полной готовности ещё нужно решить некоторые проблемы. В примечании также отмечено, что разработчик не будет добиваться включения D7VK в состав DXVK, как это было с реализациями Direct3D 8 и Direct3D 9 поверх Vulkan. Подтверждена работа в D7VK следующих игр:

  • Sacrifice
  • Disciples 2
  • Emperor: Battle for Dune
  • Vampire: The Masquerade - Redemption
  • Screamer 4x4
  • 1NSANE
  • Hitman: Codename 47
  • Rune
  • X-COM: Enforcer

>>> Подробности на opennet



Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 3)

Разработчик рассматривал возможность выпуска версии 1.0 вместо 0.3, но потом решил, что до полной готовности ещё нужно решить некоторые проблемы.

С одной стороны – одобряю, самокритичность это всегда хорошо.

С другой – многие пользователи считают, что если у продукта версия 0.3, пользоваться им невозможно, «пойду-ка я лучше возьму крякнутый Super Duper Emulator 15.5». Хотя совсем не факт, что второй стабильнее и фичастее первого. :\

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)

позволяет при помощи Wine запускать в Linux ретро-игры, использующие API Direct3D 7

Во-первых не ретро, а во-вторых у меня оно всегда из коробки работало с установкой штатных библиотек то ли из winetricks то ли вообще игра сама ставила. Что эта штука нового добавляет?

firkax ★★★★★
()
Ответ на: комментарий от PunkPerson

d7vk в HoMM II

На момент выхода homm2 самой новой версией directx была скорее всего вторая, да и её они не использовали.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Работает на меньшем числе оборудования.
Это скорее просто разработчик хотел добить до красивого

  • 7 8 9 10 11

И добил.

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от PunkPerson

в таких старых играх будет виден прирост скорости?

milka
()
Ответ на: комментарий от PunkPerson

соответственно, он быстрее

И, как минимум, считается более современным. У нас же модно всё современное. Вон Coreutils на Rust переписывают. Но только Vulkan, в отличие от uutils – это тема.

PunkPerson
() автор топика

А как тут собираются решать проблемы с IDirectDrawSurface?

steemandlinux ★★★★★
()
Ответ на: комментарий от firkax

Вот тоже по большому счёту удивительный вопрос. Возможно какие-то узкоспецифичные вопросы запуска чего-то решает. ХЗ. Я ещё в 10ые годы гонял второй кармагеддон… но там вообще толи 5, то ли 6ой директх.. Soldier Of Fortune на стимдике бегаю, вот он на 7ом, вроде бы без проблем.

DiversantBivnev
()
Ответ на: комментарий от PunkPerson

Только низкоуровневость вулкана здесь вообще не решает. Тут основная проблема в DirectDraw под капотом и в его реализации в вайне.

steemandlinux ★★★★★
()
Ответ на: комментарий от PunkPerson

Почему драйвер? Вот пишут что такая-то видеокарта поддерживает такое-то opengl. Или например у 3dfx было glide нативное а у новых карт оно только через эмулятор.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Ну как работает, просто в ряде игр слайдшоу. Там дикое количество костылей и полноценно его в dxvk не перетащить, из-за того что там полвенды потянет с собой. Даже 3D игры рисуются через DirectDraw.

steemandlinux ★★★★★
()

Gothic 1,2 — так и остались ресурсоёмкими играми до сих пор, хотя прошло уже более 20 лет, повороты мышью в этих играх как-то плавно ворочается до сих пор. Так что такая приблуда — это круто! Для тех, кто хочет кайфануть от шустрости работы этих игр.

With ★☆☆
()

Оно RTX лучи поддерживает?

ox55ff ★★★★★
()

В примечании также отмечено, что разработчик не будет добиваться включения D7VK в состав DXVK, как это было с реализациями Direct3D 8 и Direct3D 9 поверх Vulkan.

А вот это жаль. Было бы неплохо все реализации Direct3D через Vulkan иметь в одном месте. Чтоб не задумываться о версиях этого самого DirecX/Direct3D.

CrX ★★★★★
()
Ответ на: комментарий от firkax

Vulkan это модно и молодёжно.

Ну а так по идее оно эффективнее. Vulkan более низкоуровневый, что даёт больше возможностей по оптимизации в теории. Ну и на практике реализации других версий Direct3D на Vulkan значительно производительнее аналогов на OpenGL. Появление DXVK по сути перевернуло Wine-гейминг.

Более того, в некоторых DX11-играх на полном серьёзе рекомендуют использовать DXVK вместо обычного DX11 даже под виндой (да, это возможно) для повышения производительности.

И да, с одной стороны, в таких старых играх вряд ли у кого-то реально были проблемы с производительностью. С другой стороны, если можно сделать эффективнее, то почему бы и нет — мы же ругаем всяких веб-макак, у которых раз сайт не тормозит, то и пофиг, сколько оно ресурсов отжирает. Вот и тут так же — если можно эффективнее, пущай будет эффективнее.

upd: Придумал, где на практике оно полезно, если действительно эффективнее — всякие портативные игровые девайсы вроде того же стимдека. Если оно по производительности эффективнее, то вероятно медленнее сажает аккумулятор. А поиграть от одной зарядки условно шесть часов вместо пяти — всегда приятно.

Естественно, это всё гипотетически пока, ну и экстраполируя опыт с ранее представленными реализациями других версий D3D через OpenGL и Vulkan. С D7VK я бенчмарков никаких не проводил.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 4)
Ответ на: комментарий от With

Пару дней назад добил прохождение второй Готики, она у меня в wine вообще не стартовала, игрался вступительный ролик с артефактами и сразу падение. Прошёл всю с помощью OpenGothic, не без багов, но в целом всё проходится.

Dr64h ★★★★
()
Ответ на: комментарий от Dr64h

Давно ничего не запускала на обычном вайне, да и это не особо нужно. Что-то пытаться запускать из игр на обычном вайне — ну так себе затея. Использую только Wine-Staging с CSMT + Vulkan — и всё летает, любые игры практически. Gothic 1,2 — прекрасно работают на Wine-Staging. Но благодаря D7VK теперь и на Vulkan рендере можно будет поиграть! Так, что все ваши эти сообщения для меня о том что под вайном что-то не работает — как сообщения из далёкой-далёкой галактики к реальности не имеющие никакого отношения.

With ★☆☆
()
Ответ на: комментарий от With

У меня Gothic 2 на компе, на котором Crysis шёл на средних настройках и Oblivion почти на максималках, умудрялась подтормаживать, на винде. Играбельно было, но подтормаживала иногда

sho_mi_kok
()
Ответ на: комментарий от firkax

Ну, оно ж видеокартой предоставляется?

Производитель видеокарты сует имплементацию в драйвер под винду. Ну а в линукс ты и сам знаешь, проприетарный драйвер делает производитель, для опенсорсного есть общие части в проекте mesa. Так что @PunkPerson прав, и драйвер и граф. апи

goingUp ★★★★★
()
Ответ на: комментарий от goingUp

То есть когда на видеокарте написано что она поддерживает такой-то опенгл - это на самом деле описание её официального драйвера и не более того? И на линуксе через месу получается все видеокарты поддерживают все виды опенгл, про которые знает меса?

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от hobbit

С другой – многие пользователи считают, что если у продукта версия 0.3, пользоваться им невозможно, «пойду-ка я лучше возьму крякнутый Super Duper Emulator 15.5». Хотя совсем не факт, что второй стабильнее и фичастее первого. :\

Сейчас пользователи не задумываются о версиях всяких **vk, а используют готовые сборочки wine/proton.

Всё стало на столько просто, что уже не надо задумываться о том, используется ли там dxvk или vkd3d. Да даже на старом протоне можно без проблемы свежие игры запускать и я заметил это только тогда, когда fsr4 надо было прикрутить вместо dlss.

altwazar ★★★★★
()
Ответ на: комментарий от firkax

То есть когда на видеокарте написано что она поддерживает такой-то опенгл - это на самом деле описание её официального драйвера и не более того?

Ну драйвер-то – это связующее звено между программой и аппаратом (железом). Если функция не поддерживается аппаратом, то какой толк от того, что драйвер это поддерживает?

PunkPerson
() автор топика
Последнее исправление: PunkPerson (всего исправлений: 1)
Ответ на: комментарий от PunkPerson

Vulkan работает на более низком уровне, чем OpenGL, и, соответственно, он быстрее

Для героев вторых и третьих особенно важно)

pihter ★★★★★
()
Ответ на: комментарий от Dr64h

Пару дней назад добил прохождение второй Готики, она у меня в wine вообще не стартовала, игрался вступительный ролик с артефактами и сразу падение.

Чистый wine - заготовка, на которую можно положить нужные тебе патчи, добавить нужные библиотеки в префикс. Он нужен только тогда, когда у тебя есть специфические потребности и ты хорошо понимаешь, что и зачем делаешь. Хотя, чаще всего, даже патчи проще накладывать на какой-нибудь staging. Например, делал это для SpellForce 3, так как без специального под эту игру костыля в ней жуткие проблемы со шрифтом.

Если же нет каких-то специфичных потребностей, то чистый wine - просто пакет в системе, установкой которого можно удобно подтянуть нужные для работы вайна зависимости.

altwazar ★★★★★
()
Ответ на: комментарий от pihter

Важно, важно. Теперь представьте что будет с первым думом!

PunkPerson
() автор топика
Ответ на: комментарий от firkax

И что это даёт?

Лучшую производительность по CPU (для dx7 не особо актуально, а для dx9-11 важно). Так же opengl сейчас держат больше для совместимости и в будущем будут копиться проблемы с ним.

Какого-то смысла использовать D7VK сейчас нет, просто задел на будущее.

altwazar ★★★★★
()
Ответ на: комментарий от CrX

Более того, в некоторых DX11-играх на полном серьёзе рекомендуют использовать DXVK вместо обычного DX11 даже под виндой (да, это возможно) для повышения производительности.

Угу, dxvk-async сделал guild wars 2 играбильным, x2-x3 местами давал фпса. И делалось это просто, через закидывание библиотеки в директорию с игрой.

altwazar ★★★★★
()
Ответ на: комментарий от altwazar

У меня conty, я так то прошёл первую Готику через wine, но вот вторая почему-то не пошла. В любом случае мне было удобней использовать OpenGothic, да и в планах было его попробовать.

Dr64h ★★★★
()

какая щедрость дали поиграть когда об этих играх знает 0,1 олдгеймер.:-)

jester-666
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.