Forum Discussion

e30ac9a4c99c9d89's avatar
e30ac9a4c99c9d89
Seasoned Novice
20 hours ago

BF6 Fix: DXGI DEVICE HUNG on GTX 10-Series

POST:

I want to share a fully tested fix for the “Hang Detected in waitForFrameFences,”
“DXGI_ERROR_DEVICE_HUNG,” and fence-value GPU crashes that MANY players (especially GTX 10-series / Pascal cards) are experiencing in Battlefield 6.

This issue is not caused by overheating, overclocking, bad RAM, or drivers.
It is caused by DirectX 12 instability on GTX 10-series GPUs combined with the new Frostbite RenderCore2 pipeline.

 Who Is Affected

  • GTX 1060
  • GTX 1070
  • GTX 1080
  • GTX 1080 Ti
  • Titan X Pascal

Pascal cards have poor DX12 memory management + limited Async Compute, causing:

  • Fence queue stalls
  • Shader compilation timeouts
  • VRAM fragmentation
  • Total driver hang → “GPU will not respond to more commands”

This causes the exact error message:

"DXGI_ERROR_DEVICE_HUNG: The GPU will not respond to more commands"
“Hang Detected in waitForFrameFences”

 ROOT CAUSE

DirectX 12 on Pascal GPUs crashes because Frostbite’s RenderCore2 renderer aggressively allocates VRAM and async compute tasks that Pascal cannot handle.

Under DX12:

  • VRAM spikes to max
  • Driver stalls
  • Fence values stop incrementing
  • The GPU times out (TDR)
  • Crash

 THE FIX (100% WORKING): FORCE DX11

1. Add this to Steam Launch Options:

-renderer dx11 -dx11

2. Edit PROFSAVE_profile (Documents\Battlefield 6\settings\steam):

Find and set:

GstRender.Dx12Enabled 0 GstRender.Dx11Enabled 1

Save file → set it to Read-Only
(This stops the game from switching back to DX12 automatically.)

3. Delete shader + cache folders:

  • Documents\Battlefield 6\cache
  • AppData\Local\Battlefield 6\cache
  • ProgramData\NVIDIA\DXCache
  • ProgramData\NVIDIA\GLCache
  • ProgramData\NVIDIA Corporation\NV_Cache

The game will rebuild shaders cleanly when you relaunch.

4. Optional but recommended (OBS users):

Disable this in OBS:
Settings → Advanced → Browser Source Hardware Acceleration → OFF

(Prevents additional GPU stalls.)

 RESULT

After switching to DX11:

  • No more DXGI_DEVICE_HUNG
  • No more "waitForFrameFences" hangs
  • No more GPU timeout
  • No more stutters from VRAM spikes
  • Stable gameplay even for hours
  • OBS streaming works
  • VRAM usage stays consistent
  • Performance is smoother overall

DX11 is slightly slower than DX12, but it is far more stable on Pascal GPUs, and the difference is small with optimized settings.

 (Optional) Recommended Graphic Settings for GTX 1080 (DX11):

Set HIGH/ULTRA for:

  • Texture Quality → Ultra
  • Texture Filtering → Ultra
  • Mesh Quality → Ultra
  • Lighting Quality → High
  • Terrain Quality → High

Set MEDIUM for:

  • Volumetric Quality
  • Effects Quality

Set LOW/OFF for:

  • Undergrowth
  • Local Light & Shadow
  • Sun Shadow
  • Screen Space Reflections
  • Screen Space AO & GI
  • High Fidelity Objects

Advanced:

  • Fixed Resolution Scale → 100%
  • Anti-Aliasing → TAA
  • Future Frame Rendering → ON
  • Upscaling → OFF
  • Dynamic Resolution → OFF
  • Reflex → Disabled (optional)

This gives excellent visuals WITH stability.

 FINAL NOTE

This is a game engine issue, not a driver defect or user hardware problem.
Frostbite DX12 + Pascal = unstable.
Frostbite DX11 + Pascal = 100% stable.

Until EA/DICE patch the DX12 path, GTX 10-series users should run DX11.

Hope this helps others who have been fighting these crashes.
This fix has completely stabilized my game.

10 Replies

  • I have this same issue on my 3080. This solution should work right

  • e30ac9a4c99c9d89's avatar
    e30ac9a4c99c9d89
    Seasoned Novice
    19 hours ago

    Hey! Thanks for replying — the symptoms look similar, but the root cause is different on your RTX 3080.
    My fix is specifically for GTX 10-series (Pascal) cards, because Pascal + DX12 has a known stability issue that causes fence stalls and DXGI_DEVICE_HUNG.

    For your RTX 3080, try this version instead:

    Update to driver 552.44 or newer

    Disable only this line in PROFSAVE_profile:
    GstRender.Dx12Enabled 0

    Do NOT enable DX11 on a 3080 — Ampere GPUs run best on DX12

    Clear these caches:

    Documents\Battlefield 6\cache

    ProgramData\NVIDIA\DXCache / GLCache / NV_Cache

    Make sure OBS Browser Source Hardware Acceleration is OFF

    Remove ANY GPU overclock (even factory OC mode)

    3080 crashes are usually caused by:
    ✔ Shader cache corruption
    ✔ NVCache overload
    ✔ OBS browser acceleration
    ✔ Background overlays
    ✔ Driver TDR timeout

    If the crash continues, try adding this to Steam Launch Options:
    -dx12 -high -notexturestreaming

    Let me know your results — happy to help you get it stable!

  • Getting the same issue on a 4070 Super. It happens on all kinds of GPUs, including both Nvidia and AMD. None of the supposed fixes work. Gotta wait for EA to fix the game. 
    Let's just keep posting and hope they pay attention at some point.

  • UPDATE / CONFIRMED WORKING SETUP

    Quick update after more testing:

    My GTX 1080 is now completely stable in Battlefield 6 when I force the game to use DirectX 11 only. I can start OBS first, let Killer Control Center enable Game Mode, then launch BF6 and go straight into multiplayer with no crashes.

    Current working configuration:

    1. Steam launch options:
      -renderer=dx11
    2. user.cfg in the Battlefield 6 install folder:
      GstRender.Dx12Enabled 0
      GstRender.Dx11Enabled 1
    3. PROFSAVE_profile in:
      Documents\Battlefield 6\settings\steam\

    Inside that file I made sure these lines are set:
    GstRender.Dx12Enabled 0
    GstRender.Dx11Enabled 1

    After that I set PROFSAVE_profile to read-only so the game can’t flip back to DX12.

    1. One time only, I deleted the shader/cache folders so the game rebuilt everything clean:

    Documents\Battlefield 6\cache
    AppData\Local\Battlefield 6\cache
    ProgramData\NVIDIA\DXCache
    ProgramData\NVIDIA\GLCache
    ProgramData\NVIDIA Corporation\NV_Cache

    Since doing all of this:

    – No more DXGI_ERROR_DEVICE_HUNG
    – No more “Hang Detected in waitForFrameFences”
    – No GPU timeout after sitting in the menus or loading maps
    – Stable even with OBS running and Killer Game Mode enabled

    Important: I did NOT edit bf6.exe. All changes are done through the launch option, user.cfg, and the PROFSAVE_profile flags.

    For me it still looks like Frostbite DX12 + Pascal is unstable, while DX11 + Pascal is solid. Until EA/DICE patch the DX12 path, forcing DX11 like this is what finally fixed the problem on my system.

  • UPDATE / CONFIRMED WORKING SETUP

    Quick update after more testing:

    My GTX 1080 is now completely stable in Battlefield 6 when I force the game to use DirectX 11 only. I can start OBS first, let Killer Control Center enable Game Mode, then launch BF6 and go straight into multiplayer with no crashes.

    Current working configuration:

    1. Steam launch options:
      -renderer=dx11
    2. user.cfg in the Battlefield 6 install folder:
      GstRender.Dx12Enabled 0
      GstRender.Dx11Enabled 1
    3. PROFSAVE_profile in:
      Documents\Battlefield 6\settings\steam\

    Inside that file I made sure these lines are set:
    GstRender.Dx12Enabled 0
    GstRender.Dx11Enabled 1

    After that I set PROFSAVE_profile to read-only so the game can’t flip back to DX12.

    1. One time only, I deleted the shader/cache folders so the game rebuilt everything clean:

    Documents\Battlefield 6\cache
    AppData\Local\Battlefield 6\cache
    ProgramData\NVIDIA\DXCache
    ProgramData\NVIDIA\GLCache
    ProgramData\NVIDIA Corporation\NV_Cache

    Since doing all of this:

    – No more DXGI_ERROR_DEVICE_HUNG
    – No more “Hang Detected in waitForFrameFences”
    – No GPU timeout after sitting in the menus or loading maps
    – Stable even with OBS running and Killer Game Mode enabled

    Important: I did NOT edit bf6.exe. All changes are done through the launch option, user.cfg, and the PROFSAVE_profile flags.

    For me it still looks like Frostbite DX12 + Pascal is unstable, while DX11 + Pascal is solid. Until EA/DICE patch the DX12 path, forcing DX11 like this is what finally fixed the problem on my system.

  • After a lot of testing on my GTX 1080, I want to share the final method that completely stopped the DXGI_DEVICE_HUNG and “Hang Detected in waitForFrameFences” crashes in Battlefield 6.

    This fix is specifically for GTX 10-series Pascal cards (1060, 1070, 1080, 1080 Ti, Titan X Pascal) which have instability running Frostbite’s DirectX 12 renderer.

    DirectX 12 causes:
    – VRAM spikes
    – driver stalls
    – stopped fence values
    – GPU timeout
    – device hang

    Switching the game fully to DirectX 11 has completely solved the problem for me.

    Here is the exact working setup:

    1. Steam Launch Options:
      -renderer=dx11
    2. Create a file named user.cfg inside the Battlefield 6 installation folder and add:
      GstRender.Dx12Enabled 0
      GstRender.Dx11Enabled 1
    3. Open this file:
      Documents\Battlefield 6\settings\steam\PROFSAVE_profile

    Find the same lines and set them to:
    GstRender.Dx12Enabled 0
    GstRender.Dx11Enabled 1

    After editing, set PROFSAVE_profile to Read-Only so the game cannot switch back to DX12.

    1. Delete shader and cache folders so the game rebuilds everything clean:
      Documents\Battlefield 6\cache
      AppData\Local\Battlefield 6\cache
      ProgramData\NVIDIA\DXCache
      ProgramData\NVIDIA\GLCache
      ProgramData\NVIDIA Corporation\NV_Cache
    2. Optional but recommended (for OBS users):
      Disable “Browser Source Hardware Acceleration” under OBS Settings → Advanced.

    With these changes applied, the game launches smoothly, shaders verify correctly, multiplayer loads fast, and all crashes stopped. OBS streaming and Killer Control Center Game Mode also work without causing any instability.

    For me, the issue was fully related to DirectX 12 on Pascal. DirectX 11 removes the GPU hang problem entirely and keeps the gameplay stable.

    If anyone else on a GTX 10-series card is still getting DXGI_DEVICE_HUNG or waitForFrameFences hangs, I highly recommend trying this setup.

    Hope this helps others.

  • Hi @e30ac9a4c99c9d89,

    I've merged two of your posts together as they seemed to be about the same issue. 

  •  

    Can this method solve the problem of FPS dropping after playing 2 to 3 rounds of the game?

     I’ve seen a lot of people encounter this issue, and they say it’s caused by VRAM leakage.

About Battlefield 6 Technical Issues

Having issues with Battlefield 6? Join here to find help with connectivity, performance issues, crashes and more.4,162 PostsLatest Activity: 3 days ago