Battlefield 6 reproducible crash when enabling DLSS Frame Generation — dump evidence points to NVIDIA Streamline / DLSSG / D3D12 device state path
Hello EA / Battlefield Engineering Team,
I am reporting a reproducible Battlefield 6 crash that appears specifically tied to DLSS Frame Generation, not general DLSS Super Resolution or system instability.
The crash is reproducible with the following behavior:
DLSS Super Resolution only: stable DLSS Frame Generation disabled: stable DLSS Frame Generation enabled: crash
System: AMD Ryzen 7 9700X/32GB DDR5 Dual 6000c26/SK Hynix P41 2TB SSD/Gigabyte Gaming OC Geforce RTX 5070 Ti/MSI Tomahawk B850 WIFI/Windows 11 Pro
I have also tested with BIOS fully reset to default:
BIOS: fully default EXPO: disabled PBO: disabled Curve Optimizer: disabled CPU/RAM overclocking: disabled GPU overclock/undervolt: disabled
The game does not crash when DLSS Frame Generation is disabled.
The crash happens after enabling DLSS Frame Generation.
This makes CPU Curve Optimizer, EXPO, PBO, and general RAM overclocking unlikely as the primary trigger.
GPU: NVIDIA GeForce RTX 5070 Ti NVIDIA driver shown by the game error dialog: 61062 NVIDIA driver module version in dumps: 32.0.16.1062 Game: Battlefield 6 / bf6.exe Observed game version in latest dump: 1.0.426.51287 API path: D3D12
NVIDIA driver was cleanly removed using DDU in Safe Mode and then reinstalled. The issue still reproduced afterward.
The Battlefield error dialog reports:
DirectX function "GetDeviceRemovedReason" failed DXGI_ERROR_DEVICE_HUNG GPU: NVIDIA GeForce RTX 5070 Ti Driver: 61062
This matches one of the crash dump results below.
This dump showed an illegal instruction in the NVIDIA user-mode D3D driver while the DLSS Frame Generation thread was active.
ExceptionCode: 0xC000001D Meaning: Illegal Instruction Crash thread: sl.dlssg Faulting module/address: nvwgf2umx.dll + 0x963d00 NVIDIA module version: 32.0.16.1062
Relevant loaded modules included:
nvwgf2umx.dll nvngx_dlssg.dll nvngx_dlss.dll sl.dlss_g.dll sl.dlss.dll sl.common.dll sl.interposer.dll D3D12Core.dll dxgi.dll nvspcap64.dll gameoverlayrenderer64.dll
Interpretation:
Battlefield 6 → D3D12 → NVIDIA Streamline / DLSSG → NVIDIA user-mode driver nvwgf2umx.dll → Illegal Instruction crash
The important part is that the active crash thread was sl.dlssg, strongly suggesting the DLSS Frame Generation path was involved.
This dump directly matched the in-game DirectX error:
ExceptionCode: 0x887A0006 Meaning: DXGI_ERROR_DEVICE_HUNG Crash path: D3D12 / NVIDIA user-mode driver / NVIDIA Streamline / DLSS
Relevant NVIDIA / Streamline / DLSS modules observed:
sl.interposer.dll 2.10.3.0 sl.common.dll sl.dlss.dll 2.10.3.0 sl.dlss_g.dll 2.10.3.0 sl.reflex.dll nvngx_dlss.dll 310.5.2.0 nvngx_dlssg.dll 310.5.2.0 nvngx_dlssd.dll 310.5.2.0 nvwgf2umx.dll 32.0.16.1062 nvapi64.dll 32.0.16.1062 nvldumdx.dll nvgpucomp64.dll D3D12Core.dll dxgi.dll
Relevant thread names observed:
sl.dlssg sl.pacer D3D Background Thread 0 D3D Background Thread 1 D3D Background Thread 2 D3D Background Thread 3
The D3D background threads repeatedly involved:
D3D12Core.dll nvwgf2umx.dll
The dump also contained a Frostbite GPU breadcrumb:
Incomplete breadcrumb found on device 0 hardware queue: Main frameIndex: 116516 last renderPass: LodFadeStencilMask last bound pipeline: ShaderProgram_GpuMeshScatteringCull_IndirectDraw last Opcode: Dispatch 5 x 1 x 1
Interpretation:
The GPU appears to hang while executing a D3D12 workload. The breadcrumb suggests the last incomplete GPU work was around:
LodFadeStencilMask ShaderProgram_GpuMeshScatteringCull_IndirectDraw Dispatch 5 x 1 x 1
Because this only reproduces when DLSS Frame Generation is enabled, this may indicate an interaction between the Frostbite render graph / async compute / indirect draw / LOD or stencil pass and NVIDIA Streamline DLSSG frame generation.
The latest dump changed from a direct DXGI device-hung error to a game-process access violation:
Process: bf6.exe Game version: 1.0.426.51287 ExceptionCode: 0xC0000005 Meaning: Access Violation Faulting module: bf6.exe Fault offset: bf6.exe + 0x53bf390 Access type: read Read address: 0x0
This appears to be a null pointer read inside the game executable.
However, this crash is still only reproducible when DLSS Frame Generation is enabled. The dump still had NVIDIA Streamline / DLSS Frame Generation components active:
sl.interposer.dll sl.common.dll sl.dlss.dll sl.dlss_g.dll sl.reflex.dll nvngx_dlss.dll nvngx_dlssg.dll nvngx_dlssd.dll D3D12.dll D3D12Core.dll dxgi.dll nvwgf2umx.dll nvapi64.dll nvgpucomp64.dll
Relevant threads:
sl.pacer sl.dlssg D3D Background Thread 0 D3D Background Thread 1 D3D Background Thread 2 D3D Background Thread 3
NVIDIA driver module version remained:
32.0.16.1062 / 61062
Interpretation:
This latest crash may be a secondary failure after the renderer / frame generation / device state becomes invalid. Instead of surfacing as DXGI_ERROR_DEVICE_HUNG, the game later reads a null or invalid renderer/frame-generation-related object and crashes inside bf6.exe.
Across all collected dumps and the in-game error dialog, the common pattern is:
Trigger: DLSS Frame Generation enabled Stable condition: DLSS Frame Generation disabled API: D3D12 NVIDIA path: Streamline / DLSSG / user-mode driver Threads/modules: sl.dlssg, sl.pacer, sl.dlss_g.dll, nvngx_dlssg.dll, nvwgf2umx.dll, D3D12Core.dll Observed failure types: - 0xC000001D Illegal Instruction in nvwgf2umx.dll while sl.dlssg was active - 0x887A0006 DXGI_ERROR_DEVICE_HUNG / GetDeviceRemovedReason failed - 0xC0000005 null read inside bf6.exe while DLSSG modules were active
This suggests the issue is not generic DLSS Super Resolution. It appears specific to:
Battlefield 6 → D3D12 renderer → NVIDIA Streamline → DLSS Frame Generation / DLSSG → NVIDIA user-mode driver / GPU device state
Please investigate the Battlefield 6 integration around NVIDIA Streamline / DLSS Frame Generation, especially:
1. DLSS Frame Generation enable/disable state handling 2. Streamline interposer / sl.dlss_g.dll / nvngx_dlssg.dll integration 3. D3D12 device removed / device hung handling 4. Renderer object lifetime after device-hung or DLSSG state changes 5. Swapchain / frame pacing / present path interaction with sl.pacer 6. Async compute / indirect dispatch work submitted while DLSSG is active 7. Frostbite GPU breadcrumb location: - LodFadeStencilMask - ShaderProgram_GpuMeshScatteringCull_IndirectDraw - Dispatch 5 x 1 x 1 8. Potential null renderer/frame-generation state dereference near: - bf6.exe + 0x53bf390
The latest access violation suggests there may be a missing null/device-removed guard in the game code path after a DLSSG/D3D12 device-state failure.
Some dumps also showed overlay/capture related modules loaded, including:
Steam gameoverlayrenderer64.dll NVIDIA nvspcap64.dll NvTelemetryAPI64.dll NvTelemetryBridge64.dll
However, the crash is controlled by the DLSS Frame Generation toggle:
Frame Generation off: stable Frame Generation on: crash
So overlays may be a secondary amplifier, but the primary reproducible trigger is DLSS Frame Generation.
The crash appears to be a reproducible Battlefield 6 issue in the NVIDIA DLSS Frame Generation / Streamline / D3D12 path.
The strongest evidence is:
- BIOS defaults and no CPU/RAM tuning do not prevent the crash. - DLSS Super Resolution without Frame Generation is stable. - Enabling DLSS Frame Generation reproduces the crash. - The game dialog reports DXGI_ERROR_DEVICE_HUNG. - Dumps show sl.dlssg / sl.pacer / sl.dlss_g.dll / nvngx_dlssg.dll active. - One dump faults in nvwgf2umx.dll. - One dump reports DXGI_ERROR_DEVICE_HUNG. - The latest dump faults inside bf6.exe with a null read, likely after invalid renderer/device/frame-generation state.
Please focus debugging on the DLSS Frame Generation integration and device-hung recovery/state-management path rather than general system instability.