Remote Desktop Services article list index.
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
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:
When configuring Windows 7 with Sp1 with RemoteFX vGPU and Windows Server 2012 RDweb, please see the following hotfix article KB 2863663: http://support.microsoft.com/kb/2863663/en-us
Generation 2 guest Virtual Machines are not supported in combination with RemoteFX vGPU. Select Generation 1 VM instead when configuring the Virtual Machine.
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:
C:\systeminfo.exe
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 (*).
In order to verify whether the GPU is DirectX 11 ready you can use the web page of the manufacturer of the graphic adapter.
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.
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):
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:
b. Confirm the Physical GPU is present and the “Use this GPU with RemoteFX” is enabled.
c. Navigate to the Windows 8 virtual machine. Then navigate to the properties of the virtual machine and confirm the “RemoteFX 3D Video Adapter” is in the hardware list. If it is not in the list, use the “Add Hardware” option to add the “RemoteFX 3D Video Adapter” to the virtual machine.
“Applications and Services Logs” > “RemoteDesktopServices-RdpCoreTS” > “Operational”
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:
http://ie.microsoft.com/testdrive/Performance/FishBowl/Default.html
http://ie.microsoft.com/testdrive/Performance/ParticleAcceleration/
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:
a) Average Encoding Time
b) Frames Skipped/Second – Insufficient Client Resources
a) Insufficient Network Resources b) Insufficient Server resources
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 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. Experience guide for Enabling OpenGL Support for vGPU in Server 2016
Great article.
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).