If you’ve spent more time staring at a “DirectX function failed” error message pop-up than on the battlefield, this problem has troubled many in the community. Battlefield 6’s DirectX errors have been appearing for players across all GPU brands, including RTX, Radeon, and Intel, like a random airstrike. The game crashes happen with messages like “DXGI_ERROR_DEVICE_HUNG”, “E_OUTOFMEMORY”, or the vague “device removed”. In this article, we’ll explain the reasons for these errors and how to fix them to run Battlefield 6 properly.
1. Understand What Causes DirectX Issues in Battlefield 6
These DierctX crashes usually happen because of how Frostbite’s DX12 renderer interacts with drivers and memory management. It’s a bit finicky and doesn’t like aggressive GPU overclocks, overlay tools, or unstable driver versions.
These are the common reasons for Battlefield 6 DirectX related errors:
- Driver instability or a bad DirectX 12 runtime.
- Overclocked GPUs (even factory OCs).
- Conflicts from apps like MSI Afterburner or NVIDIA Reflex.
- DirectX settings in your config file do not match system support.
- GPU runs out of VRAM due to high-res textures or an unoptimized cache.
With all that in mind, let’s go through the fixes that work to fix these DirectX issues and game crashes.
2. Customize the Config File
The first thing you should do to fix the DirectX or BF6 crash is to update a single line in one of the game’s config files. One user on Reddit shared this step, and it helped to fix the issue for many players.
- Open File Explorer, go to Documents > Battlefield 6 > settings > PROFSAVE_profile.
- Open the file with Notepad or any other file editor.
- Find this line:
GstRender.Dx12Enable 0 - Change the 0 to 1, then save and close.
What this does is it forces DirectX 12 to run properly. If you still get the crash after this change, delete the file completely, then Battlefield 6 will recreate a clean file the next time you launch the game.
3. Stop Overclocking
Multiple players with RTX 3080s and RX 7900s said that BF6 doesn’t run correctly with enabled overclocking. So:
- Underclock your GPU by 50–100 MHz using MSI Afterburner.
- Better yet, open NVIDIA Control Panel → click Debug Mode, which resets your GPU to stock factory clocks until a restart.
- If your PC is equipped with an AMD card, disable any custom tuning in Radeon Software.
Overclock pushes the GPU’s timing slightly beyond what Frostbite’s frame renderer expects. DX12 doesn’t take it well, hence the “device removed” tantrums appear here and there.
4. Limit Frame Rate
DX12 is aggressive with how it queues FPS for rendering. When it’s allowed to run unrestricted, especially on high-refresh rate monitors, it can overload the GPU pipeline, which leads to the device being removed or out of memory problems.
To fix it, go to Graphics → Advanced Settings → Frame Rate Limiter, turn it ON, and lock your FPS to reasonable numbers between 60 to 120. Don’t set it to “Unlimited.” It makes the game sprint faster than DX12’s resource scheduler can keep up. Frame rate cap not only eliminates crashes but it smooths FPS pacing and reduces micro-stutter, mainly on mid-tier cards.
5. Disable Background Services
When tools like MSI Afterburner, RivaTuner, or NVIDIA Reflex inject overlays or monitor frame data, DX12 can interpret it as a resource conflict and destroy mid-match, resulting in the device hung error. Close all overlay software before you run Battlefield 6, including MSI Afterburner, RivaTuner, Discord overlay, GeForce Experience overlay, and Xbox Game Bar.
In NVIDIA Reflex, turn it off in-game to further remove crash possibilities. If you can’t live without performance stats, use the in-game FPS counter under Graphics → Performance Overlay. It’s basic, but it doesn’t trip the DX12 renderer like external hooks do.
6. Lock Down Drivers and DirectX Components
DX12 relies a lot on the driver’s memory handling, so a mismatched version can cause endless “device removed” and “E_OUTOFMEMORY” errors.
Here’s how to overcome these issues:
- For NVIDIA: Driver 572.83 or old builds run Battlefield 6 most consistently because new beta drivers reintroduce the same DX12 instability. Wait until the latest stable drivers release before updating them to the up-to-date version.
- For AMD: EA’s forums mention a “preview” driver released specifically for BF6; download that if available.
- For Intel ARC: Update to the latest WHQL-certified release — older versions have broken DX12 API compatibility.
Once that’s done, refresh your DirectX runtime to ensure no missing files:
- Download Microsoft’s DirectX End-User Runtime Web Installer.
- Run it to reinstall missing DX12 components.
- Optionally, run sfc /scannow in Command Prompt to check for broken Windows files.
For an easy way, LagoFast’s DirectX 12 Component Installer automates the process. It reinstalls all DX12 dependencies without you poking through system folders.
7. Completely Remove Old Drivers the Right Way
If you’ve updated GPU drivers over and over since Battlefield 2042, your system might have remnants of old driver files. These leftovers can conflict with DX12 resource linking, thus leads to the pesky DXGI_ERROR_DEVICE_HUNG.
Use Display Driver Uninstaller (DDU):
- Boot your PC into Safe Mode.
- Run DDU, select your GPU brand, and let it remove every trace of old drivers.
- Reboot the system and install a fresh copy of the latest stable drivers.
Doing this removes ghosted registry entries and corrupt DLL references and gives your GPU driver a factory reset.
8. Check Your BIOS and Secure Boot Setup
Battlefield 6’s anti-cheat and DirectX validation checks require Secure Boot enabled in the BIOS. Some users found that turning it on stopped their DirectX crashes. To do that, read our complete guide on how to enable Secure Boot to fix the “SecureBoot is not enabled” error for Battlefield 6. Third-party tools can also scan and tell you if Secure Boot, TPM 2.0, and GPT disk mode are active, all of which are the necessities the game requires.
9. Keep Temps and VRAM in Check
Battlefield 6 is launched with incredible graphics, but that fidelity comes at a price, and the price you need to pay here is GPU memory. When you use ray tracing, ultra textures, and high particle counts, the game’s VRAM demand exceeds 8GB. Once DX12 runs out of memory, it throws an E_OUTOFMEMORY error, and the instant crash happens.
This is what you should do to keep VRAM use in control:
- For graphics cards with 8GB VRAM or less, drop Texture Quality to “High” instead of “Ultra.”
- Keep your GPU temperature under 85°C – PC overheating is also a reason for memory desync and is even bad for overall system performance.
- Switch from fullscreen to borderless windowed mode.
10. Update BIOS or Use Fresh Admin Account
If you’ve done everything right and the game still greets you with a DirectX error, it might not be your GPU’s fault, but with system firmware or user profile.
Some players said that when they updated their motherboard BIOS, the occasional crashes were fixed completely. It’s most possibly due to updated memory handling or PCIe initialization code. Further, you can create a new Windows administrator account, install Origin or Steam fresh to see if the game runs fine after that.
DirectX stores many runtime permissions and registry hooks under the current Windows user profile. If any one of them gets corrupted, it won’t help no matter how many times you reinstall the game; only a clean profile resets them.
Final Thoughts
Battlefield 6’s DirectX 12 engine is a masterpiece wrapped in chaos. When it runs, it’s great. When it breaks, it’s complete frustration. Though almost all the main errors come down to a few culprits, which are outdated drivers, unstable overlays, or mismatched system settings.
If you take something from this guide, take this:
- Do a clean driver reinstall with DDU and download stable driver versions.
- Disable overlays and keep it simple.
- Limit FPS to a stable range.
- Edit PROFSAVE_profile →
GstRender.Dx12Enable 1. - Verify Secure Boot is enabled.
- Keep VRAM use under control.
Do that, and you’ll finally spend more time on the battlefield than in your desktop wallpaper.
