Windows Server 2012 introduces some significant improvements to RemoteFX™. One feature – RemoteFX vGPU - already present in Windows Server 2008 R2 is the ability to use a physical graphic adapter (GPU) in the Hyper-V host to accelerate the host-side rendering of display content. This guide describes the configuration steps to leverage RemoteFX vGPU in Windows Server 2012.
Table of Contents 1. What is RemoteFX?2. Requirements for RemoteFX vGPU3. Checking the requirements 3.1 SLAT CPU Support3.2 DirectX 11 compatible graphic adapter DirectX Diagnostic Tool (DXDiag.exe)3.3 WDDM 1.2 compatible driver4. Installation and configuration of RemoteFX vGPU5. Frequently Asked Questions 5.1 What are the requirements to use RemoteFX graphics acceleration by using the vGPU?5.2 How can I determine if my system has a SLAT supported processor?5.3 What types of vGPU are supported with RemoteFX?5.4 Can I use multiple types of GPUs?5.5 What versions of Windows are supported inside a virtual machine to use the vGPU?5.6 How can I determine the RemoteFX vGPU is utilized in a RemoteFX/RDP session?5.7 Are there any performance tests I can run to show the benefit of vGPU?5.8 I don’t see a difference between the vGPU and non-vGPU virtual machine?5.9 What performance counters are available to determine RemoteFX performance issues?5.10 I am seeing a blank screen when connecting to a Windows 8 Enterprise virtual machine with vGPU enabled?5.11 What monitor configurations are supported when connecting to a Windows 8 Pro or Windows 7 with Service Pack 1 virtual machine with RemoteFX vGPU enabled?
RemoteFX in Windows Server 2012 is a suite of improvements to the Microsoft Remote Display Protocol (RDP). It optimizes the display experience for remote users, even on constraint networks. Additionally, RemoteFX improves access to peripheral devices attached to the client, e.g. via USB.
The vGPU feature of RemoteFX makes it possible for multiple virtual machines to share a physical graphics adapter. The virtual machines are able to offload rendering of graphic information from the processor to the dedicated graphics adapter. This will decrease the CPU load and improve the scalability for graphic intense workloads that run in the VDI virtual machines.
To off-load graphically intense workloads from the CPU to a physical GPU in Windows Server 2012 the following hardware is required:
Before enabling the Hyper-V role on the server, the following tools can be used to find out whether the server CPU supports SLAT:
System info On an elevated command prompt run the command:
C:\systeminfo.exe
At the very end of the output information this text should appear on a system with SLAT capable CPU:
Coreinfo The free tool can be downloaded from the Sysinternals pages on Technet (http://technet.microsoft.com/en-us/sysinternals/cc835722.aspx). It has to be run before installing Hyper-V on an elevated command prompt.
C:\coreinfo.exe –accepteula –v
If the CPU meets the requirements, both lines are marked with a star symbol (*).
Hardware vendor web page In order to verify whether the GPU is DirectX 11 ready you can use the web page of the manufacturer of the graphic adapter.
Microsoft Windows Server Catalog To leverage RemoteFX vGPU in an enterprise environment it is recommended to use a graphic adapter listed on the Windows Server Catalog. Windows Server 2012 certified GPUs are listed here.
Run this command at an elevated command prompt:
C:\dxdiag.exe
The DirectX Diagnostic Tool will be displayed. Check the line “DirectX Version” for DirectX 11.
Use the DXdiag tool to verify driver for the graphics adapter on the Windows Server 2012 is Windows Device Driver Model (WDDM) 1.2 compatible (NOTE: ensure you are logged on to the physical server, do not use a Remote Desktop connection since it will not display the graphics properties):
Note: RemoteFX vGPU can only be leveraged with Windows 8 and Windows 7 with SP1 Enterprise clients. Virtual machines with Windows Server 2012 acting as Remote Desktop Session Host (session virtualization) cannot use RemoteFX vGPU. An overview of all supported features for the various operating system platforms is provided in the blog article: http://blogs.msdn.com/b/rds/archive/2012/11/26/remotefx-features-for-windows-8-and-windows-server-2012.aspx
Note 2: To use RemoteFX vGPU in an enterprise environment with several virtual machines it is recommended to use a professional graphics adapter that is certified for Windows Server 2012, listed in the Windows Server Catalog. Only these graphics adapters offer the required scalability and specially tested drivers for those scenarios. As illustrated in the screenshots, consumer graphics adapter AMD Radeon HD6870 was used to demonstrate the installation and configuration. This is only recommended for test and demo purposes.
Finally, it is important to use the scenario-based deployment option in Server Manager to setup and configure a Remote Desktop Services infrastructure. Only this option will install the other required roles like RD Licensing, RD Web Access and RD Connection broker to enable end user access to the virtual machines.
Have fun with RemoteFX and the Remote Desktop Services in Windows Server 2012!
To use RemoteFX/vGPU with Hyper-V a SLAT supported processor must be present.
1) The CoreInfo utility from Sysinternals.com can be used to verify the processor is SLAT supported: http://technet.microsoft.com/en-us/sysinternals/cc835722
2) Open the command prompt as an administrator on the server host
3) Run the following commands:
Pushd \\live.sysinternals.com
Coreinfo –accepteula –v
When running Windows Server 2012 with the RemoteFX vGPU, the host must have a DX11.1 (WDDM 1.2) capable graphics card and driver. DX9 / DX 10 only capable GPUs are no longer supported for use with the RemoteFX vGPU on Windows Server 2012.
Note: The above statement applies to both Windows 7 with SP1 virtual machines and Windows 8 virtual machines that leverage the RemoteFX vGPU on Windows Server 2012. See the following blog article for more information including links to list of supported cards from Nvidia and AMD:http://blogs.msdn.com/b/rds/archive/2012/06/13/richvgpu.aspx
No, if more than one GPU is installed, the GPU’s need to be identical. The GPU must have sufficient dedicated memory that is separate from system memory.
Not every version of Windows enables use of the vGPU, even if the vGPU is enabled in Hyper-V for the given virtual machine you are connecting to. Ensure that you are running Enterprise version of Windows client.
You can use one of these options to verify you are running enterprise version:
From a performance point of view you can use the following example to compare the Frame rate between a virtual machine without vGPU enabled in Hyper-V and virtual machine enabled with vGPU:
When you do not notice any difference between a virtual machine with vGPU enabled and a virtual machine without vGPU enabled then confirm the following:
The following performance counters are available for RemoteFX Graphics on Windows 8 / Windows Server 2012:
Note: That Frames-per-Second measured inside a virtual machine may in-itself not be a good measure as there are other factors like bandwidth, server resources which may all play a factor.
Verify the server running Hyper-V is running the same version / build as the version running in the virtual machine. For example if the Windows 8 virtual machine is running build 9200 and the RD Virtualization Host server a prerelease build 8400 then the Hyper-V drivers are not compatible and a black screen will displayed. Ensure the same build is used to resolve the problem. Also check if you are running the enterprise SKU that has support for RemoteFX vGPU (e.g. either Windows 8 Enterprise or Windows 7 Enterprise with SP1).
Maximum monitor resolutions in Windows 8 Enterprise or Windows 7 Enterprise with SP1 virtual machines:
Maximum resolution
Supported maximum monitors per RemoteFX vGPU Enabled virtual machine
Windows 7 Enterprise with SP1 on Windows Server 2008 R2 SP1 Hyper-V or Windows Server 2012
Windows 8 Enterprise on Windows Server 2012 Hyper-V
1024 x 768
4
8
1280 x 1024
1600 x 1200
3
1920 x 1200
2
2560 x 1600
-
Monitor resolutions that can be in landscape and portrait modes:
Resolutions
640 x 480
1280 x 800
2048 x 1536
800 x 600
1600 x 1050
2560 x 1440
1366 x 768
1920 x 1080
1280 x 720
1440 x 900
1280 x 768
1400 x 1050
2048 x 1080
When a Windows Server 2012 Remote Desktop Virtualization Host is added to a domain and the default domain policy is applied, the option to select a physical GPU used for Remote FX (within Hyper-V settings) is unavailable. There is a known issue which has been addressed in Windows Server 2012 R2. For more information on the root cause and how to address on Windows Server 2012, please see KB2878821.
Jeroen van Eesteren [MSFT] edited Revision 30. Comment: Added additional entry for KB 2878821
Jeroen van Eesteren [MSFT] edited Revision 29. Comment: Added reference to KB article 2863663
Yagmoth555 edited Revision 28. Comment: good articles ! linked from windows 2012 portal & added minor tag
Ed Price - MSFT edited Revision 27. Comment: Updated the style to Segoe UI, per the guidelines. Great article!
Jeroen van Eesteren [MSFT] edited Revision 23. Comment: Clarified the RDP 7.1 vs. RDP 8 behavior where RDP 8 update is installed
Ned Gnichtel edited Revision 22. Comment: Changed the statements regarding RDP 8 support with VGPU on Windows 7 SP1. Windows 7 SP1 + RDP 8 update + Windows Server 2012 VGPU does provide full RDP 8 functionality including extended multi-monitor support and UDP (tested, confirmed and production deployed).
Richard Mueller edited Revision 21. Comment: Replaced TOC with [toc]
Richard Mueller edited Revision 20. Comment: Added tags
Jeroen van Eesteren [MSFT] edited Revision 18. Comment: fixing embedded hyperlinks
Jeroen van Eesteren [MSFT] edited Revision 17. Comment: more toc updates