doitsujin / dxvk

Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine
zlib License
13.21k stars 851 forks source link

Feature Request: DDraw Vulkan Conversion #3234

Closed ShadowLite1 closed 1 year ago

ShadowLite1 commented 1 year ago

This feature can be utilized for games that use DirectX 7 as concurrently there is no other feature that a wrapper has, this can be used for games like SCP Nine-Tailed Fox and other games that use DirectX 7, by having this feature, it can make it easy to use programs like ReShade for DirectX 7 games.

K0bin commented 1 year ago

WineD3D handles DirectX 7 and earlier just fine and on Windows there's DgVoodoo.

We have no plans to support anything below DirectX 8.

ShadowLite1 commented 1 year ago

That is not entirely true, as I have tested WineD3D and DgVoodoo on all settings to no avail that it help, because mainly the OpenGL wrapper does not work with this game, it failed twice and more.

Blisto91 commented 1 year ago

I think K0bin meant performance wise barring any bugs.

Be sure to report that on the wine bug tracker if you can.

shmerl commented 6 months ago

One use case where this can be useful is bad performance of OpenGL in new Wow64 mode in Wine. I get like 1 fps in Vampire: The Masquerade - Redemption. And unless someone will make an OpenGL extension for it (see here), it won't really improve.

So it would be useful to be able to translate DirectDraw (DX7) into Vulkan to be able to use Wine without 32-bit system runtime with decent performance.

Blisto91 commented 6 months ago

It is not on the table for dxvk to take on such a project nor merge with one. People are of course welcome to fork and try their hand at it none the less.

shmerl commented 6 months ago

Well, the alternative could be Wine's own Vulkan backend for DirectDraw which gets some traction even if slowly.

Koaxz commented 4 months ago

https://github.com/narzoul/DDrawCompat

PlayNeth commented 4 months ago

I'd love to see that as well. WINE's own implementation is okay, but its very inaccurate and inefficient. DGVoodoo no longer works since 2.82, and the only other option right now for Linux is DXGL which still being worked on and personally I haven't had good luck with it. DDrawCompat as mentioned beforehand is the only wrapper able to fix some major oddities in older games and sadly it doesn't work on anything else but Windows.