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.
For Windows Server 2012 R2 changes please see the following RDS blog post:
RemoteFX vGPU Improvements in Windows Server 2012 R2
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 driver 4. 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:
On an elevated command prompt run the command:
At the very end of the output information this text should appear on a system with SLAT capable CPU:
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
Run this command at an elevated command prompt:
The DirectX Diagnostic Tool will be displayed. Check the line “DirectX Version” for DirectX 11.
In addition to that, please verify the Feature Level information at the "Display" tab of DXdiag. The
GPU Feature Level has to be at least 11.0 for RemoteFX vGPU in Windows Server 2012.
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:
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.
The CoreInfo utility from Sysinternals.com can be used to verify the processor is SLAT supported:
Open the command prompt as an administrator on the server host
Run the following commands:
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
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:
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
1280 x 1024
1600 x 1200
1920 x 1200
2560 x 1600
Monitor resolutions that can be in landscape and portrait modes:
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
Great article. As far as i can tell, the OpenGL version supported in RemoteFX is v1.1? Are there any plans to broaden the OpenGL support in the RemoteFX protocol? RemoteFX fits most of my companys needs, with the exception of a Bundled OpenGL viewer that requires a higher version of OpenGL to function properly.
Is there any info on using a GPU to increase performance/user density in a physical Server 2012 Remote Desktop Session Host? I know it can use software rendering, but offloading the on-the-fly video transcoding (from x to H.264) to a GPU seems like a good idea.
Great article, but there were a few incorrect statements: the support statement for full RDP 8 when coupled with VGPU on Windows 7 SP1 is incorrect (it is also incorrectly worded in the updated GPO descriptions also). Windows 7 SP1 will fall back to RDP 7.1 when running on Server 2008 R2 with VGPU enabled. However, on Windows Server 2012 Hyper-V + VGPU, Windows 7 SP1 RDP 8 is functional including UDP support and extended multi-monitor support. I have deployed this configuration with 4x monitor enabled RemoteFX VGPU (1920x1200) VMs and have confirmed UDP support, on demand device redirection and accelerated 3D, etc. I have updated the article accordingly.
Is description of "Note: Remote Desktop Virtualization Host role is not supported on Windows Server 2012 Core..." right? I think Remote Desktop Virtualization Host role (RDS-Virtualization,vmHostAgent) is supported on Server Core and Microsoft Hyper-V Server 2012. What's new in Microsoft Hyper-V Server 2012 (technet.microsoft.com/.../hh833682.aspx) explains that "Improved support for RemoteFX".
@Ned Gnichtel: Thank you for catching the Windows 7 SP1 resolution support in the table! Regarding RDP 8 support on Windows 7 Enterprise with SP1: When the RDP 8 update is installed and the RDP 8 GPO is enabled, RDP 8 is only available in non-LAN/RemoteFX vGPU sessions. RDP 8 is not supported in RemoteFX vGPU / LAN RDP sessions on Windows 7 SP1 and will use RDP 7.1. With RDP 7.1: USB Redirection and RemoteFX vGPU 3D Graphics Acceleration are supported.
“@Yamauchi Kazuo: The Remote Desktop Virtualization Host role with RemoteFX vGPU 3D Graphics Acceleration is supported on Window Server Core Installations, the article has been updated accordingly, thanks!“
One inaccuracy I would like to point out regarding how to tell if a video card (GPU) is capable of running RemoteFX.
In "3.2 DirectX 11 compatible graphic adapter", you highlight the DirectX version. This DX Version is the system installed version. Since DX is built into the OS, you won't have anything other than DX 11 on Server 2012, or some possible future variant of that. This value is not indicative of the video card capabilities.
In "3.3 WDDM 1.2 compatible driver", you highlight the need for a WDDM 1.2 driver. While this is required for RemoteFX, it is not the key component to determine if your GPU is capable of running RemoteFX. What you want to look at as well, is the value right above it, the "Feature levels". The GPU must support at least 11.0. If you have a WDDM 1.2 driver, but your GPU only supports a feature level up to 10.x, you will not be able to run RemoteFX.
I unfortunately have spent more time than I should have trying to figure out this very issue, and I have come across many how-to's that make the very same mistakes regarding how to identify if the GPU is capable of running RemoteFX.
Hopefully this helps someone else who has run into the very same issues.
I'm evaluating Windows Multipoint Server 2012 Premium. Based on the requirements above, the virtualized desktop must be enterprise level. I'd like to confirm, given Multipoint spins up its own session, whether this still applies?
Nice article! Any luck to have an updated version of article about RemoteFX on Windows Server 2012 R2? I have been trying to play around with RemoteFX in R2, but couldn't get it working on a Gen II VM - only Gen I VM can add the 3D adapter. If I use PowerShell commands, when trying to add 3D adapter to Gen II VM it would complain about "S3 adapter not found" etc. I am just wondering if it is related to my configuration, or it is simply unsupported on Gen II VMs (which would be quite disappointing).