Jaguarek62 Posted September 30, 2020 Posted September 30, 2020 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? 1
Illen Posted October 1, 2020 Posted October 1, 2020 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.
asdf2345 Posted October 1, 2020 Posted October 1, 2020 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
Jaguarek62 Posted October 1, 2020 Author Posted October 1, 2020 40 minutes ago, asdf2345 said: Maybe try this? https://git.froggi.es/joshua/vkd3d/-/pipelines I dont wanna sound dumb or anything, but is there any guide how to install this? I havent found any. Thank you
asdf2345 Posted October 1, 2020 Posted October 1, 2020 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 1
Jaguarek62 Posted October 1, 2020 Author Posted October 1, 2020 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.
win32 Posted October 1, 2020 Posted October 1, 2020 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. 2
Jaguarek62 Posted October 1, 2020 Author Posted October 1, 2020 (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 October 1, 2020 by Jaguarek62
win32 Posted October 1, 2020 Posted October 1, 2020 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. 2
Jaguarek62 Posted October 1, 2020 Author Posted October 1, 2020 @win32 So The game launches now, but i'm getting BEX64 crash. Any idea?
win32 Posted October 1, 2020 Posted October 1, 2020 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.
Jaguarek62 Posted October 1, 2020 Author Posted October 1, 2020 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
win32 Posted October 1, 2020 Posted October 1, 2020 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.
Jaguarek62 Posted October 1, 2020 Author Posted October 1, 2020 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.
burd Posted October 2, 2020 Posted October 2, 2020 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
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now