cancel
Showing results for 
Search instead for 
Did you mean: 

General Discussions

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.

Chinese-Desktop-Market-Share

StatCounter data puts Windows 10 at 58.63 percent of the market as of July, compared with 31.22 percent of Windows 10. This suggests that gamers tend to update their hardware more quickly than the mass market, which makes sense. But from what we’ve read, the Windows 7 gamers may be concentrated in China, where it remains the most popular OS. 49.46 percent of Chinese gamers are using Windows 7, compared with just 41.13 percent of PC gamingSEEAMAZON_ET_135 See Amazon ET commerce occurring under Windows 10. Even if we assume Chinese gamers are more likely to be using Windows 10 — and it’s not clear they are — there’s still a much larger share of users in that nation.

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.

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

0 Likes
3 Replies

The only Windows 7 holdouts are probably using a hacked copy of Windows. World+dog all too advantage of the free Windows 10 offer. Version 1903 clean is comparatively robust, MSFT has done lots to make windows more tolerant of new platforms. Mostly this is so that it can be run off a USB stick as some IT people need that capability.

0 Likes

I would look at it this way: Microsoft wants to kill DirectX 9 and 11. It's nearing 2020 and APIs from 2002 and 2009 are still widely used, especially in free-to-play and MMO games which may also be using game engines from the same period (Guild Wars 2, for example, uses a modified engine from 2005 hence its massive CPU dependence and abysmal performance) since they want to support every OS, not just Windows 10, but by making DirectX 12 available on Windows 7, they give developers a really good reason to NOT use 9 or 11 while at the same time expanding the potential market for new games and console ports. Windows 7 isn't going to go away anytime soon globally despite being EoL'd the same way Windows XP hung on for years, especially in China and likely Russia too, and realistically on a gaming computer where you won't transfer any personal data, using an EoL'd OS is about as noncritical as using a cell phone which has been EoL'd, and the last thing game developers want is to lose access to millions of potential buyers.

0 Likes

Most game developers I work with all agree Windows 10 is the OS looking forward. System requirements make that old Source engine for games look fine and Valve has make it much easier to use.

The Unreal engine is also popular as it can target consoles as well as the PC.

I also dispute the Windows 8 users as the 8.1 update was compulsory.

0 Likes