Jump to content

Recommended Posts

Posted

So basically my main pc with ryzen 5 1600 and rtx 2060 is running on Windows 8.1. Microsoft for some idiotic reason only ported d3d12 libraries on windows 7, but I dont see anything preventing these libraries running under Windows 8.1 yet even compatibility mode does absolutely nothing and games using these libraries simply wont start. (My test game is COD WARZONE). Is there any hope of getting these games to run on windows 8.1?


Posted
15 hours ago, Jaguarek62 said:

Microsoft for some idiotic reason only ported d3d12 libraries on windows 7, but I dont see anything preventing these libraries running under Windows 8.1 yet even compatibility mode does absolutely nothing and games using these libraries simply wont start. (My test game is COD WARZONE). Is there any hope of getting these games to run on windows 8.1?

MS has implemented artificial blocks in D3D12 Win7 stub to prevent it from working on other Windows versions, even with compatibility shims. I've no idea why they would do this (if they really don't care for 8.1, they could just not support it officially), and I think patching it for Windows 8.1 should be doable.

Posted
21 hours ago, Jaguarek62 said:

So basically my main pc with ryzen 5 1600 and rtx 2060 is running on Windows 8.1. Microsoft for some idiotic reason only ported d3d12 libraries on windows 7, but I dont see anything preventing these libraries running under Windows 8.1 yet even compatibility mode does absolutely nothing and games using these libraries simply wont start. (My test game is COD WARZONE). Is there any hope of getting these games to run on windows 8.1?

Maybe try this?

https://git.froggi.es/joshua/vkd3d/-/pipelines

Posted
1 minute ago, Jaguarek62 said:

I dont wanna sound dumb or anything, but is there any guide how to install this? I havent found any. 

Thank you

Backup the existing d3d12.dll, and replace it with the x64 d3d12.dll from the download

Posted
11 minutes ago, asdf2345 said:

Backup the existing d3d12.dll, and replace it with the x64 d3d12.dll from the download

I'l try this. Thanks, didn't know it existed.

Posted

Or, if you want to use the original d3d12.dll, I found a check for Windows 8 in here:

.text:000000018000622C                 mov     [rsp+270h+VersionInformation.dwMajorVersion], 6
.text:0000000180006234                 mov     r8, rax         ; dwlConditionMask
.text:0000000180006237                 mov     [rsp+270h+VersionInformation.dwMinorVersion], 2
.text:000000018000623F                 lea     rcx, [rsp+270h+VersionInformation] ; lpVersionInformation
.text:0000000180006244                 mov     [rbp+170h+VersionInformation.wServicePackMajor], bx
.text:0000000180006248                 call    cs:VerifyVersionInfoW
.text:000000018000624E                 test    eax, eax
.text:0000000180006250                 jnz     short loc_1800062B7

In an hex editor, look for the sequence 06 00 00 00 4C 8B C0 C7 44 24 38 02 00 00 00 48. Change it to 06 00 00 00 4C 8B C0 C7 44 24 38 04 00 00 00 48.

Posted (edited)
11 minutes ago, win32 said:

Or, if you want to use the original d3d12.dll, I found a check for Windows 8 in here:


.text:000000018000622C                 mov     [rsp+270h+VersionInformation.dwMajorVersion], 6
.text:0000000180006234                 mov     r8, rax         ; dwlConditionMask
.text:0000000180006237                 mov     [rsp+270h+VersionInformation.dwMinorVersion], 2
.text:000000018000623F                 lea     rcx, [rsp+270h+VersionInformation] ; lpVersionInformation
.text:0000000180006244                 mov     [rbp+170h+VersionInformation.wServicePackMajor], bx
.text:0000000180006248                 call    cs:VerifyVersionInfoW
.text:000000018000624E                 test    eax, eax
.text:0000000180006250                 jnz     short loc_1800062B7

In an hex editor, look for the sequence 06 00 00 00 4C 8B C0 C7 44 24 38 02 00 00 00 48. Change it to 06 00 00 00 4C 8B C0 C7 44 24 38 04 00 00 00 48.

Ok this would be whole a lot better. When i arrive at home i will immediately try this. Thank you all for your help.

Edit: This is checking for Windows 8.0 though? Will this work with nt 6.3?

Edited by Jaguarek62
Posted

This modification would change the 2 to a 4. I presume this blocks NT 6.2 and everything above it. Windows 10 wouldn't need this file due to native DX12 binaries.

Posted
1 minute ago, Jaguarek62 said:

 So The game launches now, but i'm getting BEX64 crash. Any idea?

what files and offset are mentioned in the error dialog? I'm on 2012R2 right now.

Posted
1 minute ago, win32 said:

what files and offset are mentioned in the error dialog? I'm on 2012R2 right now.

I hope you can get your info from here even though it is in czech language.  Název události problému:    BEX64
  Název aplikace:    ModernWarfare.exe
  Verze aplikace:    1.0.0.0
  Časové razítko aplikace:    5f6d4584
  Název chybného modulu:    d3d12.dll
  Verze chybného modulu:    10.0.17763.1000
  Časové razítko chybného modulu:    5dd5a619
  Posun výjimky:    00000000000f77b5
  Kód výjimky:    c0000409
  Data výjimky:    0000000000000007
  Verze operačního systému:    6.3.9600.2.0.0.256.48
  ID národního prostředí:    1029
  Další informace 1:    49b4
  Další informace 2:    49b4b10a2a36054ae9ea1895debcb671
  Další informace 3:    d107
  Další informace 4:    d107fc33e0ed6e96ac33b6eff97a06f1

Posted

At that offset, there is call to an internal function called _errno. Unfortunately it is difficult to determine what exactly caused the crash, but I have some ideas.

I noticed that the d3d12 runtime is digitally signed, and as such is not supposed to be modified. So I'll remove it and you can see how that works (no d3d12 games here). You may need to boot with driver signing disabled.

Posted
12 minutes ago, win32 said:

At that offset, there is call to an internal function called _errno. Unfortunately it is difficult to determine what exactly caused the crash, but I have some ideas.

I noticed that the d3d12 runtime is digitally signed, and as such is not supposed to be modified. So I'll remove it and you can see how that works (no d3d12 games here). You may need to boot with driver signing disabled.

I can't thank you enough for your effort. i'm quite familiar with disabling driver signature so whenever you have the file ready please PM me.

Posted
23 hours ago, win32 said:

At that offset, there is call to an internal function called _errno. Unfortunately it is difficult to determine what exactly caused the crash, but I have some ideas.

I noticed that the d3d12 runtime is digitally signed, and as such is not supposed to be modified. So I'll remove it and you can see how that works (no d3d12 games here). You may need to boot with driver signing disabled.

will the game authenticate without that? im pretty sure its needed for anticheat purposes

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...