RX 9070 XT: system-wide freeze during Battlefield 6 shader compilation
Summary
Battlefield 6 repeatedly causes a complete system freeze while compiling shaders on my Radeon RX 9070 XT.
This is not a normal application crash:
- Battlefield 6 freezes during shader compilation.
- Windows becomes completely unresponsive.
- The monitors may lose signal.
- The graphics driver does not recover.
- The PC must be restarted using the physical reset button.
- After one crash, the Radeon device/driver became disabled.
- Other games and GPU-heavy applications work normally.
System configuration
- Windows 10 Pro 64-bit, build 19045
- AMD Ryzen 7 9800X3D
- Gigabyte B850 AORUS ELITE WIFI7
- 64 GB RAM
- AMD Radeon RX 9070 XT, 16 GB
- PCI ID: VEN_1002&DEV_7550&SUBSYS_061A1043
- AMD Adrenalin 26.7.1
- Driver version: 32.0.31035.1003
- DirectX 12 / WDDM 2.7
- Two DisplayPort monitors
- No GPU overclock, undervolt or custom power settings
The problem was also reproduced with other AMD driver versions.
Reproduction steps
- Start Battlefield 6 through Steam.
- Wait for shader compilation.
- During compilation, the game freezes.
- The entire operating system becomes unresponsive.
- The displays may lose signal.
- Windows does not recover the graphics driver.
- A physical reset is required.
The issue has occurred repeatedly. It can happen during shader compilation, immediately after compilation, or shortly after reaching the menu.
Kernel dump results
One occurrence generated the following crash dump:
PROCESS_NAME: bf6.exe BUGCHECK_CODE: 0x133 DPC_TIMEOUT_TYPE: SINGLE_DPC_TIMEOUT_EXCEEDED Arg1: 0 Arg2: 0x501 Arg3: 0x500 Stack.Pointer: ISR Failure.Bucket: 0x133_DPC_nt!KeAccumulateTicks
Bugcheck 0x133 with Arg1 = 0 means that a single DPC or ISR exceeded its allowed execution time.
The dump recorded 0x501 ticks against an allotment of 0x500.
The relevant stack was:
nt!KeBugCheckEx nt!KeAccumulateTicks nt!KeClockInterruptNotify nt!HalpTimerClockIpiRoutine nt!KiCallInterruptServiceRoutine nt!KiInterruptSubDispatchNoLockNoEtw nt!KiInterruptDispatchNoLockNoEtw nt!KeYieldProcessorEx nt!ExpGetPoolTagInfoTarget nt!KiExecuteAllDpcs nt!KiRetireDpcList
The dump was only a kernel-generated triage dump, so it did not retain enough information to identify the original driver callback. ntkrnlmp.exe is where Windows detected the timeout, not necessarily the component that caused it.
amdkmdag.sys was loaded, but it was not present on the retained stack. Therefore, the dump does not conclusively prove that the AMD driver caused the timeout.
Most likely cause
My primary hypothesis is a deadlock or excessively long-running DPC in the Battlefield 6–AMD graphics interaction during DirectX 12 shader or pipeline-state compilation.
The probable sequence is:
- Battlefield 6 compiles or initializes a specific shader/pipeline state.
- It submits a command or triggers a driver path that fails on RDNA 4.
- The GPU or AMD kernel driver stops responding.
- Windows attempts timeout detection or driver recovery.
- A driver DPC/ISR remains active too long.
- The graphics stack cannot recover, resulting in black screens, a complete system freeze, or bugcheck 0x133.
- The Radeon device may remain disabled after reboot.
A Battlefield-side synchronization or invalid command-submission bug is also possible. Even if the final lock occurs inside the AMD driver, BF6 appears to be the trigger because the system is stable in other games.
Less likely explanations are defective hardware, unstable RAM or a general power problem. Those would normally also appear under other GPU-heavy workloads instead of being repeatedly triggered by BF6 shader compilation.
A corrupted shader cache is also less likely because the issue returns after cache clearing and has been reported by other RX 9070/9070 XT users.
Additional evidence
The latest hard freeze occurred around 2026-09-02 19:07:57. Because the PC was reset physically, Windows logged only:
Kernel-Power 41 EventLog 6008
No normal application crash or GPU LiveKernelDump could be written.
Other RX 9070/9070 XT owners describe the same sequence:
- freeze during shader compilation;
- monitors losing signal;
- failed graphics-driver recovery;
- GPU disabled with Code 22 or Code 31 after restart;
- normal operation in other games.
Relevant reports:
- https://steamcommunity.com/app/2807960/discussions/0/582805931178473871/
- https://steamcommunity.com/app/2807960/discussions/0/579425364008397300/
- https://steamcommunity.com/app/2807960/discussions/0/572667758937064487/
Troubleshooting already performed
- Tested multiple AMD driver versions.
- Confirmed the crash on Adrenalin 26.7.1.
- Cleared shader caches.
- Removed the -high launch option.
- Reset Radeon settings to defaults.
- Disabled optional Radeon overlay/recording features.
- Verified that no GPU tuning is active.
- Checked Event Viewer, Reliability Monitor and LiveKernelReports.
- Analyzed the available kernel dump and WHEA record.
Request
Please investigate the Battlefield 6 DirectX 12 shader-compilation and pipeline-state creation paths on Radeon RX 9000-series/RDNA 4 GPUs.
In particular, please check:
- shader or PSO compilation immediately before the freeze;
- synchronization/deadlock conditions between BF6 and the AMD driver;
- malformed or unsupported DirectX 12 command submission;
- GPU timeout recovery failure;
- long-running AMD display-driver DPC/ISR activity;
- why the failure can disable the Radeon device after reboot.
On 26.8.1 AMD drivers - all the same!
Downgrading to 26.6.4 didn't help either!
I also provide the original diagnostic files:
- DxDiag.txt — full system, GPU, driver, display, and DirectX information.
- BF6-crash-logs.txt — Windows System and Application events recorded around the crashes.
- 090226-18296-01.dmp — original kernel minidump containing the DPC_WATCHDOG_VIOLATION (0x133) crash.
- BF6_WinDbg_Analysis.txt — detailed WinDbg analysis of the kernel minidump.
- WHEA.xml — raw WHEA event containing the processor and NMI error records.