Full case summary — rtx 3080 dxgi_error_device_hung / device_removed — everything tried, crash dump analysis included
System specs:
- GPU: NVIDIA GeForce RTX 3080
- CPU: AMD
- psu: nzxt c850 (850W)
- OS: Windows 11
Errors received:
Error 1 (original):
Dxgi_error_device_hung — DirectX function "Getdeviceremovedreason" failed. GPU will not respond to more commands. Driver: 59597.
Error 2 (expanded):
"Hang detected in waitforframefences. Timed out after 8000MS. Waiting for signal: 35990. Last signaled fence value: 35991. Unsignaled fences: ('graphics' stopped at 35989)"
File: d:\dev\intn\code\packages\rendercore2\rendercore2\dev\source\platform\dx12\submissionmanagerdx12.Cpp
Error 3 (later):
Dxgi_error_device_removed — "The video card has been physically removed from the system, or a driver upgrade for the video card has occurred."
File: d:\dev\tnt\code\packages\rendercore2\rendercore2\dev\source\platform\dx12\submissionmanagerdx12.Cpp
Deviceremovedreason: dxgi_error_device_hung
Driver: 59636
All errors originate from the same file: submissionmanagerdx12.Cpp inside rendercore2 — ea/dice's own rendering engine code.
Everything attempted with no resolution:
Drivers:
- clean install of multiple NVIDIA driver versions
- full ddu wipe in safe mode followed by clean install of 581.42 (official bf6 launch driver)
- full ddu wipe followed by clean install of 596.36
- tested 572.83 — game refused to launch, requires 581.42 minimum
Windows/system settings:
- disabled hardware-accelerated GPU scheduling (hags)
- disabled pcie link state power management in power options
- added tdrdelay (value 8) and tdrlevel (value 0) registry entries
- added overlaytestmode (value 5) to hkey_local_machine\software\Microsoft\windows\dwm
- verified bf6 running on dedicated GPU via NVIDIA control panel
- cleared DirectX shader cache
- xmp/expo verified as disabled
- no overclock active on GPU or CPU
- factory overclock removed from GPU
NVIDIA control panel (bf6 profile):
- power management mode → prefer maximum performance
- low latency mode → off
- vertical sync → use the 3d application setting
Overlays and background tools:
- geforce experience overlay disabled
- Discord overlay disabled
- steam overlay disabled
- ea app overlay disabled
- msi afterburner and rivatuner fully closed
- NVIDIA high definition audio driver disabled in device manager
In-game settings tested:
- fsr frame generation disabled
- fsr2 upscaling disabled
- dlss disabled
- NVIDIA reflex disabled
- all upscaling set to off/native
- framerate cap enabled
- dx11 mode forced
- assault class loadout fix attempted
- GPU undervolted via msi afterburner (~900-950mv)
Hardware:
- GPU reseated in pcie slot
- pcie power connectors reseated
- GPU benchmarks (furmark, superposition) — no errors, no crashes
- GPU temperatures normal under load
- windows memory diagnostic — no errors
Game integrity:
- game files verified
- bf6 fully reinstalled, all leftover folders cleared from program files, documents and appdata
---
Temporary fix that worked for approximately 2 months:
Disabling the NVIDIA high definition audio driver in device manager eliminated the crashes entirely for around 2 months. After a bf6 game update the crashes returned despite the audio driver remaining disabled, and the error type changed from device_hung to device_removed, indicating a change in the rendering pipeline.
Crash dump analysis (windbg):
I analyzed the frostbite minidump using windbg. The results clearly identify the origin of the crash:
Exception code: 0x887a0006 (dxgi_error_device_hung)
Faulting module: bf6.Exe
Failure bucket: xaml_887a0006_bf6.Exe
The entire call stack traces through bf6!Ffxfsr2resourceisnull — fsr2 (AMD fidelityfx super resolution 2) code embedded inside rendercore2. This is significant because at the time of the crash my in-game upscaling was set to dlss, not fsr2. This proves bf6 is executing fsr2 code as a core internal rendering component regardless of the upscaling setting selected by the user. There is no user-side setting that can disable this.
Subsequent crashes occurred with dlss, reflex, fsr frame generation and all upscaling fully disabled. The crash persists regardless of any combination of graphics settings, confirming this cannot be resolved from the user side.
Conclusion:
This is a bug in rendercore2's fsr2 implementation that causes the dx12 graphics command queue to hang and the GPU to stop responding. It affects rtx 3080 configurations and cannot be resolved through any driver, system or in-game setting change. The crash originates in ea/dice's own code and requires an engine-level fix.
I am requesting this be escalated to the development team.
Full windbg output:
Key_values_string: 1 key : analysis.Cpu.Msec value: 609 key : analysis.Elapsed.Msec value: 13840 key : analysis.Io.Other.Mb value: 16 key : analysis.Io.Read.Mb value: 1 key : analysis.Io.Write.Mb value: 45 key : analysis.Init.Cpu.Msec value: 515 key : analysis.Init.Elapsed.Msec value: 86408 key : analysis.Memory.Commitpeak.Mb value: 278 key : analysis.Version.Dbgeng value: 10.0.29547.1002 key : analysis.Version.Description value: 10.2602.27.2 amd64fre key : analysis.Version.Ext value: 1.2602.27.2 key : failure.Bucket value: xaml_887a0006_bf6.Exe!Unknown key : failure.Exception.Code value: 0x887a0006 key : failure.Exception.Ip.Address value: 0x7ffb8ba379da key : failure.Exception.Ip.Module value: kernelbase key : failure.Exception.Ip.Offset value: 0xc79da key : failure.Hash value: {823c07cc-a67a-e92f-3480-f4d74ce569af} key : failure.Problemclass.Primary value: xaml key : faulting.Ip.Type value: paged key : timeline.Os.Boot.Deltasec value: 511788 key : timeline.Process.Start.Deltasec value: 276 key : wer.Os.Branch value: GE_release key : wer.Os.Version value: 10.0.26100.1 key : wer.Process.Version value: 1.0.421.43257 file_in_cab: crashdump_2026.05.06_18.54.48.238.Mdmp comment: frostbite minidump. Address: 7ffb8ba379da (in windbg type: .Ecxr) [eof] ntglobalflag: 0 context: (.Ecxr) rax=0000000000000000 rbx=0000000000000000 rcx=00007ffb8b823780 rdx=0000000000000000 rsi=0000000000000000 rdi=00000000887a0006 RIP=00007ffb8ba379da rsp=000000007fb7a310 rbp=0000000000000000 r8=0000000000000000 r9=00000010f0a8b830 r10=00000000000074b0 r11=00000000000064f8 r12=0000000000000000 r13=000000006cab55b0 r14=0000000000000000 r15=00000000887a0006 iopl=0 nv up ei pl nz na po nc cs=0033 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000202 kernelbase!Raiseexception+0x8a: 00007ffb`8ba379da 0f1f440000 nop dword ptr [rax+rax] resetting default scope exception_record: (.Exr -1) exceptionaddress: 00007ffb8ba379da (kernelbase!Raiseexception+0x000000000000008a) exceptioncode: 887a0006 exceptionflags: 00000080 numberparameters: 0 process_name: bf6.Exe error_code: (ntstatus) 0x887a0006 - the GPU will not respond to more commands, most likely because of an invalid command passed by the calling application. Exception_code_str: 887a0006 stack_text: 00000000`7fb7a310 00000001`44d96d91 : 00000000`00000044 00000000`2f4c9ec0 00000000`32630820 00000000`7fb7a5d9 : kernelbase!Raiseexception+0x8a 00000000`7fb7a410 00000001`44d97424 : 00000000`6cab55b0 00000000`073ba558 0000a058`d6ebd0c1 00000001`4531ce85 : bf6!Ffxfsr2resourceisnull+0x22c5431 00000000`7fb8f610 00000001`44d95c03 : 00000000`6cab55b0 00000002`ce98cd80 00000000`3eaaaaab 00000001`40b8c045 : bf6!Ffxfsr2resourceisnull+0x22c5ac4 00000000`7fb8f660 00000001`44c3e2c6 : 00000000`a1509500 00000000`a1509900 00000000`6cab2cf0 00000000`073ba558 : bf6!Ffxfsr2resourceisnull+0x22c42a3 00000000`7fb8f770 00000001`44c3b5d8 : 00000000`6cab2cf0 00000000`6cab2cf0 00000000`073ba558 00000000`6cab2cf0 : bf6!Ffxfsr2resourceisnull+0x216c966 00000000`7fb8f920 00000001`43c06f41 : 00000000`46f0a5bc 00000002`361df080 00000000`00000000 00000002`361df13c : bf6!Ffxfsr2resourceisnull+0x2169c78 00000000`7fb8f9c0 00000001`43c0e7b1 : 00000001`49f77aa8 00000001`43c0d2e1 00000000`00000000 00000000`7fb8fbe0 : bf6!Ffxfsr2resourceisnull+0x11355e1 00000000`7fb8fab0 00000001`43c0de20 : a058a953`24210000 00000000`7fb8fd80 00000001`49d1eee8 ffffffff`ffffffff : bf6!Ffxfsr2resourceisnull+0x113ce51 00000000`7fb8fb30 00000001`43c0d989 : 00000000`4c5215c4 00000000`00b60100 00000000`00000001 00000000`00000000 : bf6!Ffxfsr2resourceisnull+0x113c4c0 00000000`7fb8fc50 00000001`43c0bf83 : 00000000`00040000 00000000`00001000 00000000`00000000 00000000`00000000 : bf6!Ffxfsr2resourceisnull+0x113c029 00000000`7fb8fcb0 00000001`43c0b377 : 00000000`00000000 00000000`7fb8ff00 00000000`326b1800 00000000`00000000 : bf6!Ffxfsr2resourceisnull+0x113a623 00000000`7fb8fe20 00000001`436fcb5b : 00000000`00000000 00000000`00000000 00000001`49d05270 00007ffb`8ba2a9ab : bf6!Ffxfsr2resourceisnull+0x1139a17 00000000`7fb8fe70 00000001`436fe924 : 00000000`326b1800 00000000`326b17c0 00000000`00000001 00000000`00000000 : bf6!Ffxfsr2resourceisnull+0xc2b1fb 00000000`7fb8fec0 00000001`4330ddac : 00000001`49a0c900 00000000`00000001 ffffffff`00000103 00000000`00000000 : bf6!Ffxfsr2resourceisnull+0xc2cfc4 00000000`7fb8ff00 00007ffb`8b8237b0 : 00000000`025db910 00000000`00000000 00000000`00000000 00000000`00000000 : bf6!Ffxfsr2resourceisnull+0x83c44c 00000000`7fb8ff30 00007ffb`8db5e8d7 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ucrtbase!Thread_start<unsigned int (__cdecl*)(void *),1>+0x30 00000000`7fb8ff60 00007ffb`8ee6c3fc : 00000000`00000000 00000000`00000000 000004f0`fffffb30 000004d0`fffffb30 : kernel32!Basethreadinitthunk+0x17 00000000`7fb8ff90 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!Rtluserthreadstart+0x2c IP_in_paged_code: kernelbase!Raiseexception+8a 00007ffb`8ba379da 0f1f440000 nop dword ptr [rax+rax] symbol_name: bf6+4d96d91 module_name: bf6 image_name: bf6.Exe stack_command: ~13s; .Ecxr ; kb failure_bucket_ID: xaml_887a0006_bf6.Exe!Unknown OS_version: 10.0.26100.1 buildlab_str: GE_release osplatform_type: x64 osname: windows 10 image_version: 1.0.421.43257 failure_ID_hash: {823c07cc-a67a-e92f-3480-f4d74ce569af} followup: machineowner
— lul520