Where is the DirectX SDK (2015 Edition)?

As noted on MSDN, the DirectX SDK is deprecated. The June 2010 release is the last release, and "DirectX" is now part of the Windows SDK. There are really only three scenarios where you should continue to use the old DirectX SDK:

  1. You have code (or perhaps an older book) that makes use of D3DX9, D3DX10, D3DX11, or XACT Engine.
  2. Your application uses use XAudio2 and supports Windows 7 systems.
  3. You are targeting Windows XP with the alternate v1x0_xp Platform Toolset.

Remember that use of the legacy DirectX SDK is not supported for UWP app or Xbox One development.

Developer Runtime: The Windows 8.1 SDK or Windows 10 SDK is where you obtain the latest DirectX Developer Runtime that is compatible with Windows 7, Windows 8.0, and Windows 8.1. The DirectX Developer Runtime for Windows 10 is an optional Windows feature you enable in the operating system. You can also enable it on Windows 10 via the command-line using an admin prompt:

Dism /online /add-capability /capabilityname:Tools.Graphics.DirectX~~~~

D3DX: All versions of D3DX are deprecated including D3DX9, D3DX10, and D3DX11. See Living without D3DX for replacements and recommendations including DirectX Tool Kit, DirectXTex, DirectXMesh, and UVAtlas on GitHub.

FX: The latest version of Effects for Direct3D 11 is available on GitHub and does not require the legacy DirectX SDK or any version of D3DX.

DXUT: The latest version of DXUT for Direct3D 11 is available on GitHub and does not require the legacy DirectX SDK or any version of D3DX.

Tools: Some of the developer tools are in the Windows SDK others are not. See DirectX SDK Tools Catalog for a complete inventory.

Samples: A number of samples from the DirectX SDK (June 2010) release have been updated and posted to GitHub. They do not require the legacy DirectX SDK or any version of D3DX. See DirectX SDK Samples Catalog.

The Windows 10 SDK includes the latest headers and link libraries for DirectX including Direct3D 12.0, Direct3D 11.3, DXGI 1.4, Direct2D/DirectWrite 1.3, and XAudio 2.9.

Both the Windows 8.1 SDK Spring 2015 update and the Windows 10 SDK include Direct3D 11.0/11.1/11.2, DXGI 1.0/1.1/1.2/1.3, DirectXMath 3.07, and Direct2D/DirectWrite 1.0/1.1/1.2. They also include the legacy Direct3D 10.0/10.1, Direct3D9Ex, Direct3D 9 headers, DirectSound8, DirectInput8, and DirectMusic "core" APIs. See DirectX SDKs of a certain age for a full catalog of older DirectX APIs and their locations.

XInput: The Windows 10 SDK includes the Windows.Gaming.Input WinRT API which is supported on Windows 10. Both the Windows 8.1 SDK and Windows 10 SDK include XInput 1.4 which is supported on Windows 8.x and Windows 10. You should use XInput 9.1.0 to support Windows 7. See XINPUT and Windows 8 and DirectX Tool Kit: Now with GamePads.

XAudio: The Windows 10 SDK includes XAudio 2.9 which is supported on Windows 10. The Windows 8.1 SDK and Windows 10 SDK include XAudio 2.8 which is supported on Windows 8.x and Windows 10. You have to use the legacy DirectX SDK and XAudio 2.7 to support Windows 7. See XAudio2 and Windows 8 and Known Issues: XAudio 2.7.

DirectX SDK: If you need to make use of legacy DirectX SDK components such as D3DX9, D3DX10, D3DX11, or XAudio 2.7 with VS 2012, VS 2013 or VS 2015, see MSDN for details on mixing the Windows 8 or Windows 10 SDK correctly with the legacy DirectX SDK. Be sure to The Zombie DirectX SDK as well. If you are targeting Windows XP which makes use of the Windows 7.1A SDK, see Visual Studio 2012 Update 1.

DirectX 12

There is something called the DirectX 12 SDK which was used as a beta vehicle for the development of DirectX 12 through the Early Access Program. Now that the Windows 10 SDK is final, you don't need access to the DirectX 12 SDK at all. The DirectX 12 samples are on GitHub.

D3DX: Note that there is also a header file called d3dx12.h which is an all inline header with some utility code shipped in the GitHub samples. D3DX12 is not in any SDK, there's no DLL, and there's no REDIST for it. DirectX Tool Kit, DirectXTex, and DirectXMesh also support DirectX 12.

Related: Where is the DirectX SDK (2013 Edition)?

See also: Where is DXERR.LIB?, GDF Tools, XDSP.H, SH Math

Comments (12)

  1. Vertex says:

    What if I can't find the "graphics tools" feature on my windows 10 Enterprise? Neither via GUI, nor via Dism cmd. In addition, it is also not listed as already enabled.



  2. G.Kim says:

    Is there any updated version of XINPUT? Xinput 1.4 has wLeftMotorSpeed and wRightMotorSpeed; but LeftTrigger, RightTrigger which included in Windows::Gaming::Input.

    I want write application for win32 with these features but I can't find it anywhere.

    Thanks in advance

  3. You can use many WinRT APIs from Windows desktop apps, including Windows.Gaming.Input on Windows 10. See DirectX Tool Kit's GamePad for an implementation using WRL that works from desktop apps (assuming you initialize WinRT). You'll have to do some runtime detection if you want to try to make a single EXE work prior to Windows 10 using XInput and make use of Windows.Gaming.Input on WIndows 10, but if you are using XInput 1.4 you are already requiring Windows 8.0 or later.

  4. G.Kim says:

    @Walborun That's the exactly what I was looking for! Thank you!

  5. M. Hulth says:

    I have testing farm with Win10 x64 systems with both Win8.1 and Win10 SDKs installed (default settings). I'm running both WHCK 2.0 and 2.1 tests. Most WGF11XXX tests run fine, but the WGF11Tessellation and WGF11Shader5x tests give me the following error:

    SetupD3D:  CreateDevice failed with error 0x887a002d.

    Internet points me to the app not finding the DirectX Debug runtime. I was near certain the WDKs would take care of this, but they're not. I don't have Visual Studio installed on the farm systems btw.

    Am I missing something? Thanks in advance!

  6. I'm not sure if installing the WDK is sufficient to enable the Graphics Tools windows optional feature on Windows 10, but you can also do it directly. See the section above labeled "Developer Runtime"

  7. M. Hulth says:

    That did indeed take care of it. We had been using the tried-and-true method of "trial and error" to cover our bases, but this was the missing piece. Had I read this prior I would've known, but at least now I know where to go. Thanks for keeping us devs up to date on this!

  8. Disgusted says:

    Why won't they stop trying so hard to make us swallow Win10, and release a nice standalone DirectX SDK again compatible with all the current windows platforms AKA 7? Seriously…

  9. The Windows 8.0, Windows 8.1, and Windows 10 SDKs are all compatible with Windows 7. VS 2012, 2013, and 2015 support Windows 7 SP1 for both development and targeting. Direct3D 11.1 is supported on Windows 7 SP1, although with some limitations.

    All of my D3DX replacement projects support Windows 7. I've released a ton of samples all of which work on Windows 7. I've released VS 2013 and VS 2015 templates that support Windows 7.

    Setting up a system for C++ development work for Direct3D 11 on Windows 7 is as easy as installing VS 2012, 2013, or 2015. You can add DirectX Tool Kit using NuGet. It's actually a lot easier than it was with the legacy DirectX SDK.

    Windows 7 is also not 'current'. It was first released in 2009, which at this point is coming up to 7 years ago. There have been three major releases of Windows since, and by the lifecycle policy that has been in place for a long, long time has already left 'mainstream' support.

    As the last person to work on the DirectX SDK, I've felt a personal drive to be a good steward of it's legacy, and I mean that word in the traditional meaning rather than the technical field's over-use of it to mean "thing we did last year". In the Windows 8 era, it would have been a reasonable charge to say that the lack of an updated DirectX SDK was a hindrance to Windows 7 developers, which is why I've done so much of this work on my own recognizance.

    Thanks to the company's more welcoming position on open source, I have excellent channels to continue to support the community while helping to bridge the gap to Microsoft's new platforms. If you aren't interested in Xbox One, Windows Store, or universal Windows apps yet, all this material is still useful to you for Windows 7 development -and- you will be in a much better position to move to the any of these platforms if and when you choose to.

    The standalone DirectX SDK had many virtues, but it also isn't necessary. The main problem is understanding the transition, and the loss of a well-known, well-understood, easily discoverable delivery vehicle for the latest news for Windows game developers targeting Windows 7. That is exactly what most of the past 5 years of blog posts has been about…

  10. Marin says:

    D3DCompile doesn't work and causes crash on other OS's than Win 10. I installed every possible redist, Win 10 Runtime on Win 7 PC and it still caused crash.

  11. @Marin – D3DCompile_46 and D3DComplile_47 both work fine on Windows 7, but there's no "Runtime" that deploys them to Windows 7. You should copy it out of the Windows SDK redistd3d folder and put it side-by-side with your application EXE. See HLSL, FXC, and D3DCompile.

  12. Marin says:

    @Chuck thanks a lot for quick answer, I dropped files to Windows folder and now it works. 🙂

Skip to main content