RemoteFX in Windows 10 Client Hyper-V

Save to My DOJO

RemoteFX in Windows 10 Client Hyper-V

The use cases for a hypervisor on the desktop are quite different from those for hypervisors in the datacenter and can involve using high-performance graphics implementations made possible by technologies such as Hyper-V RemoteFX Windows 10. Datacenter virtual machines run around the clock, quietly providing services behind the scenes. They aren’t logged onto very often, and when they are it’s usually only for administrative purposes. If a virtual machine is running on the desktop at all, it’s also typically open in a window and seeing regular interaction. It’s reasonable to expect more from that experience than might be typical for server-side virtualization. However, even with data center workstations and power users using VDI desktops, high-performance video adapters may be needed. One of the technologies historically that could help Client Hyper-V to meet that expectation is Hyper-V RemoteFX Windows 10.

The server editions of Hyper-V also offer RemoteFX. It’s not used as frequently as Hyper-V RemoteFX Windows 10, is disabled by default, and has more requirements. The complete RemoteFX experience on the server requires the Remote Desktop Services stack to be employed, and server-class accelerated GPUs are quite expensive and uncommon, unlike Hyper-V RemoteFX Windows 10. It’s a different story for Hyper-V RemoteFX Windows 10 because desktops commonly contain accelerated graphics adapters. Beyond having such an adapter, there are no particular requirements for Client Hyper-V’s RemoteFX.

What is RemoteFX in Client Hyper-V?

I once undertook a journey to enumerate the features of RemoteFX, and gave up after a while. RemoteFX is an umbrella term for several technologies designed to enhance the Remote Desktop/VMConnect experience for Hyper-V guests. Most commonly, we think of video capability because that is the most obvious component, but it is not the only one. If you’re interested in the other RemoteFX technologies, I’ll leave you to perform your own quest. What we’re most concerned with is video. Hyper-V RemoteFX Windows 10 provides strong support for RemoteFX video, which mostly means 3D acceleration. It is available by default, but you must specifically configure a RemoteFX video adapter for each virtual machine that you intend to use it with. I would strongly recommend that you proceed with caution when adding this adapter to any virtual machine whose guest operating system is not explicitly supported by Hyper-V. This TechNet article shows the supported Windows guests and there are menu items at the left that will take you to the lists of supported Linux guests.

Note that Hyper-V RemoteFX Windows 10 video might not be required for a satisfactory Client Hyper-V experience. Some 2D acceleration is available without a RemoteFX adapter. It’s not great, but only your needs can determine if it is acceptable. Also note that RemoteFX video will not magically transform your Client Hyper-V guest into a video gaming powerhouse, regardless of the capabilities of your graphics adapter.

You usually do not need to take any particular steps to enable RemoteFX video for your hosting Windows 10 RemoteFX system. If your video adapter has a DirectX 11.1-compatible driver, it will almost certainly work. In Hyper-V Manager, access the properties of your Hyper-V RemoteFX Windows 10 system and look on the Physical GPUs tab for something like the following screenshot. If you can’t select Use this GPU with RemoteFX, then you have an adapter that won’t work. If your adapter is capable, Hyper-V will have already enabled it.

Basic Configuration - RemoteFX Adapter

Basic Configuration – RemoteFX Adapter

Adding and Configuring a RemoteFX Video Adapter to a VM in Hyper-V Manager

It’s quick and simple to Hyper-V enable RemoteFX video adapter to a virtual machine with Hyper-V Manager. It does not matter what Generation the guest is. You just need to enable client Hyper-V and set up RemoteFX. These screenshots are for a Generation 1 virtual machine, but the instructions are the same for Generation 2 Windows 10 Hyper-V RemoteFX.

  1. In Hyper-V Manager, verify that the target virtual machine is Off. If it isn’t, you’ll need to get it into that state. If it’s online, shut it off. If it’s saved or paused, resume it and then shut it down.
  2. Right-click on the target virtual machine and click Settings...
  3. The Add Hardware tab should already be active. Highlight RemoteFX 3D Adapter and click Add. If the item is disabled, the virtual machine isn’t off or your adapter does not meet the requirements for RemoteFX.

Adding a RemoteFX Adapter

Adding a RemoteFX Adapter

     4. A new tab will be added to the VM’s settings dialog named RemoteFX 3D Video Adapter. You can configure the settings as suits you.

RemoteFX Adapter Settings

RemoteFX Adapter Settings

      5. The adapter is not truly added until you click OK or Apply, but you can return to this dialog any time that the virtual machine is off to adjust the settings. You can also use the Remove button if you’d rather just use the 2D acceleration. There is a finite number of active virtual machines that your video card will support, so you may find that you need to remove it from some guests if you are running several simultaneously.

Adding and Configuring a RemoteFX Video Adapter to a VM in PowerShell

Adding a Microsoft RemoteFX adapter in PowerShell is trivial in Windows 10 client Hyper-V. Configuring it can be a bit tricky.

To add the RemoteFX adapter:

Add-VMRemoteFx3dVideoAdapter -VMName Win10

A -VM parameter is also available, and it will accept piped virtual machine objects or names for bulk operations.

To configure the adapter, use Set-VMRemoteFx3dVideoAdapter. You can use -VM or -VMName just as you did with Add-VMRemoteFx3dVideoAdapter. You can also pipe in the output from a Get-VMRemoteFx3dVideoAdapter run to select an adapter. The three parameters of interest are -MaximumResolution, -MonitorCount, and -VRamSizeBytes. As far as I can tell, there’s no way to know in advance what the valid options are (unless you look in Hyper-V Manager or something). So, you can just feed it some gibberish. The error messages will tell you what you can use:

Set RemoteFX 3D Adapter Errors

Set RemoteFX 3D Adapter Errors

With valid values (for my card):

Set-VMRemoteFx3dVideoAdapter -VMName Win10 -MaximumResolution 2560x1600 -VRAMSizeBytes 1073741824

Using the RemoteFX Video Adapter

As soon as you boot up the guest, the RemoteFX video adapter is ready to go. If it doesn’t boot or it won’t show a screen, then your guest operating system probably doesn’t support RemoteFX. Here’s a screen shot of the newly-installed Microsoft RemoteFX Graphics Device – WDDM from within a Windows 10 guest’s Device Manager:

RemoteFX Adapter in Device Manager

RemoteFX Adapter in Device Manager

I would not get excited that you can now start running a bunch of 3D games in Client Hyper-V. That’s not really what RemoteFX is for. A game might work, but it might not. More “run-of-the-mill” applications, like web browsers and operating system GUIs are incorporating 3D, and that’s where you’ll see the most differences with a RemoteFX adapter. As you can see in Device Manager, you’re not getting a direct projection of your video adapter, which means that you’re not going to be able to load the manufacturer’s specific hardware driver, which means that you cannot expose its full capabilities to the guest.

Hyper-V RemoteFX is now Deprecated

It is important to note, Hyper-V RemoteFX is now a deprecated technology. Microsoft started to deprecate the technology in July 2020, when the July 2020 security release effectively disabled the feature. The April 2021 security update removed the RemoteFX virtual hardware. Why has Microsoft removed the RemoteFX functionality? 

Security vulnerabilities were discovered with the architecture, allowing an attacker to remotely execute code when Hyper-V RemoteFX vGPU on a host server fails to properly validate input from an authenticated user on a guest operating system. The path to exploit involves the attacker running a specially crafted application on a guest operating system that allows attacking third-party video drivers running on the Hyper-V host. It then leads to being able to execute arbitrary code. You can read more specific on the vulnerability here:

What technology is replacing the RemoteFX vGPU hardware? Starting with Windows Server 2016, you can now use Discrete Device Assignment, or DDA, to pass an entire PCIe video device through to a guest virtual machine running in a Hyper-V virtual machine. It is not limited to display adapters, but also includes passing high performance device access through to VMs such as NVMe storage or other high-performance devices. You can read the process to configure Discrete Device Assignment here:

Wrapping Up

There are many current use cases for users to have discrete hardware graphics and other high-performance devices passed through to virtual machines. Virtual Desktop Infrastructure (VDI) can provide a great platform to allow remote or hybrid workers to use discrete graphics resources, while still working in a virtual machine. Hyper-V RemoteFX Windows 10 was a technology early on that provided a great way to expose discrete hardware graphics devices in client Hyper-V and Hyper-V running in the data center. 

However, with Hyper-V RemoteFX Windows 10 now deprecated along with RemoteFX in Windows Server versions due to security issues, newer technologies such as Discrete Device Assignment allow organizations and home users alike to still make use of passing through discrete hardware devices to virtual machines. With Hyper-V RemoteFX Windows 10 now part of the history books, the new modern technologies still allow taking advantage of all that client and server virtualization has to offer.

Altaro Hyper-V Backup
Share this post

Not a DOJO Member yet?

Join thousands of other IT pros and receive a weekly roundup email with the latest content & updates!

Frequently Asked Questions

In general, Hyper-V RemoteFX is a feature in Hyper-V allowing guest virtual machines to share hardware resources found in the Hyper-V physical host. Resources that can be shared include the physical video adapter. As you can imagine, this greatly improves the performance of video applications and using 3D accelerated graphics in applications running in virtual machines.
Hyper-V RemoteFX Windows 10 implementations were possible before Windows 10 but yes, it was supported (up to version 1809), but is now limited by the overall RemoteFX retirement described in this article.
Hyper-V RemoteFX Windows 10 was possible before Windows 10 version 1809 and Windows Server 2019. The RemoteFX feature was introduced with Windows 7 but removed after Windows 10 version 1809. Additionally, The April 2021 Windows security updates removed the RemoteFX vGPU feature as there were newly identified vulnerabilities with the architecture. Prior to April 2021, the July 2020 security updates disabled RemoteFX vGPU in all applicable Windows platforms. Microsoft now recommends users consider alternative technologies for the vGPU technology.
While it was supported, the RemoteFX technology was easily added as a virtual hardware device using either Hyper-V Manager or PowerShell.
Secure GPU virtualization is available using the newer Discrete Device Assignment (DDA) in Windows Server LTSC releases. This includes Windows Server 2016 and Windows Server 2019 and Windows Server SAC releases (Windows Server, version 1803 and later versions).
While there are many pros and cons to each solution, “better” is relative to the use case and the resources/licensing available to the end-user or organization. This is a question similar to what is the best virtual machine for windows 10. VirtualBox is arguably the better “free” solution, since client Hyper-V requires Windows 10 Pro, Enterprise, or Education versions. Windows 10 Home users will most likely benefit from using VirtualBox since they will not be able to run client Hyper-V without upgrading their Windows 10 licensing.

24 thoughts on "RemoteFX in Windows 10 Client Hyper-V"

  • André says:

    Thank you very much Eric, great article ! any idea why my windows 7 pro guest “does not get” the adapter ? it still shows VGA… Do you think it’s possible with a win 7 vm ?

    • Eric Siron says:

      Truthfully, I don’t know. Windows 7 does support RemoteFX under server virtualization, so it would make sense that it continues to support it under Client Hyper-V. If I find some time, I will try this with Windows 7. Make sure that the integration components are up-to-date. They should be delivered through the optional components of Windows Update.

    • Nikolai Filipov says:

      What is your Windows 10 OS version & build?
      Make sure you run latest Windows 10 1607 version (not any older 15xx Windows 10 OS), OR latest 1607 Insider Preview.

      The requirements of RemoteFX adapter are for Guest OS to have Windows Vista or higher, so Windows 7 is just fine, WinXP is not.
      Note you add the RemoteFX adapter to Guest OS with Guest OS not running or Saved – it must be completely Off.
      Then when you power the Guest OS back on, it should find the new video adapter, and install drivers for it/etc.
      If this fails, you are likely using an old Windows 10 OS version and/or build.
      Note I am using Hyper-V with ALL possible recent OS here – WinXP 32-bit and 64-bit, and same for Vista, Windows 7, Windows 8.1 (not Windows 8.0, as it is a stillborn OS anyway).
      Plus Windows 10 32-bit (as I have 64-bit already as Host OS).
      So, I have 9 Guest OSes here – RemoteFX works fine on all except the WinXP ones. So, it should work fine for you too. 🙂

      Hope that helps!

  • Brett says:

    I am most interested in being able to enable “RemoteFX USB Device Detection” on a VM on a hyper-v host which I access remotely from a local pc – is this possible?

  • I believe you must be running Windows Enterprise on the client to activate FX

  • Dan says:

    Is RemoteFX available in a Windows 10 hyper-v host?

    How do you connect to the desktop of the guest VM with RemoteFX enabled, from a Hyper-V host that is running Windows 10? Where is the RemoteFX remote desktop program in Windows 10?

  • CiJ says:

    Hello, I have an issue with the resolution of my display LG ultra wide screen 21:9 resolution 2560×1080. In case I activate RemoteFX the resolution is not supportet and a full screen mode is not possible. Is a solutions extisting to fix this issue maybe add custom resolutions?

    Thanks in advanced

    • Eric Siron says:

      Not that I know of. The offered resolutions are what you get.
      You should be able to use an RDP connection for custom resolutions.

  • Thomas says:

    I have been running successfull win10 professional as host with remote fx and win10 enterprise as guest

    I am able to install win8.1 or win7 enterprise clients but after adding the vGPU I am NOT able to remote login due to license problems.

    Any suggestions?

    Thanks

Leave a comment or ask a question

Your email address will not be published. Required fields are marked *

Your email address will not be published.

Notify me of follow-up replies via email

Yes, I would like to receive new blog posts by email

What is the color of grass?

Please note: If you’re not already a member on the Dojo Forums you will create a new account and receive an activation email.