Possible issue deploying XNA Game Studio 4.0 CTP games to the Windows Phone Emulator
Since the release of the Windows Phone Developer Tools CTP and the XNA Game Studio 4.0 CTP yesterday, we’ve heard from several people who have had problems deploying XNA Game Studio 4.0 games to the Windows Phone Emulator. This issue is described in the Windows Phone Developer Tools CTP release notes, but I wanted to post a summary here as well to hopefully make it easier to find in search engines.
Instead of being able to deploy and run their XNA Game Studio 4.0 Windows Phone game successfully in the emulator, some people see the following in the Visual Studio error window:
Deploy failed with the following error: The current display adapter does not meet the emulator requirements to run XNA Framework applications.
Behind the scenes, XNA Game Studio 4.0 is checking for a DirectX 10 or later graphics card because this functionality is required to be able to render XNA Framework graphics correctly in the emulator.
Using the DirectX Caps Viewer to check the capabilities for your graphics card
If you see the above error message when attempting to deploy an XNA Game Studio 4.0 Windows Phone game to the emulator, you can use the DirectX Caps Viewer Tool (available for download via the DirectX SDK) to determine if a graphics card supports DirectX 10 or later. To determine if a graphics card supports DirectX 10 or later:
- In the DirectX Caps Viewer, expand the DXGI 1.1 Devices folder, and then expand the next level folder for the video card. Under this folder, you will see folders for Direct3D 10, Direct3D 10.1, and the like.
- Expand the Direct3D 10.1 folder and look at the Feature Level entry. In this folder, you will see an entry for D3D10_FEATURE_LEVEL_10_0 or D3D10_FEATURE_LEVEL_10_1 if the graphics card supports DirectX 10 or later. If the Feature Level indicates a feature level of 9_n or less, it cannot support the Direct3D of the Windows Phone Emulator.
Searching for updated drivers on your graphics card manufacturer’s web site
If you see this error message and your graphics card is DirectX 10-capable as reported by the DirectX Caps Viewer Tool, you should check on the web site for the manufacturer of your graphics card to see if a newer driver is available. In many cases, we’ve seen newer drivers available on the graphics card manufacturer’s web site than are available on Windows Update or the PC manufacturer’s web site.
Additional updates that need to be installed if you are running Windows Vista
If you’re attempting to use the emulator on Windows Vista, you must first install Windows Vista SP2 and the following 4 updates that are a part of KB 971644. Here are the links for the x86 versions of these 4 updates:
- Update for Windows Vista (KB971512)
- Update for Windows Vista (KB971513)
- Update for Windows Vista (KB971514)
- Update for Windows Vista (KB960362)
Here are the links for the x64 versions of these 4 updates:
- Update for Windows Vista (KB971512) x64
- Update for Windows Vista (KB971513) x64
- Update for Windows Vista (KB971514) x64
- Update for Windows Vista (KB960362) x64
How to try to bypass the capabilities check as a last resort
It is possible to bypass this capabilities check in XNA Game Studio by setting the following registry value:
XNAEnableGPU = 1 (REG_DWORD)
If you are running a 64-bit OS, you must set the registry value at the following location:
XNAEnableGPU = 1 (REG_DWORD)
Important note – if you set the above registry value, the XNA Game Studio 4.0 Windows Phone Game project will most likely be able to deploy but will only see a blank black screen in the emulator if the required graphics card capabilities are not available. We put in this registry override as a last resort in case we ran into issues with the capabilities check reporting false negatives, but so far we haven’t seen any cases where the deployment was blocked but then it correctly displayed the game after setting the override registry value.
<update date="3/18/2010"> Added links to x64 versions of the 4 updates that are a part of KB971644. </update>