protonscr

[d3d11] Soulworker -

dxvkclosed
doitsujin/dxvk#3756 · opened 2023-12-20 by MUKZET · updated 2023-12-27 · 16 comments · github
MMUKZET 2023-12-20 github

Please describe your issue as accurately as possible.

If you use Windows, please check the following page: https://github.com/doitsujin/dxvk/wiki/Windows

Software information

Name of the game, settings used etc.

Soulworker KR
https://store.steampowered.com/app/1825750/_/

System information

  • GPU: AMD Radeon RX 6900 XT
  • Driver: 23.30.13.01-231128a-398226C-AMD-Software-Adrenalin-Edition (2.0.283)
  • Wine version: Windows 11
  • DXVK version: 2.3

Apitrace file(s)

  • Put a link here

For instructions on how to use apitrace, see: https://github.com/doitsujin/dxvk/wiki/Using-Apitrace

Log files

Please attach Proton or Wine logs as a text file:

  • When using Proton, set the Steam launch options for your game to PROTON_LOG=1 %command% and attach the corresponding steam-xxxxx.log file in your home directory.
  • When using regular Wine, use wine game.exe > game.log 2>&1 and attach the resulting game.log file.
    SoulWorker_d3d11.log
    SoulWorker_dxgi.log

20231220_222308

DirectX version of the game has been updated. (DX9 -> DX11)

after this update, I cannot run the game with DXVK (d3d11, version 2.3)

BBlisto91 2023-12-20 github

How do you enable that. The game still uses d3d9 here

MMUKZET 2023-12-20 github

How do you enable that. The game still uses d3d9 here

KR server is now using d3d11 from today (12/20/2023)

BBlisto91 2023-12-20 github

Am i correct in assuming i can't access that outside Korea without jumping through a bunch of hoops?

Also can you post logs from a up to date dxvk. Your logs are from a very old version

Edit: Also make a apitrace without dxvk

MMUKZET 2023-12-20 github

Am i correct in assuming i can't access that outside Korea without jumping through a bunch of hoops?

Also can you post logs from a up to date dxvk. Your logs are from a very old version

Edit: Also make a apitrace without dxvk

just need vpn to play this game outside Korea

I tried several versions of dxvk such as 1.5.3, 1.7, 2.0, 2.3 but nothing works in d3d11

SoulWorker_d3d11.log
SoulWorker_dxgi.log
dxvk 2.3 log files

https://drive.google.com/file/d/18tJtRnajYaHX2rLoLHFey9UPBsbYHoJ_/view?usp=sharing
apitrace files without dxvk

BBlisto91 2023-12-20 github

just need vpn to play this game outside Korea

Does that work with the Steam version? I read claims i would need a Korean phone number.

The trace replays fine with dxvk here.

warn:  D3D11InternalCreateDevice: Adapter is not a DXVK adapter

This line could indicate that the game is just trying to load the wrong dxgi at some point, e.g. Windows own which won't work. If it's just that that is the case then it won't work on Windows.

MMUKZET 2023-12-20 github

just need vpn to play this game outside Korea

Does that work with the Steam version? I read claims i would need a Korean phone number.

The trace replays fine with dxvk here.

warn:  D3D11InternalCreateDevice: Adapter is not a DXVK adapter

This line could indicate that the game is just trying to load the wrong dxgi at some point, e.g. Windows own which won't work. If it's just that that is the case then it won't work on Windows.

Soulworker KR server is on Steam now. you can play without Korean phone number.

btw, it means I can't use dxvk anymore on that game right?
I need to get used on d3d11.

Thank you for the answer.

KK0bin maintainer 2023-12-21 github

btw, it means I can't use dxvk anymore on that game right?
I need to get used on d3d11.

Not on Windows.

DDola-Shuvi 2023-12-21 github

just need vpn to play this game outside Korea

Does that work with the Steam version? I read claims i would need a Korean phone number.

The trace replays fine with dxvk here.

warn:  D3D11InternalCreateDevice: Adapter is not a DXVK adapter

This line could indicate that the game is just trying to load the wrong dxgi at some point, e.g. Windows own which won't work. If it's just that that is the case then it won't work on Windows.

I believe it does come down to people forgetting to copy dxgi.dll in addition to d3d11.dll for this issue. I had someone else test dxvk 2.3 on the korean version and it worked without any problems for them.

MMUKZET 2023-12-21 github

just need vpn to play this game outside Korea

Does that work with the Steam version? I read claims i would need a Korean phone number.
The trace replays fine with dxvk here.

warn:  D3D11InternalCreateDevice: Adapter is not a DXVK adapter

This line could indicate that the game is just trying to load the wrong dxgi at some point, e.g. Windows own which won't work. If it's just that that is the case then it won't work on Windows.

I believe it does come down to people forgetting to copy dxgi.dll in addition to d3d11.dll for this issue. I had someone else test dxvk 2.3 on the korean version and it worked without any problems for them.

20231221_222530

It didn't work for me

DDola-Shuvi 2023-12-21 github

just need vpn to play this game outside Korea

Does that work with the Steam version? I read claims i would need a Korean phone number.
The trace replays fine with dxvk here.

warn:  D3D11InternalCreateDevice: Adapter is not a DXVK adapter

This line could indicate that the game is just trying to load the wrong dxgi at some point, e.g. Windows own which won't work. If it's just that that is the case then it won't work on Windows.

I believe it does come down to people forgetting to copy dxgi.dll in addition to d3d11.dll for this issue. I had someone else test dxvk 2.3 on the korean version and it worked without any problems for them.

20231221_222530

It didn't work for me

After doublechecking your game files against the ones listed on SteamDB it looks like you might be missing d3dx9_43.dll that ships with the game. Try verifying your game files and reinstalling dxvk.

MMUKZET 2023-12-21 github

just need vpn to play this game outside Korea

Does that work with the Steam version? I read claims i would need a Korean phone number.
The trace replays fine with dxvk here.

warn:  D3D11InternalCreateDevice: Adapter is not a DXVK adapter

This line could indicate that the game is just trying to load the wrong dxgi at some point, e.g. Windows own which won't work. If it's just that that is the case then it won't work on Windows.

I believe it does come down to people forgetting to copy dxgi.dll in addition to d3d11.dll for this issue. I had someone else test dxvk 2.3 on the korean version and it worked without any problems for them.

20231221_222530
It didn't work for me

After doublechecking your game files against the ones listed on SteamDB it looks like you might be missing d3dx9_43.dll that ships with the game. Try verifying your game files and reinstalling dxvk.

image

I tried but nothing changed with d3dx9_43.dll

BBlisto91 2023-12-21 github

Seems to just want to use the dxgi in system32 folder. So there is nothing for dxvk to do here

image

DDola-Shuvi 2023-12-21 github

Issue can be solved by hex editing BaseDX11.dll imports and replacing DXGI.dll with DXGJ.dll and renaming the dll appropriately. However it seems the anticheat XignCode3 doesn't particularly like dxvk and the game will be closed after around 2 minutes. This can be fixed by moving the game on a seperate partition like with dx9 previously.
You are doing this at your own risk.

(Ignore the version name, its a custom build but the same should work with base dxvk)
image

MMUKZET 2023-12-22 github

Issue can be solved by hex editing BaseDX11.dll imports and replacing DXGI.dll with DXGJ.dll and renaming the dll appropriately. However it seems the anticheat XignCode3 doesn't particularly like dxvk and the game will be closed after around 2 minutes. This can be fixed by moving the game on a seperate partition like with dx9 previously. You are doing this at your own risk.

(Ignore the version name, its a custom build but the same should work with base dxvk) image

20231222_140219

Thank you.

I tried your method and I made it.

DDola-Shuvi 2023-12-22 github

For ease of use I have created a batch/powershell script that will automate the patching of the required file. The batch version simply runs the powershell script as an encoded command. To use it, simply put the batch file next to BaseDX11.dll and double click it, then wait until it finishes.

Use this at your own risk. I am not responsible if the anti cheat bans your for modifying game files. If something goes wrong with the script, restore the backup from BaseDX11.dll.bak or verify steam game file integrity.

BaseDX11_patcher.zip

$basepath = [System.Environment]::GetEnvironmentVariable('dir');
$original = ($basepath + "\BaseDX11.dll");
$backup = ($basepath + "\BaseDX11.dll.bak");
$byteArray = Get-Content $original -Raw -Encoding Byte;
Set-Content $backup -Encoding Byte -Value $byteArray;
$byteString = $byteArray.ForEach('ToString', 'X') -join ' ';
$byteString = $byteString -replace '\b44 58 47 49 2E 64 6C 6C\b(.*)', '44 58 47 4A 2E 64 6C 6C$1';
[byte[]] $newByteArray = -split $byteString -replace '^', '0x';
Set-Content $original -Encoding Byte -Value $newByteArray;
@echo off
set dir=%~dp0
powershell.exe -EncodedCommand "JABiAGEAcwBlAHAAYQB0AGgAIAA9ACAAWwBTAHkAcwB0AGUAbQAuAEUAbgB2AGkAcgBvAG4AbQBlAG4AdABdADoAOgBHAGUAdABFAG4AdgBpAHIAbwBuAG0AZQBuAHQAVgBhAHIAaQBhAGIAbABlACgAJwBkAGkAcgAnACkAOwAgACQAbwByAGkAZwBpAG4AYQBsACAAPQAgACgAJABiAGEAcwBlAHAAYQB0AGgAIAArACAAIgBcAEIAYQBzAGUARABYADEAMQAuAGQAbABsACIAKQA7ACAAJABiAGEAYwBrAHUAcAAgAD0AIAAoACQAYgBhAHMAZQBwAGEAdABoACAAKwAgACIAXABCAGEAcwBlAEQAWAAxADEALgBkAGwAbAAuAGIAYQBrACIAKQA7ACAAJABiAHkAdABlAEEAcgByAGEAeQAgAD0AIABHAGUAdAAtAEMAbwBuAHQAZQBuAHQAIAAkAG8AcgBpAGcAaQBuAGEAbAAgAC0AUgBhAHcAIAAtAEUAbgBjAG8AZABpAG4AZwAgAEIAeQB0AGUAOwAgAFMAZQB0AC0AQwBvAG4AdABlAG4AdAAgACQAYgBhAGMAawB1AHAAIAAtAEUAbgBjAG8AZABpAG4AZwAgAEIAeQB0AGUAIAAtAFYAYQBsAHUAZQAgACQAYgB5AHQAZQBBAHIAcgBhAHkAOwAgACQAYgB5AHQAZQBTAHQAcgBpAG4AZwAgAD0AIAAkAGIAeQB0AGUAQQByAHIAYQB5AC4ARgBvAHIARQBhAGMAaAAoACcAVABvAFMAdAByAGkAbgBnACcALAAgACcAWAAnACkAIAAtAGoAbwBpAG4AIAAnACAAJwA7ACAAJABiAHkAdABlAFMAdAByAGkAbgBnACAAPQAgACQAYgB5AHQAZQBTAHQAcgBpAG4AZwAgAC0AcgBlAHAAbABhAGMAZQAgACcAXABiADQANAAgADUAOAAgADQANwAgADQAOQAgADIARQAgADYANAAgADYAQwAgADYAQwBcAGIAKAAuACoAKQAnACwAIAAnADQANAAgADUAOAAgADQANwAgADQAQQAgADIARQAgADYANAAgADYAQwAgADYAQwAkADEAJwA7ACAAWwBiAHkAdABlAFsAXQBdACAAJABuAGUAdwBCAHkAdABlAEEAcgByAGEAeQAgAD0AIAAtAHMAcABsAGkAdAAgACQAYgB5AHQAZQBTAHQAcgBpAG4AZwAgAC0AcgBlAHAAbABhAGMAZQAgACcAXgAnACwAIAAnADAAeAAnADsAIABTAGUAdAAtAEMAbwBuAHQAZQBuAHQAIAAkAG8AcgBpAGcAaQBuAGEAbAAgAC0ARQBuAGMAbwBkAGkAbgBnACAAQgB5AHQAZQAgAC0AVgBhAGwAdQBlACAAJABuAGUAdwBCAHkAdABlAEEAcgByAGEAeQA7AA=="
BBlisto91 2023-12-22 github

Maybe put a disclaimer to use at your own risk.

Launch options

DLLs