Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 


Jaguarek62

D3D12 on windows 7

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?

Share this post


Link to post
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.

Share this post


Link to post
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

Share this post


Link to post
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

  • Like 1

Share this post


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

Share this post


Link to post
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.

  • Upvote 2

Share this post


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

Share this post


Link to post
Share on other sites

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.

  • Upvote 2

Share this post


Link to post
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.

Share this post


Link to post
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

Share this post


Link to post
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.

Share this post


Link to post
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.

Share this post


Link to post
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

Share this post


Link to post
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...