天天看點

RemoteFX vGPU的尴尬現狀和解決方案

RemoteFX vGPU 曾經是一個非常先進的GPU虛拟化和遠端體驗增強工具。然而在Windows 1709版本後,RemoteFX 就已經成了一個“abandonware”,由于過于老舊(最早面世于2010),已經很難和現在的新系統元件良好相容。在 Windows 10 1809 版本裡,他們砍掉了通過 GUI 新增 RemoteFX vGPU 的路徑,并提示了使用者該技術不再受到支援。在之後微軟正式宣布了 RemoteFX 的退位,并表示新的接替技術正在開發中,推薦使用者使用 Discrete Device Assignment 即分離裝置指定方案替代。

然而問題是:

  1. 隻有 Windows Server 開放支援 DDA,而Windows Pro / Workstation 版本則都不能用。而且我覺得連 Workstation 版都不給,實在是有點讓人無語。
  2. DDA 的啟用非常麻煩,而且啟用後客戶機會獨占該裝置,宿主就沒法使用了。
  3. DDA 和 RemoteFX 是兩種不同的技術路徑,适合的情景其實不完全一樣,不能等價互相代替。

而我們熟悉的 RemoteFX 雖然有諸多缺陷,可日常使用還是很友善(特别是高分屏下流暢度會比純CPU渲染高很多,并且節約了大量的CPU資源可供利用),是以就有了以下這些 how-to:

如何給虛拟機添加和啟用 RemoteFX ?

1) 檢查你的主控端上的GPU(得相容才行)

打開管理者權限的Powershell,輸入

Get-VMRemoteFXPhysicalVideoAdapter           

輸出大概如下:

Id                          : pci#ven_8086&dev_5917&subsys_00281414&rev_07#3&11583659&0&10
Name                        : Intel(R) UHD Graphics 620
GPUID                       : 32902_22807_2626580_7
TotalVideoMemory            : 8684789760
AvailableVideoMemory        : 8684789760
DedicatedSystemMemory       : 0
DedicatedVideoMemory        : 134217728
SharedSystemMemory          : 8550572032
Enabled                     : True
CompatibleForVirtualization : True
DirectXVersion              : 12.1
PixelShaderVersion          : 5.0
DriverProvider              : Intel Corporation
DriverDate                  : 2019-01-09 08:00:00Z
DriverInstalledDate         : 2019-01-09 08:00:00Z
DriverVersion               : 25.20.100.6519
DriverModelVersion          : 2.5
CimSession                  : CimSession: .
ComputerName                : DESKTOP-AA
IsDeleted                   : False

Id                          : pci#ven_10de&dev_1c20&subsys_00241414&rev_a1#4&3b87fca8&0&00e4
Name                        : NVIDIA GeForce GTX 1060
GPUID                       : 4318_7200_2364436_161
TotalVideoMemory            : 0
AvailableVideoMemory        : 0
DedicatedSystemMemory       : 0
DedicatedVideoMemory        : 6348079104
SharedSystemMemory          : 8550572032
Enabled                     : False
CompatibleForVirtualization : False
DirectXVersion              : 12.1
PixelShaderVersion          : 5.0
DriverProvider              : NVIDIA
DriverDate                  : 2019-02-20 08:00:00Z
DriverInstalledDate         : 2019-02-20 08:00:00Z
DriverVersion               : 25.21.14.1917
DriverModelVersion          : 2.5
CimSession                  : CimSession: .
ComputerName                : DESKTOP-AA
IsDeleted                   : False           

注意看Enabled 和 CompatibleForVirtualization 兩項都得是 True 才能用。否則是不相容的。以我的機器為例就是 Intel HD620 相容,而 GTX 1060 不相容。

2) 指定啟用某個顯示卡作為vGPU

同樣是在 Powershell 裡

Enable-VMRemoteFXPhysicalVideoAdapter 你的GPU名,在上面的彙報裡有Name項           

3) 将 RemoteFX vGPU 加到你指定的虛拟機

Add-VMRemoteFx3dVideoAdapter -VMName 虛拟機名           

4) 現在就可以在虛拟機的設定裡設定 vGPU 的屬性了,如圖:

RemoteFX vGPU的尴尬現狀和解決方案

RemoteFX 開啟後連不上客戶機了?

在 Hyper V 設定中将“增強會話模式”設定為預設不使用即可。增強會話模式現在和 RemoteFX 莫名其妙的不相容了,讓使用者蛋疼又無可奈何。但好在你可以關掉該模式,使用比較傳統的顯示輸出。我的顯示卡可以在客戶機裡設定到4K輸出+200%放大,這樣就和增強會話模式相差不大了。但是聲音仍然無法輸出,這是體驗下降最大的地方。

原貼:https://zhuanlan.zhihu.com/p/59086305