DirectX 12 Unsupported Feature Error in PC Games
Old GPU drivers or an unsupported GPU cause this DirectX 12 error. The fix is updating drivers or switching to DX11.
Quick answer
Update your GPU drivers to the latest version. If that doesn't work, force the game to run in DirectX 11 mode — add -dx11 or -d3d11 to the launch options in Steam or the game's executable target.
Why this happens
This error (0x887A0005) means your GPU tried to use a DirectX 12 feature it doesn't support. The culprit here is almost always outdated graphics drivers. I've seen this on older NVIDIA GeForce GTX 900 series cards, AMD Radeon RX 400 series, and even integrated Intel UHD 620 graphics. The GPU itself might support DX12 but lacks the newer shader model or feature level the game expects.
Another common trigger — Windows Update pushed a broken driver. Microsoft's automatic driver updates are notoriously bad for gaming. They'll overwrite your OEM driver with a generic one that's months old. That's the exact scenario where this error pops up in games like Halo Infinite, Cyberpunk 2077, or Fortnite.
Don't bother with reinstalling the game or running a system file checker (SFC) scan. That's not the problem. The error is strictly hardware or driver related.
Fix steps (try in order)
- Update your GPU driver — go to NVIDIA or AMD's official site and download the latest Game Ready driver. Don't use Windows Device Manager's "update driver" option — it's useless here. Use DDU (Display Driver Uninstaller) in Safe Mode to wipe old drivers first, then install fresh. This alone fixes 80% of cases.
- Force DirectX 11 — if updating doesn't work, the GPU might genuinely lack DX12 feature support. Open the game's launcher properties (Steam: right-click game → Properties → Launch Options). Type
-dx11or-d3d11. Some games use-force-d3d11. For Epic Games Store, you'll find this in the game's settings menu. This drops you to DX11 — you lose ray tracing and mesh shaders, but the game runs stable. - Disable GPU hardware scheduling — go to Settings → System → Display → Graphics → Change default graphics settings. Turn off Hardware-accelerated GPU scheduling. This feature conflicts with older drivers on Windows 11. Restart and test.
Alternative fixes (if main steps don't work)
Roll back the driver
If the error started after a driver update, roll back to the previous version. Open Device Manager → Display adapters → right-click GPU → Properties → Driver → Roll Back Driver. This reverts to the last working driver. I've had to do this on older AMD cards that simply didn't like recent drivers.
Use DXVK (for Vulkan-capable GPUs)
This is advanced — but it works like magic. DXVK translates DirectX 11/12 calls to Vulkan. Download the latest release from GitHub, extract dxgi.dll and d3d12.dll into the game's folder with the executable. The game will run DX12 over Vulkan instead. I've used this on a GTX 970 to play Halo Infinite without the error.
Check for overheating
Rare, but I've seen it. If your GPU hits 90°C+, DirectX 12 can throw this error as a protective measure. Monitor temps with HWMonitor. If they're high, clean fans and reapply thermal paste if you're comfortable doing that.
Prevention tip
Block Windows from auto-updating your GPU driver. Use the Microsoft Show or Hide Updates troubleshooter to hide driver updates. Then manually update drivers from the GPU vendor's site every 2-3 months. This avoids the broken driver cycle that triggers the error.
Also disable automatic driver updates in Group Policy Editor (gpedit.msc) if you're on Pro or Enterprise — navigate to Computer Configuration → Administrative Templates → Windows Components → Windows Update → Manage updates offered from Windows Update, set "Do not include drivers with Windows Updates" to Enabled. That's the nuclear option, but it works.
Was this solution helpful?