Enterprise Mobility and Security Blog


Over the past year we have been busy working on several requested features and capabilities for RemoteFX vGPU. During this time, we have been talking to several customers and partners like you to improve the features and capabilities for graphics virtualization in the next version of Windows Server. Today, I am excited to share with you key improvements to RemoteFX vGPU.

Investing in Engineering and Designer Applications


The previous RemoteFX graphics implementation was optimized for a better user experience when using Windows features (e.g. Aero) and ‘Knowledge Worker’ application workloads (Office, line of business applications, and web browsing). Delivering a rich user experience is very important for desktop virtualization deployments especially when using graphic intensive applications such as Adobe Photoshop in the video above.

With the release of Windows Server Technical Preview, we are excited to announce capabilities that improve the experience for end users in a Windows VDI environment for ‘Engineering/Designer’ application workloads that require OpenGL API support and all graphics applications (DX and OpenGL) that require higher video memory.

RemoteFX Improvements in Server vNext

The RemoteFX vGPU enables hardware acceleration in a Windows virtual machine which contributes to a superior application remoting experience.

The requirements for RemoteFX vGPU are:

  • Host: Windows Server Next
  • Guest: Windows 10 Enterprise OR a Windows Server Next
  • GPU: A RemoteFX capable GPU on the host

I will go into detail on three specific improvements we are making with the next release:

  1. OpenGL 4.4 and OpenCL 1.1 API support in a virtual machine with the RemoteFX adapter
  2. More dedicated VRAM for the RemoteFX adapter
  3. Various performance improvements in transport and API implementations

1. OpenGL 4.4 and OpenCL 1.1 API Support

Prior to the Windows Server Technical Preview, running a virtual machine on Hyper-V limited you to OpenGL 1.1 with CPU acceleration and no support for OpenCL regardless of the presence of a capable GPU. This was a limiting factor for delivering a virtual desktop for users with applications such as Adobe Photoshop, Maya, Blender and Houdini which require these APIs. With a capable GPU on a Hyper-V host, RemoteFX vGPU now delivers support for OpenGL up to version 4.4 and OpenCL 1.1 in a Windows virtual machine.

Some OpenGL applications such as Adobe Photoshop include features that use OpenCL for compute/GPGPU tasks. These applications will greatly benefit by the OpenCL capabilities now supported in RemoteFX. OpenCL is of course also available for GPGPU tasks.

2. Configurable, Larger Dedicated Video Memory

In Windows Server 2012 R2, the RemoteFX video adapter has a limitation of 256MB for the maximum amount of dedicated VRAM it exposed. The amount of dedicated VRAM is also tied to the number of monitors and resolution. For the next version of Windows Server we have decoupled this and allowed increasing dedicated VRAM without assigning a specific resolution or number of monitors.

In addition, the 256MB of dedicated VRAM reported by the RemoteFX adapter resulted in some applications limiting features or disabling hardware acceleration. This was due to insufficient dedicated video memory. For instance, Adobe Photoshop requires a minimum of 512MB to enable hardware acceleration – this feature meets the VRAM requirement for these applications.

The RemoteFX adapter now provides two capabilities in regard to VRAM:

  1. A larger dedicated VRAM amount (currently up to 1GB) – A VM can now be configured to obtain up to 1GB of dedicated video memory. Depending on the amount of system memory assigned to the VM, this can provide up to a total of 2GB of VRAM (1GB dedicated and 1GB shared)
  2. Configurable dedicated VRAM – Previously, VRAM was set for a VM dynamically based on the number of monitors and resolution configured for a VM, this association has been removed and now dedicated VRAM can be configured independent of a VM’s number of monitors or resolution. This can be configured using a PowerShell cmdlets in the technical preview.

Note: 32-Bit guests virtual machines prior to Windows 10 will not be able to use more than 512MB of dedicated VRAM and will not boot if set to 1GB.

These settings can be configured using PowerShell. The syntax and examples are below.


Set-VMRemoteFx3dVideoAdapter [-VMName] <string[]> [[-MonitorCount] <byte>] [[-MaximumResolution] <string> {1024×768 | 1280×1024 | 1600×1200 | 1920×1200 | 2560×1600}] [[-VRAMSizeBytes] <uint64> {67108864 | 134217728 | 268435456 | 536870912 | 1073741824}] [-Passthru] [-ComputerName <string[]>] [-WhatIf] [-Confirm] [<CommonParameters>]

  • Adding an adapter:
    • Add-VMRemoteFX3dVideoAdapter mytestvm
  • Configuring VRAM:
    • Set-VMRemoteFX3dVideoAdapter mytestvm 2 1920×1200 1024MB

3. Various Performance Improvements

In addition to the above features we have also improved our VM to Host transport to use a performant VMBus implementation and made targeted stability and application compatibility bug fixes.

All the above investments, in the next version of Windows Server, result in a much better experience in a RemoteFX vGPU VDI environment.

Resources to test API & Performance Improvements

Below is a list, with links, of applications and benchmarks you can use to validate the Technology Preview API and performance improvements in RemoteFX vGPU:

  1. Adobe Photoshop CC
  2. Unigine Heaven benchmark (DX and OpenGL benchmark)
  3. Unigine Tropics (DX and OpenGL benchmark)
  4. Blender (OpenGL Open source 3D animation suite)
  5. Google Earth (DX and OpenGL)
  6. SpecviewPerf 11 (OpenGL benchmark)
  7. GLView (OpenGL API extension viewer with render tests)
  8. LsPrepost (OpenGL post processing application)
  9. Lightwave 3D (OpenGL application)

We are happy to be able to announce the above additions to RemoteFX vGPU and encourage people to download the Windows Server Technical Preview and start to validate the new vGPU functionality.

Note: Questions and comments are welcome. However, please DO NOT post a request for troubleshooting by using the comment tool at the end of this post. Instead, please use our feedback forum. Be assured that we are paying close attention and will be very responsive. Thank you!