RemoteFX in the Home: Wait, what exactly is RemoteFX?

[As an experiment, I will be providing an audio narration of each post. Audio quality may suck; bear with me.] [audio:|titles=RemoteFX in the Home: Part One]

[This is part one of the “RemoteFX in the Home” series]

Back in February, Microsoft released Service Pack 1 for both Windows 7 and Windows Server 2008 R2. While light on new features for Windows 7, Service Pack 1 introduced two new major virtualization features for the Server side of things. One of those features was RemoteFX. (The other was Dynamic Memory.) But what is RemoteFX?

RemoteFX is simply a name affixed to a set of technologies, originally owned by Calista Technologies, with one main goal in mind: Improve the end-user experience for virtual desktop users – users that use a Windows desktop over RDP. By improve, we’re talking about bringing users closer to a “real” local experience – full-motion video, fluid Flash and Silverlight animation, and accelerated 3D graphics.

RemoteFX enhances both Windows desktop virtualization paradigms – session virtualization and a Hyper-V based Virtual Desktop Infrastructure (VDI). The former generally refers to the more mature Terminal Services-like set up, in which users remote into a server and have a space for doing what they do. The latter replaces the spaces with full blown, virtualized instances of an operating system. While RemoteFX brings some improvements to the classical session-based configuration, I won’t be covering them at all.

So how does this all work? Well, there are a few moving pieces:

  • A WDDM-capable virtual GPU (vGPU) driver
  • Hyper-V management and platform integration components
  • Virtual Graphics Manager processes

The vGPU driver lives within the guest virtual machine. This driver implements all the necessary functions to behave like a WDDM-capable graphics device driver. It receives calls to various graphic APIs and, using the Hyper-V components, ferries them to the host virtual graphics manager for rendering and encoding. (This occurs on the host’s more powerful GPU.) After completion, the results are transmitted back to the guest and then to the client.

Over the next few posts, I’ll be focusing on the implementation and use of RemoteFX, not in supported enterprise scenarios but in the home, where I believe this technology can break new ground and solve consumer problems. If you’d like to prime the series with advance questions, feel free to leave them below.