[HOW TO] Use DXVK + Norbyte's Divinity Script Extender together on Divinity: Original Sin 2

This is a totally random thing I wanted to share with everyone just in case there is a slim chance someone out here wants to do this as well.

But first, what is DXVK and Script Extender?

  1. DXVK "Direct X to Vulkan" is a compatibility/transition layer for Direct3D 9, 10, and 11. It translates Direct3D calls into Vulkan API calls. This helps performance in some games like Borderlands 2 and GTA IV if your gpu/igpu supports Vulkan. Link
  2. Norbyte's Divinity Script Extender Provides enhanced scripting capabilities and extends the functionality of the game's engine, allowing modders to create more complex and sophisticated mods. Link

Once you are familiar with both these tools and find yourself wanting to try them both you will encounter THE PROBLEM.

The Problem? Since Divinity: Original Sin 2 uses Direct3D 11, using DXVK would mean needing two files, d3d11.dll and dxgi.dll. The script extender also uses dxgi.dll but they are different and you can't load two DLLs of the same filename. And that's when I stumbled upon Ultimate ASI Loader.

Download the x64 bit release. Link

The way it works is like this:

  1. Take the dinput8.dll from Ultimate ASI Loader and put it inside the DefEd/bin/ folder of the game. Rename it to version.dll so the game actually loads it. (dinput8.dll is ignored by the game)
  2. Use both d3d11.dll and dxgi.dll from the x64bit dxvk and put it inside the DefEd/bin/ next to EoCApp.exe
  3. Create a plugins OR scripts folder inside DefEd/bin/
  4. Take the dxgi.dll from the Script Extender and put it inside the plugins/scripts folder. Rename it to dxgi.dll.asi

Edit: added visual representation of the directory
The four DLL files at the end and the NativeMods folder are part of the WASD mod.

DefEd/bin/
│
├── EoCApp.exe (Game Executable)
├── d3d11.dll (from DXVK)
├── dxgi.dll (from DXVK)
├── version.dll (Ultimate ASI Loader)
├── plugins/
│   ├── DOS2WASD.dll.asi (From the WASD mod)
│   ├── dxgi.dll.asi (Script Extender)
│   └── NativeMods/
│       ├── DOS2WASD.toml
│       └── Achievements.dll (Auto Generated)
├── bink2w64.dll (These)
├── bink2w64_original.dll (Last Four)
├── SDL2.dll (Are From)
└── SDL2_original.dll (The WASD Mod)
... other files inside the directory