bolrog / d2dx

D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions.
GNU General Public License v3.0
420 stars 49 forks source link

Running in Linux with WINE #199

Open sperez-salgado opened 1 year ago

sperez-salgado commented 1 year ago

To override "Compatibility mode must be disabled" error message when using WINE on Linux, select Windows 7 as Windows version.

Hope this helps somebody.

anohren commented 9 months ago

Got rid of the error message but replaced it with Fatal Error d2dx::RenderContextResources::CreateVertexBuffer line 522 on Wine 9.2 on Wayland on Intel HD4000

SleepingCrows commented 4 months ago

Got rid of the error message but replaced it with Fatal Error d2dx::RenderContextResources::CreateVertexBuffer line 522 on Wine 9.2 on Wayland on Intel HD4000

Didn't test Wine 9.2 but Didn't run into this error using Wine-GE 8.26

Running Wayland on AMD Radeon RX 6950XT

anohren commented 4 months ago

Thanks @SleepingCrows, that worked! And it's actually in fullscreen instead of running in a box in the top left corner.

I also tried this with other titles that didn't run in fullscreen before. It worked for Kotor2, but not for BG2 Complete.

anohren commented 4 months ago

Actually, I spoke too soon. I had apparently disabled d2dx by removing the argument.

Same error as before.

Well, at least the original is in fullscreen, so that's something.

SleepingCrows commented 4 months ago

Actually, I spoke too soon. I had apparently disabled d2dx by removing the argument.

Same error as before.

Well, at least the original is in fullscreen, so that's something.

Assuming DXVK is enabled, trying running, or obtain the package that provides vulkaninfo . I only had a short time to check, but chances are it's a hardware limitation. I am aware that there are limitations with vulkan support on old hardware.

SleepingCrows commented 4 months ago

To override "Compatibility mode must be disabled" error message when using WINE on Linux, select Windows 7 as Windows version.

Hope this helps somebody.

You can also enable the flag nocompatmodefix after copying d2dx-defaults.cfg to d2dx.cfg.

anohren commented 4 months ago

Assuming DXVK is enabled, trying running, or obtain the package that provides vulkaninfo . I only had a short time to check, but chances are it's a hardware limitation.

Thanks for the suggestion. I have vulkaninfo, but I'd still need to know what feature line 522 requires in order to make use of its output.

https://github.com/bolrog/d2dx/blob/d95d19a44265114856885bf3c60060b32b880d7d/src/d2dx/RenderContextResources.cpp#L522

Hardware limitation is my assumption as well, except it's not strictly a hardware limitation since it works fine in Windows, so it must then be a limitation with the Vulkan requirements of DXVK. Their wiki says:

VK_EXT_transform_feedback: Required for D3D10 and D3D11 support.

...which I have, according to vulkaninfo:

VK_EXT_transform_feedback : extension revision 1

I therefore assume I have D3D10 and 11 support (haven't looked up if it's possible to check that specifically -- the DXVK HUD only tells me which API level a game uses, not the max level supported). Since d2dx requires "DirectX 10.1" I don't know exactly what to make of this, other than that d2dx seems to require some specific feature.