elishacloud / dxwrapper

Fixes compatibility issues with older games running on Windows 10/11 by wrapping DirectX dlls. Also allows loading custom libraries with the file extension .asi into game processes.
zlib License
1.2k stars 88 forks source link

Legion gold #284

Open Frambooisier opened 1 month ago

Frambooisier commented 1 month ago

Hello,

I am trying to run Legion gold from Steam using Dd7to9, the instructions say to put files in the games directory alongside .exe file but it's not working (no log file). I replaced ddraw.dll in proton experimental (steamapps/common/Proton - Experimental/files/lib/wine/i386-windows/) and dropped dxwrapper.dll and dxwrapper.ini games directory and it appears to be working. Now the game runs but the game is not filling whole window/screen, upon entering the battle the sound is playing but the screen turns black. Also I was expecting the mangohud overlay to be working as I was expecting to DXVK to take over and convert it to Vulkan, but either the DXVK is not present or overlay is not working.

The game is working on vanila proton experimental with visual glitches in battle

to my understanding Legion is using DirectDraw 7

tested stronghold crusader extreme and replacing ddraw in protons directory, everything seems to be working, dxvk is being used, and mangohud works.

unedited video for now https://youtu.be/f2KPcennLCY

edit no.3 I dont understand why placing ddraw.dll in specific game's prefix do not work like /home/flap/.steam/debian-installation/steamapps/compatdata/16700/pfx/drive_c/windows/system32/ also I dont undrestand why original ddraw 32bit symlink points what appears to be 64bit: /home/flap/.steam/debian-installation/steamapps/common/Proton - Experimental/files/lib64/wine/x86_64-windows/ddraw.dll

/home/flap/.steam/debian-installation/steamapps/compatdata/16700/pfx/drive_c/windows/syswow64/

elishacloud commented 1 month ago

You need to place the stub file (sounds like ddraw.dll) along with the dxwrapper.dll and dxwrapper.ini files into the correct game folder. This has to be put where the exe file is located. Then set the correct setting in the ini file.

If you are using a Steam Deck then you will need to run Protons to tell the OS to load the local copy of ddraw.dll. By default the Steam Deck (and other Linux OS's) will only load the System32 version of ddraw.dll and not the local one in the game folder. Thus the game will never load dxwrapper unless you modify it to tell the OS to load it.