Games for Windows and the DirectX SDK blog

Technical tips, tricks, and news about game development for Microsoft platforms including desktop, Xbox, and UWP


Project maintained by walbourn Hosted on GitHub Pages — Theme by mattgraham
Home | Posts by Tag | Posts by Month

DirectX SDKs of a certain age

dxsdk

Originally posted to Chuck Walbourn's Blog on MSDN,

Recently many older releases of the DirectX SDK and REDIST packages expired and were removed from the Microsoft Downloads Center site. The DirectX SDK and REDIST packages for all 2008, 2009, and 2010 releases are currently available, but all 2007 and prior releases are no longer hosted by Microsoft.

Here is a quick summary of DirectX technologies and recommended solutions. Be sure to read Where is the DirectX SDK?.

Technology Resolution
Direct3D 11.3/11.4 Direct3D 12

The Windows 10 Anniversary Update SDK (14393) includes Direct3D 11.3, Direct3D 11.4, Direct3D 12.0, Direct2D 1.3, DXGI 1.4, and DXGI 1.5.

The DirectX 12/11.3/11.4 Runtime is included with Windows 10.

Direct3D 11.2

The Windows SDK 8.1 includes Direct3D 11.2, Direct2D 1.2, and DXGI 1.3.

The DirectX 11.2 Runtime is included with Windows 8.1 / Windows Server 2012 R2.

Direct3D 11.1

The Windows SDK 8.0 includes Direct3D 11.1, updated Direct2D/DirectWrite, updated WARP, and DXGI 1.2.

The DirectX 11.1 Runtime is included with Windows 8 / Windows Server 2012. Partial support is available down-level on Windows 7 / Windows Server 2008 R2 Service Pack 1 via KB 2670838.

Direct3D 11.0

The Windows SDK 7.0 includes Direct3D 11.0, Direct2D, DirectWrite, WARP, and DXGI 1.1.

The DirectX 11.0 Runtime is included with Windows 7 / Windows Server 2008 R2. Support is available down-level on Windows Vista / Windows Server 2008 Service Pack 2 via KB 971644.

Direct3D 10.x

The Windows SDK 6.0 or later includes Direct3D 10.x and DXGI 1.0.

The DirectX 10.0 Runtime is included with Windows Vista / Windows Server 2008. The DirectX 10.1 Runtime is included with Windows Vista / Windows Server 2008 Service Pack 1.

Windows SDK 7.0 or later includes updates for expanded Direct3D 10.1 feature levels (aka "10level9") included with the DirectX 11.0 Runtime.

Direct3D 9

Windows SDK 6.0 or later includes Direct3D 9 and Direct3D9Ex.

Direct3D 9.0c is included with Windows XP Service Pack 2, Windows Server 2003 Service Pack 1, and Windows XP x64 Edition.

Direct3D9Ex is supported by Windows Vista / Windows Server 2008.

Direct3D 8 and prior

The August 2007 DirectX SDK was the last version to include Direct3D 8 (d3d8.h d3d8caps.h d3d8types.h) and Direct3D 7 and prior (d3d.h d3dcaps.h d3dvec.inl d3dtypes.h).

Direct3D 9 or later should be used for all applications, and we'd recommend using Direct3D 11.

D3DX

The June 2010 DirectX SDK contains the last release of D3DX9, D3DX10, and D3DX11.

DirectXMath, DirectXTex, DirectXMesh, and D3DCompile replace the majority of the functionality in these utility libraries. DirectXTK provides further alternatives for Direct3D 11 applications. For Direct3D 9 applications, the DDSWithoutD3DX sample provides a way to create textures from .DDS files.

The Effects 11 library is available as shared-source online.

See Living without D3DX for a master list of D3DX replacements.

DXERR9.LIB

The August 2007 DirectX SDK was the last version to include the dxerr9.lib. It has been replaced by dxerr.lib in June 2010 DirectX SDK which supports all the same error codes plus some new ones. Changing references to dxerr.lib or making a copy as dxerr9.lib should resolve link issues for this library.

Note for Windows 8.x SDK users, see this post for a replacement solution.

XACT

The June 2010 DirectX SDK contains the last release of the Xbox Audio Cross Platform Tool (XACT) for Windows.

For games, we recommend using XAudio2 or a 3rd party middleware solution instead.

DirectDraw

While February 2010 DirectX SDK was the last to contain ddraw.h and ddraw.lib, ddraw.h is still available in the Windows SDK 6.0 or later. ddraw.lib isn't needed.

See Whither DirectDraw for details.

DirectInput

The August 2007 DirectX SDK was the last version to include DirectInput7 and prior (dinput.lib). DirectInput8 (dinput.h dinput8.lib) is available in the Windows SDK 7.0 or later and is supported for both x86 and x64 native Win32 desktop applications.

For gamepads, we'd recommend supporting XINPUT. XINPUT 9.1.0 headers and libraries are available in the Windows SDK 6.0 or later. See this post for additional information. For mouse and keyboard input, you should use standard Windows messages rather than DirectInput as well.

DirectSound

DirectSound8 (dsconf.h dsound.h dsound.lib) is available in the Windows SDK 7.0 or later and is supported for both x86 and x64 native Win32 desktop applications.

For games, we recommend using XAudio2 instead. Audio engines with their own mixing engine and source rate conversion (SRC) support should use WASAPI on Windows Vista or later.

DirectMusic

The August 2007 DirectX SDK was the last version to include DirectMusic, and the DirectMusic Producer tool download is no longer hosted by Microsoft. Use of DirectMusic for games is not recommended.

"Core" DirectMusic headers (dls1.h dls2.h dmdls.h dmerror.h dmksctrl.h dmusbuff.h dmusicc.h dmusics.h) for use by professional audio developers are available in the Windows SDK 7.1 or later, and supported for both x86 and x64 native Win32 desktop applications by Windows 7 and Windows 8.

DirectShow

The February 2005 DirectX SDK was the last to include DirectShow headers, but these are available in the Windows SDK.

Media Foundation available on Windows Vista and later versions of Windows is recommended over DirectShow for video playback. Be sure to read this post for some additional considerations.

DirectPlay

The August 2007 DirectX SDK was the last version to include DirectPlay (dpaddr.h dplay.h dplobby.h dplay8.h dplobby8.h dpnathlp.h dplayx.lib). The DirectPlay NAT helper is not supported on Windows Vista or newer versions of Windows.

For games we recommend using TCP/IP via the WinSock API for network communication. To replace the 'lobby' functionality, you can utilize any number of the many game services available today from Microsoft and other vendors.

DirectAnimation

The August 2007 DirectX SDK was the last version to include dxtrans.h and dxtrans.lib.

This technology was used at one point by Internet Explorer, but this is no longer in use.

Managed DirectX 1.1

The August 2006 DirectX SDK was the last version to include the samples and documentation for Managed DirectX 1.1.

See DirectX and .NET for more information.

Direct3D Retained Mode

The August 2007 DirectX SDK was the last version to include d3drm.h d3drmdef.h d3drmobj.h d3drmwin.h

.

This component is not supported on Windows Vista or newer versions of Windows.

DirectPlay Voice

The August 2007 DirectX SDK was the last version to include dvoice.h.

This component is not supported on Windows Vista or newer versions of Windows.

DirectX 7/8 Visual Basic 6.0

The August 2007 DirectX SDK was the last version to include dx7todx8.h.

This component is not supported on Windows Vista or newer versions of Windows.

DirectSetup: For the REDIST package, the current web redist and standalone package will install all older and current verisons of the various optional side-by-side DLLs on Windows XP Service Pack 2 or later. See Not So Direct Setup for more details and notes about older releases.

Dark GDK: For users of the Dark GDK that was promoted for Visual Studio 2008 Express, the retirement of the DirectX SDK (August 2007) poses some challenges. There are some community work-arounds for disabling the use of DirectPlay and resolving the link problems with DXERR9.LIB (such as this post), and these are preferable to continuing to use a copy of the DirectX SDK (August 2007).

DirectX SDK (August 2007): If you obtain a copy of this package from an unofficial mirror, be very careful as installing executables that require administrator privileges from untrusted websites carries a potential risk of adding your machine to a botnet and getting infected by other malware. Check that the EXE is signed with a valid Microsoft Digital Signature before running it. These unofficial mirrors are not supported or sponsored by Microsoft.

VS 2005: Windows 7.1 SDK and DirectX SDK (February 2005) were the last releases to support Visual Studio 2005.

VS 2008: Windows 7.1 SDK and DirectX SDK (June 2010) were the last releases to support Visual Studio 2008.

VS 2010: Visual Studio 2010 comes with the Windows 7.0 SDK included. You can make use of the Windows 7.1 SDK with VS 2010 by using a Platform Toolset setting. You can use the Windows 8.0 or 8.1 SDK by creating a property sheet for your project.

VS 2012: Visual Studio 2012 comes with the Windows 8.0 SDK included. Mixing the Windows 8.x SDK with the legacy DirectX SDK requires some specific build settings.

VS 2012 Update 1: Support for Windows XP the “v110_xp” Platform Toolset makes use of a Windows SDK 7.1A which is basically the same as 7.1.

VS 2013: Visual Studio 2013 comes with the Windows 8.1 SDK included.

Related: A Brief History of Windows SDKs