You can connect from a full, rich client or a basic, thin client; the experience and
graphical fidelity will be the same because all of the graphical processing can be done
on the server side. The only requirement is that the end client must support RDP 10
for the best experience with Windows Server 2016.
Once a client VM is RemoteFX enabled and is connected to a RemoteFX-capable
client, it will appear as if the VM actually has a GPU and an amount of graphical
memory based on the RemoteFX configuration for the VM. Running DXDiag on the
client will show the presence of a WDDM graphics driver and the Microsoft
RemoteFX Graphics Device along with support for DirectDraw, Direct3D, and AGP
Texture acceleration, as shown in Figure 11.13. The version of DirectX 3D supported is
11.1 for Windows Server 2012 R2. Prior to Windows Server 2016, there was OpenGL
support in RemoteFX. However, the version of OpenGL supported was very old and
was essentially limited to the OpenGL provided out-of-the-box in Windows, version
1.1. This OpenGL did not leverage the GPU but rather the CPU only, making its usage
very restricted. Windows Server 2016 changes this and introduces support for Open
GL 4.4 and Open CL 1.1, which leverage the GPU in addition to supporting this in
generation 2 virtual machines, whereas previously RemoteFX worked in only
generation 1 virtual machines. Only Windows Server 2016 and Windows 10 guests can
leverage the OpenGL and OpenCL features of RemoteFX. Windows 7 and Windows
8.1 guests can still leverage the DirectX capabilities.
Figure 11.13 A RemoteFX vGPU-enabled virtual machine
Because the GPU is virtualized, you don’t need a discrete GPU for every VM that will
be RemoteFX enabled. Just as with CPU virtualization that enables a single logical
CPU (such as a core) to be mapped to many virtual CPUs, as the GPU resource is