In this article I will go into detail about a DirectX Battlefield 1 game crash I experienced. Also, how I dug a little deeper to formulate a solution that resolved my Battlefield 1 game crash issue. I had the same experience with the beta, the game would run solid 60 fps for anywhere between 2 minutes to 2 hours of game play before crashing. If you’ve experienced a directX crash then this article may be the solution you were looking for.
I figured it was simply due to Battlefield 1 being in beta. I thought peacefully to myself as I preordered the game: “no worries, it’ll be fine by full release…” To my demise it was not! Same damn error, except this time it would occasionally crash my entire computer, causing both my monitors to black out before it eventually shutdown. At first I thought maybe my GPU was on its last leg. However, during further investigation I didn’t see anything that would indicate that my Nvidia 680 was faulty or dying. Factory GPU clock speeds, voltages were fine and temps were great.
Lets jump into it. Below is the error I was receiving at least 1-3 times per play session before I rage quit:
WTF does “DirectX Error “GetDeviceRemovedReason” even mean? I headed over to google and tried everything in every battlefield 1 related DirectX crash fix thread, post and article I could find. To no avail, nothing worked, none of it.
I tried all of the following:
- Reinstalling latest nvidia graphics drivers
- Disabling origin in-game overlay
- Disabling DirectX 12 in battlefield 1
- Reinstalling sound drivers
- Checking GPU temps
- Tooling around with GPU clock speeds
- Adjusting my CPU page file memory
- Using nvidia geforce optimal settings
- Playing on the lowest possible settings allowed
After about 4 hours of trial and error I was almost ready to give up…Suddenly I remembered a handy little tool called “MSINFO32”.
Before you start breaking shit, let us figure out if you are even eligible for this fix.
Step 1 – Click Start > type “MSINFO32” in the search box and hit enter.
Step 2 – Once the System Information application launches, you can ignore everything else and click File > Export. Give it a simple name and save it to your desktop. It will output the info in a .txt document
Step 3 – Open the .txt file and press ctrl + f, then search for “bf1.exe” or “KERNELBASE.dll”. If any of your bf1.exe related errors contain “Faulting module name: KERNELBASE.dll”, then this solution might work for you.
Below is the error I had multiple iterations of within my Windows Error Reporting log:
10/25/2016 4:53 PM Application Error Faulting application name: bf1.exe, version: 184.108.40.206998, time stamp: 0x58077d90
Faulting module name: KERNELBASE.dll, version: 6.1.7601.19045, time stamp: 0x56259271
Exception code: 0x887a0006
Fault offset: 0x000000000000b3dd
Faulting process id: 0x7e4
Faulting application start time: 0x01d22ee004debb0d
Faulting application path: C:\Program Files (x86)\Origin Games\Battlefield 1\bf1.exe
Faulting module path: C:\Windows\system32\KERNELBASE.dll
Report Id: 8c1072dc-9ad3-11e6-acd2-5cf3707a0cc9
What caused this error? To be honest I’m not exactly sure. It likely happened during the initial creation of my user account when I installed Windows. Moreover, KERNELBASE.dll errors, much like Ntdll.dll errors, are a generic error and it is difficult to pin point the true issue, the most common issue is relating to Windows User Profile corruption.
Solution: Make a new Admin account. This may sound like a lot of trouble to some but the easiest solution is to simply make a new Admin account and play battlefield 1 from that account. The new account will no longer be plagued with the corrupt files. Personally, I saved all the files I cared about and fully migrated over to the new (not corrupt) user account. I have not received the error since making the switch. If you are not sure how this is done, Microsoft has provided some fairly easy instructions on how to create user accounts in windows.
NOTE: Additionally, I have kept DirectX 12 disabled for battlefield 1.
That is it folks. I hope this article is helpful to those that are eligible for this solution. If this solution worked for you, comment below and let us know! If you have any questions or concerns – I’ll respond when I have the opportunity. Game on!