[SOLVED] Workaround For Elden Ring Using DX12>11 Feature Level Fix?

More
6 months 1 week ago - 6 months 1 week ago #1 by Olswell
I'm playing Elden Ring on a 960M which only supports DX11_0 and had to use Tuffee88's solution. The game works fine like any other souls game, but ReShade will not load. I brought up the issue on the author's GitHub, but so far tested fixes didn't work, the author suggested I go here, which I probably should've done in the first place most likely.

In terms of fixes given in the pinned, the ENB Injector trick didn't seem to work and the selected API is DirectX 10/11/12. Aside from that, I also attempted to use 4.3.0 with the experimental DX12 implementation and the one before without DX12 at all, none worked. Also tested installing with and without the shaders, no change.

Log:
12:07:14:203 [08104] | INFO  | Registering hooks for "user32.dll" ...
12:07:14:203 [08104] | INFO  | > Libraries loaded.
12:07:14:203 [08104] | INFO  | > Found 14 match(es). Installing ...
12:07:14:219 [08104] | INFO  | Registering hooks for "ws2_32.dll" ...
12:07:14:219 [08104] | INFO  | > Libraries loaded.
12:07:14:219 [08104] | INFO  | > Found 8 match(es). Installing ...
12:07:14:219 [08104] | INFO  | Registering hooks for "C:\Windows\system32\d2d1.dll" ...
12:07:14:219 [08104] | INFO  | > Delayed.
12:07:14:219 [08104] | INFO  | Registering hooks for "C:\Windows\system32\d3d9.dll" ...
12:07:14:219 [08104] | INFO  | > Delayed.
12:07:14:219 [08104] | INFO  | Registering hooks for "C:\Windows\system32\d3d10.dll" ...
12:07:14:219 [08104] | INFO  | > Delayed.
12:07:14:219 [08104] | INFO  | Registering hooks for "C:\Windows\system32\d3d10_1.dll" ...
12:07:14:219 [08104] | INFO  | > Delayed.
12:07:14:219 [08104] | INFO  | Registering hooks for "C:\Windows\system32\d3d11.dll" ...
12:07:14:219 [08104] | INFO  | > Delayed.
12:07:14:219 [08104] | INFO  | Registering hooks for "C:\Windows\system32\d3d12.dll" ...
12:07:14:219 [08104] | INFO  | > Delayed.
12:07:14:219 [08104] | INFO  | Registering hooks for "C:\Windows\system32\dxgi.dll" ...
12:07:14:234 [08104] | INFO  | > Delayed until first call to an exported function.
12:07:14:234 [08104] | INFO  | Registering hooks for "vrclient_x64.dll" ...
12:07:14:234 [08104] | INFO  | > Delayed.
12:07:14:234 [08104] | INFO  | Initialized.
12:07:14:489 [08104] | INFO  | Redirecting CreateDXGIFactory1(riid = {7B7166EC-21C7-44AE-B21A-C9AE321AE369}, ppFactory = 000000B580EFF528) ...
12:07:14:491 [08104] | INFO  | Installing export hooks for "C:\Windows\system32\dxgi.dll" ...
12:07:14:491 [08104] | INFO  | > Found 5 match(es). Installing ...
12:07:14:495 [08104] | INFO  | Redirecting RegisterClassExW(lpWndClassEx = 000000B580EFF590 { ELDEN RING™ }) ...
12:07:14:496 [08104] | INFO  | > Adding 'CS_OWNDC' window class style flag to 'ELDEN RING™'.
12:07:14:502 [08104] | INFO  | Redirecting CreateDXGIFactory1(riid = {7B7166EC-21C7-44AE-B21A-C9AE321AE369}, ppFactory = 000000B580EFF378) ...
12:07:14:504 [08104] | INFO  | Redirecting CreateDXGIFactory1(riid = {7B7166EC-21C7-44AE-B21A-C9AE321AE369}, ppFactory = 000000B580EFF378) ...
12:07:14:613 [08104] | INFO  | Redirecting CreateDXGIFactory1(riid = {770AAE78-F26F-4DBA-A829-253C83D1B387}, ppFactory = 00007FF751D6BA90) ...
12:07:14:616 [08104] | INFO  | Redirecting CreateDXGIFactory2(Flags = 0x80000000, riid = {1BC6EA02-EF36-464F-BF0C-21CA39E5168A}, ppFactory = 000000B580EFC1E0) ...
12:07:15:420 [08104] | INFO  | Redirecting CreateDXGIFactory1(riid = {7B7166EC-21C7-44AE-B21A-C9AE321AE369}, ppFactory = 000000B580EFDD10) ...
12:07:15:441 [08104] | INFO  | Redirecting CreateDXGIFactory1(riid = {7B7166EC-21C7-44AE-B21A-C9AE321AE369}, ppFactory = 000000B580EFDD00) ...
12:07:15:487 [08104] | INFO  | Redirecting IDXGIFactory::CreateSwapChain(this = 0000024826D5A4F0, pDevice = 000002482DF10070, pDesc = 000000B580EFE860, ppSwapChain = 0000024824B000C8) ...
12:07:15:487 [08104] | INFO  | > Dumping swap chain description:
12:07:15:487 [08104] | INFO  |   +-----------------------------------------+-----------------------------------------+
12:07:15:487 [08104] | INFO  |   | Parameter                               | Value                                   |
12:07:15:487 [08104] | INFO  |   +-----------------------------------------+-----------------------------------------+
12:07:15:488 [08104] | INFO  |   | Width                                   | 1280                                    |
12:07:15:488 [08104] | INFO  |   | Height                                  | 720                                     |
12:07:15:488 [08104] | INFO  |   | RefreshRate                             | 60                  1                   |
12:07:15:488 [08104] | INFO  |   | Format                                  | DXGI_FORMAT_R8G8B8A8_UNORM              |
12:07:15:488 [08104] | INFO  |   | ScanlineOrdering                        | 0                                       |
12:07:15:489 [08104] | INFO  |   | Scaling                                 | 0                                       |
12:07:15:489 [08104] | INFO  |   | SampleCount                             | 1                                       |
12:07:15:489 [08104] | INFO  |   | SampleQuality                           | 0                                       |
12:07:15:489 [08104] | INFO  |   | BufferUsage                             | 0x20                                    |
12:07:15:489 [08104] | INFO  |   | BufferCount                             | 3                                       |
12:07:15:489 [08104] | INFO  |   | OutputWindow                            | 0000000000350490                        |
12:07:15:490 [08104] | INFO  |   | Windowed                                | TRUE                                    |
12:07:15:490 [08104] | INFO  |   | SwapEffect                              | 4                                       |
12:07:15:491 [08104] | INFO  |   | Flags                                   | 0x2                                     |
12:07:15:491 [08104] | INFO  |   +-----------------------------------------+-----------------------------------------+
12:07:15:497 [08104] | INFO  | Installing delayed hooks for "C:\Windows\system32\d3d11.dll" (Just loaded via LoadLibrary("igdusc64.dll")) ...
12:07:15:497 [08104] | INFO  | > Found 2 match(es). Installing ...
12:07:15:523 [08104] | WARN  | Skipping swap chain because it was created without a (hooked) Direct3D device.

Something interesting I found is that using Elden Mod Loader with dxgi.dll in the mods folder shows this in the log instead:
11:50:13:536 [05784] | INFO  | Initializing crosire's ReShade version '5.0.2.1428' (64-bit) built on '2022-02-06 04:59:34' loaded from "C:\Users\mac\3D Objects\ELDEN RING\Game\mods\dxgi.dll" into "C:\Users\mac\3D Objects\ELDEN RING\Game\eldenring.exe" ...
11:50:13:558 [05784] | INFO  | Registering hooks for "user32.dll" ...
11:50:13:558 [05784] | INFO  | > Libraries loaded.
11:50:13:558 [05784] | INFO  | > Found 14 match(es). Installing ...
11:50:13:573 [05784] | INFO  | Registering hooks for "ws2_32.dll" ...
11:50:13:573 [05784] | INFO  | > Libraries loaded.
11:50:13:573 [05784] | INFO  | > Found 8 match(es). Installing ...
11:50:13:605 [05784] | INFO  | Registering hooks for "C:\Windows\system32\d2d1.dll" ...
11:50:13:605 [05784] | INFO  | > Delayed.
11:50:13:605 [05784] | INFO  | Registering hooks for "C:\Windows\system32\d3d9.dll" ...
11:50:13:605 [05784] | INFO  | > Delayed.
11:50:13:605 [05784] | INFO  | Registering hooks for "C:\Windows\system32\d3d10.dll" ...
11:50:13:605 [05784] | INFO  | > Delayed.
11:50:13:605 [05784] | INFO  | Registering hooks for "C:\Windows\system32\d3d10_1.dll" ...
11:50:13:605 [05784] | INFO  | > Delayed.
11:50:13:605 [05784] | INFO  | Registering hooks for "C:\Windows\system32\d3d11.dll" ...
11:50:13:605 [05784] | INFO  | > Delayed.
11:50:13:605 [05784] | INFO  | Registering hooks for "C:\Windows\system32\d3d12.dll" ...
11:50:13:605 [05784] | INFO  | > Delayed.
11:50:13:605 [05784] | INFO  | Registering hooks for "C:\Windows\system32\dxgi.dll" ...
11:50:13:605 [05784] | INFO  | > Delayed until first call to an exported function.
11:50:13:605 [05784] | INFO  | Registering hooks for "vrclient_x64.dll" ...
11:50:13:605 [05784] | INFO  | > Delayed.
11:50:13:605 [05784] | INFO  | Initialized.
11:50:13:605 [05784] | INFO  | Installing delayed hooks for "C:\Windows\system32\d3d11.dll" (Just loaded via LoadLibrary(".\mods\PauseTheGame.dll")) ...
11:50:13:605 [05784] | INFO  | > Found 2 match(es). Installing ...
11:50:13:620 [08500] | WARN  | Ignoring LoadLibrary("api-ms-win-core-synch-l1-2-0") call to avoid possible deadlock.
11:50:13:620 [08500] | WARN  | Ignoring LoadLibrary("api-ms-win-core-fibers-l1-1-1") call to avoid possible deadlock.
11:50:13:620 [08500] | WARN  | Ignoring LoadLibrary("api-ms-win-core-synch-l1-2-0") call to avoid possible deadlock.
11:50:13:620 [08500] | WARN  | Ignoring LoadLibrary("api-ms-win-core-fibers-l1-1-1") call to avoid possible deadlock.
11:50:13:620 [08500] | WARN  | Ignoring LoadLibrary("api-ms-win-core-localization-l1-2-1") call to avoid possible deadlock.
11:50:13:620 [08500] | WARN  | Ignoring LoadLibrary("kernel32") call to avoid possible deadlock.
11:50:13:620 [08500] | WARN  | Ignoring LoadLibrary("api-ms-win-core-string-l1-1-0") call to avoid possible deadlock.
11:50:13:620 [08500] | WARN  | Ignoring LoadLibrary("api-ms-win-core-datetime-l1-1-1") call to avoid possible deadlock.
11:50:13:620 [08500] | WARN  | Ignoring LoadLibrary("api-ms-win-core-localization-obsolete-l1-2-0") call to avoid possible deadlock.
11:50:13:692 [08500] | INFO  | Redirecting RegisterClassExW(lpWndClassEx = 000000B9922FF3A0 { ELDEN RING™ }) ...
11:50:13:692 [08500] | INFO  | > Adding 'CS_OWNDC' window class style flag to 'ELDEN RING™'.
11:50:14:680 [08500] | INFO  | Redirecting D3D11CreateDevice(pAdapter = 000002075A187490, DriverType = 0, Software = 0000000000000000, Flags = 0x80, pFeatureLevels = 000000B9922FDAF0, FeatureLevels = 1, SDKVersion = 7, ppDevice = 000000B9922FDAF8, pFeatureLevel = 0000000000000000, ppImmediateContext = 0000000000000000) ...
11:50:14:681 [08500] | INFO  | > Passing on to D3D11CreateDeviceAndSwapChain:
11:50:14:681 [08500] | INFO  | Redirecting D3D11CreateDeviceAndSwapChain(pAdapter = 000002075A187490, DriverType = 0, Software = 0000000000000000, Flags = 0x80, pFeatureLevels = 000000B9922FDAF0, FeatureLevels = 1, SDKVersion = 7, pSwapChainDesc = 0000000000000000, ppSwapChain = 0000000000000000, ppDevice = 000000B9922FDAF8, pFeatureLevel = 0000000000000000, ppImmediateContext = 0000000000000000) ...
11:50:14:689 [08500] | INFO  | > Using feature level 0xb000.
11:50:14:690 [08500] | WARN  | Reference count for ID3D11Device0 object 000002075A0E8318 (000002075A4A0D68) is inconsistent (1).
11:50:48:632 [04940] | INFO  | Redirecting D3D11CreateDeviceAndSwapChain(pAdapter = 0000000000000000, DriverType = 1, Software = 0000000000000000, Flags = 0, pFeatureLevels = 000000B992BFF580, FeatureLevels = 1, SDKVersion = 7, pSwapChainDesc = 000000B992BFF530, ppSwapChain = 000000B992BFF4A8, ppDevice = 000000B992BFF4A0, pFeatureLevel = 0000000000000000, ppImmediateContext = 0000000000000000) ...
11:50:48:681 [04940] | INFO  | > Using feature level 0x9100.
11:50:48:681 [04940] | INFO  | Calling IDXGIFactory::CreateSwapChain:
11:50:48:685 [04940] | WARN  | Reference count for ID3D11Device0 object 0000020724F17808 (000002076CB136D8) is inconsistent (1).

Appreciate any help on this.
Last edit: 6 months 1 week ago by Olswell. Reason: Format Fixing.

Please Log in or Create an account to join the conversation.

More
6 months 1 week ago #2 by Olswell
Found the fix:
Of course, only do this for Offline play. If you need to deal with EAC, follow the instructions in the DX11 workaround GitHub.

1. Go to the fix GitHub and grab the latest debug release zip.
https://github.com/tuffee88/d3d12ProxyEdrDx11_0/releases

2. Extract the zip then plop all the contents to your \ELDEN RING\Game folder.

3. Grab the latest release D3D12.dll from Soupstream.
https://github.com/soupstream/EldenRingStutterFix/releases

4. Rename the .dll "D3D12" to "D3D12_original"

*The following should be followed only if applicable, otherwise move to 6.

*5. Navigate to C:\Windows\System32, look for D3D12Core.dll and copy it (Only if this file is present.)

6. Take the D3D12_original.dll (and copied D3D12Core.dll) and place it into the \ELDEN RING\Game folder.

7. Install ReShade normally.

Note: Don't put the ReShade's dxgi.dll into the mods folder if you're using Elden Mod Loader, it will not load.

Please Log in or Create an account to join the conversation.