How to use Windows 10 RemoteFX with GPU acceleration and sound in Hyper-v

I was looking for a way to pass through GPU acceleration to virtual machines for some processing tasks. However, most methods (such as DDA or VMware ESXi) requires specific server hardware, server hypervisor OS, support CPU & motherboard firmware. Sadly, I don’t have matching specification to use those methods.

Then I come across RemoteFX. While it’s not a full feature GPU pass through, it serves my current needs with my limited availability for other methods. Unfortunately Microsoft is disabling (updates after July 14, 2020) and removing RemoteFX support by February 9, 2021.

Based on your Windows 10 version and your updates, you may find that RemoteFX is disabled. But there’s still ways to make it work.

Moreover, if you have trouble with sound or connecting using remote desktop, I have a solution for you.

RemoteFX for Windows 10 version 1803 or earlier

RemoteFX is supported in these versions:

  • start Hyper-V manager
  • go to Hyper-V Settings > Physical GPUs
  • select your GPU
  • check the box Use this GPU with RemoteFX
  • click OK
physical GPU
  • select your virtual machine
  • click Settings…
  • click Add Hardware > RemoteFX 3D Video Adapter
  • click Add
  • update RemoteFX settings for your needs
  • click OK

That is. Start the virtual machine and you should have RemoteFX working for your VM.

RemoteFX for Windows 10 version after 1803 without Windows update after July 14, 2020

In this case, RemoteFX still works if your virtual machine already have RemoteFX adapter added. But you don’t have the option to add new RemoteFX adapter from the Hyper-V Manager:

dimmed

It’s dimmed and you won’t be able to add RemoteFX. Moreover, The Physical GPUs option is no longer shown in Hyper-V Settings.

But you can still add RemoteFX adapter using PowerShell:

  • note the name of your virtual machine
  • start PowerShell as Administrator
  • run command: Add-VMRemoteFx3dVideoAdapter -VMname <name>
add using powershell

Now check your virtual machine settings at Hyper-V manager and you should see RemoteFX adapter added.

RemoteFX for Windows 10 version with Windows update after July 14, 2020

You will start to receive the following error if you try to start a virtual machine with RemoteFX adapter:

failed to start

This is because Microsoft’s updates after July 14, 2020 would disable RemoteFX due to a vulnerability.

All hope is not lost. You can re-enable it using Powershell:

  • start PowerShell as Administrator
  • run command: Get-VMRemoteFXPhysicalVideoAdapter
disabled
Enabled attribute set to False
  • note the name of the graphic card
  • run command: Enable-VMRemoteFXPhysicalVideoAdapter -Name “<graphic card name>”
enable using powershell

Now try again and your virtual machine with RemoteFX adapter should be starting ok.

If you want to add new RemoteFX adapter, check out powershell command Add-VMRemoteFx3dVideoAdapter discussed in last section.

Troubleshooting

Video remoting was disconnected

video remoting disconnected

If you have this error, you need to update a setting in your virtual machine using Group Policy Editor.

  • you can sign in to your virtual machine by not using Enhanced Session Mode or remove the RemoteFX adapter for now
  • run gpedit.msc (Group Policy Editor) as Administrator
  • go to Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Remote Session Environment
  • double click on Use WDDM graphics display driver for Remote Desktop Connections (note: this config is only available Windows 10 version 1903 or after. Update your VM if needed)
  • select Disabled
  • click Apply
  • reboot your VM
disable WDDM

You should now be able to connect using Enhanced Session Mode.

RDP failed to connect

remote desktop failed

If you receive this error, you need to disable Use WDDM graphics display driver for Remote in your virtual machine as discussed in the last troubleshooting section.

Disable Windows Automatic Update

Microsoft has scheduled to remove RemoteFX by February 2021. If you want to continue to use RemoteFX after that, you would need to avoid Windows Update at that time.

One way is to disable Windows Automatic Update.

IMPORTANT: continue using Windows without security updates pose security risk to your system. Do not disable unless necessary.

To disable Windows Automatic Update, follow the steps below:

  • type services in search box
  • run App Services
  • scroll to Windows Update
  • double click to bring up Properties screen
  • select Disabled for Startup type
  • click Stop
  • click Apply
disable windows update

Security Risk

RemoteFX has a remote code execution vulnerability (CVE-2020-1036) that has no patch to fix. As a result, Microsoft decides to remove the RemoteFX feature to eliminate the risk.

IMPORTANT: continue using RemoteFX poses security risk to your system. Use it at your own risk or stop using RemoteFX to avoid the risk.

This Post Has 9 Comments

  1. PS C:\Windows\system32> Enable-VMRemoteFXPhysicalVideoAdapter -Name “NVIDIA Quadro FX 5800”
    WARNING: We no longer support the RemoteFX 3D video adapter. If you are still using this adapter, you may become
    vulnerable to security risks. Learn more (https://go.microsoft.com/fwlink/?linkid=2131976)
    Enable-VMRemoteFXPhysicalVideoAdapter : The operation failed.
    An unexpected error occurred: Provider is not capable of the attempted operation (0x80041024).
    The operation failed.
    The Hyper-V Virtual Machine Management service encountered an unexpected error: Provider is not capable of the
    attempted operation (0x80041024).
    At line:1 char:1
    + Enable-VMRemoteFXPhysicalVideoAdapter -Name “NVIDIA Quadro FX 5800”
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Enable-VMRemoteFXPhysicalVideoAdapter], VirtualizationException
    + FullyQualifiedErrorId : OperationFailed,Microsoft.HyperV.PowerShell.Commands.EnableVMRemoteFXPhysicalVideoAdapte
    r

    1. This looks like issues with your Hyper-V, probably not an error specific to RemoteFX.
      Make sure your Hyper-V is working properly and try this again.

  2. Work perfectly thanks!

    1. You are welcome

  3. Hi, I have windows 10 20H2, and I didn everything. But it still doesnt allow me to add remoteFX to my Hyper-V virtual mmachine. Can you please help me with that? Thanks

    1. Follow the steps described in section RemoteFX for Windows 10 version with Windows update after July 14, 2020.

      If following these steps does not work, that proper means your Windows 10 version has updates that already removed RemoteFX completely.
      Officially, Microsoft will remove RemoteFX totally through their security updates on April 13, 2021.

  4. Thats a shame but not surprising given the direction they went

  5. $vm = “Test”
    Add-VMRemoteFx3dVideoAdapter -VMname $vm
    Get-VMRemoteFXPhysicalVideoAdapter
    Enable-VMRemoteFXPhysicalVideoAdapter -Name “NVIDIA GeForce GTX 1050 Ti”

    И все работает.

  6. Similar – W10 20H2 (Enterprise) and no luck… existing VMs (imaged from 17xx / 18xx W10 releases) that had RemoteFX are unable to start and attempting the workaround published above in an Administrator Powershell session results in :

    PS C:\WINDOWS\system32> Enable-VMRemoteFXPhysicalVideoAdapter -Name “NVIDIA Quadro P2000”
    WARNING: We no longer support the RemoteFX 3D video adapter. If you are still using this adapter, you may become
    vulnerable to security risks. Learn more (https://go.microsoft.com/fwlink/?linkid=2131976)
    Enable-VMRemoteFXPhysicalVideoAdapter : No device found to run this cmdlet on.
    At line:1 char:1
    + Enable-VMRemoteFXPhysicalVideoAdapter -Name “NVIDIA Quadro P2000”
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidArgument: (:) [Enable-VMRemoteFXPhysicalVideoAdapter], VirtualizationException
    + FullyQualifiedErrorId : InvalidParameter,Microsoft.HyperV.PowerShell.Commands.EnableVMRemoteFXPhysicalVideoAdapt
    er

Leave a Reply

Close Menu