Devil May Cry 4

Devil May Cry 4

Not enough ratings
Windows 7 - How to fix crashes in DX10 mode (without uninstalling KB2670838)
By ThreeSon
If DMC4 crashes shortly after launch while in DX10 mode, there is an easy fix that doesn't require you to uninstall Windows update KB2670838.
   
Award
Favorite
Favorited
Unfavorite
Background
Credit for this fix goes to Reddit user Baqar79 and Steam user Liandri. I'm just posting it here for easier visibility.


KB2670838 is a Windows update that makes changes to DirectX 10. Windows 7 users must have it installed to use the latest version of Internet Explorer, and some games like Bioshock Remastered will not start without it.

Unfortunately, it will also cause problems for older DX10 games that were developed prior to the update and haven't been patched by the publisher to make them compatible. DMC4 is one of those games.

If you start DMC4 in DX10 mode, and after a minute or two it crashes without explanation, KB2670838 is likely the reason. Your options are to either uninstall the update (which will prevent you from playing games that require it and revert Internet Explorer to version 9), or use this fix which is much more convenient.

The fix involves finding two Windows files - d3d10.dll and dxgi.dll - which are for the pre-update version of DX10. They remain on your system even after the update, and you can force DMC4 to use them by copying both files to the DMC4 game folder.


This fix is not needed for the Special Edition of DMC4. DMC4 SE is already compatible with KB2670838. If DMC4 SE is crashing on you, it's for some other reason and this guide will not help you.
The Fix
1) dxgi.dll

- Go to your C:\Windows\winsxs\ folder and search for dxgi.dll. Right-click anywhere in the window and select Sort by -> Date modified.

- You are looking for a dxgi.dll file that was modified on November 20 or 21, 2010 (the day will depend on what region you are in).

- There should be two dxgi.dll files that were modified on that date. One is 496 KB and the other is 643 KB. The 496 KB file is the one you want.

- Copy the 496 KB dxgi.dll file to your DMC4 game folder, where the .exe files are.

2) d3d10.dll

- Search for "d3d10.dll" in the C:Windows\winsxs\ folder (include the quotes to reduce the number of results). Sort by Date modified.

- The d3d10.dll file you want was modified on July 13 or 14, 2009. It will be one of the oldest files in the results.

- There should be two matching files. One is 0.98 MB and the other is 1.20 MB.

- Copy the 0.98 MB d3d10.dll file to your DMC4 game folder.


That's all. The game should no longer crash while in DX10 mode. If it still does, then the cause is not related to KB2670838.
Other DX10 Games
This fix will also work for several other pre-KB2670838 DX10 games. One that I know it will work for is Lost Planet: Extreme Condition (both the original release and the Colonies Edition).

If you know of any other games that you have successfully tested this fix with, let me know and I will add them to this guide so that others are aware, with credit to you.

Please post a comment here if you have any other questions.

14 Comments
Gtwo Nov 17, 2017 @ 8:37pm 
Ok, thanks for the help and for the DX10 fix!
ThreeSon  [author] Nov 17, 2017 @ 8:35pm 
Thanks very much. I've submitted a bug report to Steam here , but at least it's good to know you can at least play the game. I hope that the lack of overlay support does not affect achievement unlocking or anything of that sort. Please let me know if you encounter any further problems.
Gtwo Nov 17, 2017 @ 7:33pm 
I tested it right now, and it worked very well! Unfortunately the Steam Overlay does not work in the DX10 version but this is not a problem for me..
ThreeSon  [author] Nov 17, 2017 @ 7:24pm 
Thanks, and did you try disabling XBox controller support in the Steam Controller Settings to see if that let the XOne controller work in DMC4?
Gtwo Nov 17, 2017 @ 4:22pm 
I'm using the branch version. I left the beta a while ago.
ThreeSon  [author] Nov 17, 2017 @ 8:29am 
Also, I need to know if you're on the main Steam branch or the beta. It will help the Steam developers narrow down which update caused the regression.
ThreeSon  [author] Nov 17, 2017 @ 8:18am 
I just tested it by using DS4Windows instead of Steam to manage my controller. In that case, the controller works just fine in DX10 mode with the dll fix applied. So, now I'm 99.9% certain that this is a bug with the Steam client, and likely a regression from the time I first wrote the guide until now. I will report the bug on the SC forum, but I don't know how long it will take for them to make a fix.

In your case you can't use DS4Windows to get around this obviously, but if you intend to play through the game now, you should be able to apply a temporary fix by simply removing XBox controller support in the Steam controller settings. The game should still recognize the controller (because it has built-in Xinput support). If you could try that and report whether it works or not that would be very helpful.
ThreeSon  [author] Nov 17, 2017 @ 8:08am 
It's possible. I don't know enough about DX10 to guess what the controller-related dlls are though. Hopefully the fix could be as simple as finding that file and copying it over with the other two, but it may take me a while to figure it out.
Gtwo Nov 17, 2017 @ 8:03am 
So, some .dll file are missing?
ThreeSon  [author] Nov 17, 2017 @ 8:01am 
I just tested it with my DS4 controller and got the same problem. The controller works fine when not using this fix, but with the revised DX10 dlls it doesn't. This is almost certainly a regression with a recent Steam client update, because when I tested this fix, I can't believe I would have missed something that obvious, especially since I would never have tried playing DMC4 without using a controller.