RemoteFX
Microsoft RemoteFX is a Microsoft brand name that covers a set of technologies that enhance visual experience of the Microsoft-developed remote display protocol Remote Desktop Protocol. RemoteFX was first introduced in Windows Server 2008 R2 SP1 and is based on intellectual property that Microsoft acquired and continued to develop since acquiring Calista Technologies. It is a part of the overall Remote Desktop Services workload.
History
Windows Server 2008 R2 SP1
RemoteFX components introduced in Windows Server 2008 R2 SP1 include:- RemoteFX vGPU: the ability to present a virtualized instance of a physical GPU into multiple Windows 7 virtual machines. This provides VMs with access to the physical GPU, enabling hardware-acceleration for rich graphics scenarios such as 3D rendering and game play.
- RemoteFX USB Redirection: generalized support for redirecting USB devices into Windows 7 VMs. This allows peripheral devices connected to thin client terminals to be used within virtual machines.
- RemoteFX Codec : a lossy codec that is capable of preserving a high-fidelity experience for both video and text. The RemoteFX Codec does not require any special hardware, and uses the CPU for encoding.
Windows Server 2012
In Windows Server 2012, the following components were added to RemoteFX.- RemoteFX Adaptive Graphics: The RemoteFX graphics pipeline dynamically adapts to various runtime conditions, such as graphic content types, CPU and network bandwidth availability, and client rendering speed.
- RemoteFX for WAN: a series of changes to the network transport pipeline to support UDP and ensure a fluid experience in both WAN and wireless network configurations.
- RemoteFX Multi-Touch: supports remoting of gestures between the client and host with up to 256 touchpoints
- RemoteFX Media Redirection API: allows Voice over IP applications to natively integrate with RemoteFX, and enables transmission and rendering of audio and video content directly on the client side.
- Choice of GPU: All RemoteFX features can be used with either a software-emulated GPU, which is available by default in all virtual machines and session hosts, or they can benefit from hardware acceleration when a physical video card is placed in the server and the RemoteFX vGPU is enabled.
- RemoteFX vGPU: updated to support DirectX 11
- RemoteFX USB Redirection: updated to support all desktop remoting scenarios vGPU-enabled virtual machines, traditional VMs, desktop sessions and physical desktop hosts
- RemoteFX Codec : updated to include progressive rendering, which is more effective for rendering content over the WAN by sending images at full resolution only if bandwidth permits.
Windows Server 2016, Windows 10 Enterprise
In Windows Server 2016, the following components were added to RemoteFX.- OpenGL 4.4 and OpenCL 1.1 API support in a virtual machine with the RemoteFX adapter
- More dedicated VRAM for the RemoteFX adapter
- Various performance improvements in transport and API implementations
RemoteFX vGPU Deprecation
Beginning in July 2020 RemoteFX vGPU was deprecated in all versions of Windows because of security vulnerabilities. It was scheduled to be completely removed in February 2021.Requirements
In Windows Server 2008 R2, the RemoteFX Codec could be leveraged for both session hosting and VDI scenarios. The RemoteFX vGPU and RemoteFX USB Redirection features could only be used in VDI scenarios.Windows 10 version 1511 brings RemoteFX to client Hyper-V, removing dependency on Remote Desktop Services role.
Generation 2 VMs on Windows Server 2012 R2 do not support RemoteFX. Windows Server 2016 added such support.
In Windows Server 2012, all features of RemoteFX can be used with or without a physical GPU present in the server. When no GPU is present in the server, a synthetic software-emulated GPU is used to render content. When a GPU is present in the server, it can be used to hardware accelerate the graphics via the RemoteFX vGPU feature.
RemoteFX vGPU Requirements
The RemoteFX vGPU has the following requirements:- Hyper-V must be installed on the server. The VMs must be created and run using Hyper-V.
- The server's CPU must support Second Level Address Translation, and have it enabled.
- For Windows Server 2008 R2 SP1, at least one DirectX 9.0c and 10.0 capable graphics card must be installed on the server.
- For Windows Server 2012, at least one DirectX 11.0 capable graphics card with a WDDM 1.2 driver must be installed on the server.
- The host machine must not be a Domain Controller. For single server configuration, Microsoft supports running Domain Controller as a Hyper-V virtual machine.
Although any GPU meeting the above requirements will be capable of using RemoteFX, the Windows Server Catalog carries an additional qualification to further define the requirements for server-qualified GPUs. These specifications define GPUs configuration requirements and provide VM performance targets.
Graphics cards that meet these are typically professional workstation products such as ATI/AMD's FirePro, v5800, v5900, v7800, v7900, v8800, v9800, and Nvidia's Quadro 2000, 3800, 4000, 4800, 5000, 5800, 6000, Quadro FX 2800M and 880M, QuadroPlex 7000 and Tesla M2070Q.
Servers running the RemoteFX vGPU need to accommodate such graphics cards with either larger power supplies and more PCIe slots or alternatively, connect existing servers to an external PCIe expansion chassis.