How to Fixed DirectX Function Error on Battlefield 1

Written by

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

  1. Uninstall completely or use DDU to delete all files and traces of your NVIDIA driver –
  2. Install the older version of NVIDIA driver 334.89 –
  3. Trick Battlefield 1 that you’re using new version of NVIDIA driver –

If the above instruction won’t work try this alternative solution posted by GTOAviator:

  1. Go to This PC > Documents > Battlefield 1 > settings
  2. Open the file PROFSAVE_profile with Notepad.
  3. 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!

Article Tags:
Article Categories:
How To


  • Andrey Arapov June 28, 2018 8:26 pm

    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.

    Setting “GstRender.DX12Enabled” to 0, did not help in my case at all.


Leave a Reply