Microsoft Makes It Easier to Bring DirectX 12 Games to Windows 7

Microsoft Makes It Easier to Bring DirectX 12 Games to Windows 7

When Microsoft launched Windows 10, it made its stance on DirectX 12 clear: Windows 10 would be the only OS that supported the company’s latest API, period. For years, the company stuck to this stance. Then, earlier this year, Microsoft announced that one game — World of Warcraft — would be allowed to take advantage of the DX12 API while running Windows 7.

The reason for this allowance? Probably China. World of Warcraft has always had a huge Chinese following, and Blizzard’s decision to add DX12 support to WoW was a significant step for both the developer and the API. Now, Microsoft has announced that it’s expanding this program. In a short blog post pointing an array of API documents, Microsoft notes:

We have received warm welcome from the gaming community, and we continued to work with several game studios to further evaluate this work. To better support game developers at larger scales, we are publishing the following resources to allow game developers to run their DirectX 12 games on Windows 7.

The development guidance document for how to move DX12 to Windows 7 actually contains some useful information on how difficult it is to get games running under the older OS and what the differences are between the two. Microsoft states:

We only ported the D3D12 runtime to Windows 7. Therefore, the difference of Graphics Kernel found on Windows 7 still requires some game code changes, mainly around the presentation code path, use of monitored fences, and memory residency management (all of which will be detailed below). Early adopters reported from a few days to two weeks of work to have their D3D12 games up and running on Windows 7, though the actual engineering work required for your game may vary.

There are technical differences between DX12 on Windows 7 and DX12 on Windows 10. DirectML (Direct Machine Learning) is not supported under Windows 7, but all other features implemented in the October 2018 Windows 10 update are supported. There are differences in terms of API usage (D3D12 on Windows 7 uses different Present APIs), and some fence usage patterns are also unsupported.

There are, however, some limits to support. Only 64-bit Windows 7 with SP1 installed is supported. There’s no PIX or D3D12 debug layer on Windows 7, no shared surfaces or cross-API interop, no SLI/LDA support, no D3D12 video, and no WARP support. According to Microsoft, “HDR support is orthogonal to D3D12 and requires DXGI/Kernel/DWM functionalities on Windows 10 but not on Windows 7.” This seems to imply that HDR content can work in Windows 7, but it may be on the developer to implement it properly.

Microsoft has published additional resources on the topic, including a NuGet package and a D3D12 code sample that runs on Windows 7 and 10 with the same binary.

Why Make DX12 More Accessible?

This is honestly a little surprising to see. Windows 7 is supposed to be headed for firm retirement in a matter of months. The implication here is that Microsoft is taking this step to cater to gamers that are still using Windows 7, but the Steam Hardware Survey suggests that’s a distinct minority of gamers. Windows 10 has a 71.57 percent market share according to the SHS, while Windows 7 64-bit is pegged at 20.4 percent. What’s interesting here is that the SHS actually tilts much more towards Windows 10 than a generic OS survey.

Microsoft Makes It Easier to Bring DirectX 12 Games to Windows 7

It’s not clear at all how Microsoft is going to deal with that problem as it relates to overall support, but it could be that this is Microsoft’s way of providing a certain degree of backward-compatibility without being willing to do anything equivalent as far as continuing to provide security features. Microsoft wants its customer base — all of it — to be Windows 10. It’s surprising to see the company extending DX12 backward, but we’d be stunned if they granted Windows 7 a stay of reprieve and kept publishing patches for it.

MS could also be hoping to encourage devs to adopt DX12 more widely. Three years after debut, neither DX12 nor Vulkan has done much to revolutionize APIs or gaming. Developers do use the APIs, but we’ve seen comparatively little use of them to pull off anything unique. The need to support older hardware and a wide range of users, plus the fact that these APIs require developers to be more familiar with the underlying hardware, seems to be a drag on their overall usage.

Continue reading

What Does It Mean for the PC Market If Apple Makes the Fastest CPU?
What Does It Mean for the PC Market If Apple Makes the Fastest CPU?

Apple's M1 SoC could have a profound impact on the PC market. After 25 years, x86 may no longer be the highest-performing CPU architecture you can practically buy.

DOSBox Pure Launches to Make Classic Games Easier to Play
DOSBox Pure Launches to Make Classic Games Easier to Play

There are a lot of amazing games these days, but they sometimes take years to develop, and they might still launch in a sorry state at release — looking at you, Cyberpunk 2077. If you want to return to a simpler time, the games of yesteryear are now easier to play thanks to the new DOXBox Pure.

Apple Warns Customers Against Using the iPhone 12 Near a Pacemaker
Apple Warns Customers Against Using the iPhone 12 Near a Pacemaker

If you own an Apple iPhone 12 and have a pacemaker or other implanted medical device, you should be careful with how you hold it — but these restrictions apply to more than just the iPhone 12.

Semiconductor Shortage Could Cost Automakers $61B in Lost Sales
Semiconductor Shortage Could Cost Automakers $61B in Lost Sales

Discussions between the auto industry and its chip manufacturing partners also sound as if they could be going better.