Many Battlefield 1 players experiencing problem with their NVIDIA’s card experiencing crash after 10 to 20 minutes of gameplay. The posted issue by RedRiveRR_ now reach 242 pages of response and more than 300k views in Battlefield 1 Forum, so it seems a lot of players experiencing this problem.
Some players manage to fixed the issue by turning off the automatic update of GPU driver, deleting the old driver and installing a later version of NVIDIA driver the 334.89 and tricking Battlefield 1 that it uses newer driver. For complete step, see below:
How to Fixed DirectX Function Error on Battlefield 1
- Uninstall completely or use DDU to delete all files and traces of your NVIDIA driver – https://www.wagnardmobile.com/DDU/download/DDU%20v17.0.3.0.exe
- Install the older version of NVIDIA driver 334.89 – https://www.nvidia.com/download/driverResults.aspx/73218/en-us
- Trick Battlefield 1 that you’re using new version of NVIDIA driver – https://forums.geforce.com/default/topic/962633/pc-games/bypassing-the-driver-version-check-of-a-game-/
If the above instruction won’t work try this alternative solution posted by GTOAviator:
- Go to This PC > Documents > Battlefield 1 > settings
- Open the file PROFSAVE_profile with Notepad.
- then find “GstRender.DX12Enabled” then set it to 0 “GstRender.DX12Enabled 0“.
Here are some of the error displayed when the crashes occurs:
- DirectX fonction “GetDeviceRemovedReason” DXGI_ERROR_DEVICE_HUNG. GPU: “NVIDIA GeForce GTX 770”, Driver: 37306
- DirectX function “Dx11Renderer:tryMap” failed with DXGI_ERROR_DEVICE_REMOVED (“The video card has been physically removed from the system, or a driver upgrade for the video card occured. “). GPU: “NVIDIA GeForce GTX 770”, Driver: 37306. This error is usually caused by the graphics driver crashing; try installing the latest drivers. Also, make sure you have a supported graphics card with at least 2GB.
- DirectX function “GetDeviceRemovedReason” DXGI_ERROR_DEVICE_RESET (“The device failed due to a badly formed command. This is a run-time issue; The application should destroy and recreate the device.”). GPU: “”, Driver: 37290
- DirectX function “g_dx12Renderer->getDevice()->CreateCommittedResource(&heapProps, D3D12_HEAP_FLAG_NONE, &resourceDesc, initialUsage, clearValuePtr, __uuidof(ID3D12Resource), (void**)&res)” failed with E_INVALIDARG (“An invalid parameter was passed to the returning function.”). GPU: “”, Driver: 37290
- DirectX function “screen->m_swapChain->ResizeTarget(&screen->m_outputMode)” failed with E_FAIL (“Attempted to create a device with the debug layer enabled and the layer is not installed.”). GPU: “NVIDIA GeForce GTX 970”, Driver: 37557
- Battlefield 1 Open Beta has stopped working, a problem caused
- DirectX function “device->CreateTexture2d( &texDesc, desc.subResourceCount != 0 ? reinterpret_cast<const D3D11_SUBRESOURCE_DATA*>(desc.subResourceData) : 0, &texture->m_texture2d)” failed with DXGI_ERROR_DEVICE_REMOVED.
Did this solution fixed your problem with Battlefield 1 Function error? Please leave a comment below!
For me, the “D3D12_HEAP_FLAG_NONE” error in Battlefield 1 was gone right after I have enabled the paging file in Windows 10.
Win+Pause/Break to open “System” menu, then go to -> Advanced system settings -> System Properties -> Advanced -> Performance -> Settings… -> Advanced -> Virtual Memory -> Change… -> Paging file size for earch drive -> System managed page size -> Set -> OK.
P.S.
Setting “GstRender.DX12Enabled” to 0, did not help in my case at all.