Jump to content

D3D12 on windows 7


Jaguarek62

Recommended Posts

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?

Link to comment
Share on other sites


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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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