Answer the question
In order to leave comments, you need to log in
How to forward a video card to the Windows Server 2016 hypervisor?
Hello! I already asked a question about the implementation of the idea of creating a "home" server with "thin" clients connected to it via RDP. I was then advised to forget about RDP, since "graphics" (modeling, games) is extremely important for me. And it was suggested to lay the HDMI cable just from the server to the monitor. But recently I read the news about the fact that the Windows Server 2016 hypervisor has the ability to "forward a video card". Tell me how to implement it better? Will there be games without lags? And do you need a thin client? Thanks...
Answer the question
In order to leave comments, you need to log in
Microsoft has a technology for forwarding a video card to a VM.
That is, it is theoretically possible, but one must understand that the technology is not ideal, and in any case, this is a decent overhead.
That is, the game will run on a thin client and will support 3D graphics that will be calculated on the server's video card. But this bundle will work much slower than local work on a computer with the same video card.
That is, if you have a lot of money for hardware and have a desire to make such a scheme, then it is quite possible to achieve adequate performance.
Well, lags not related to 3D - a banal transfer of video content, it is implemented perfectly on RDP, but not ideally. That is, watching movies or video games is quite real, but the quality is certainly far from what is local.
Not quite to your question, but regarding the remote launch of games, you may be interested in this project.
moonlight-stream.com
Needed: two video cards (integrated + discrete working setup), the forwarded video card should not be GeForce (not sure about Titan, Quadro work; the reason is that the driver for custom cards checks if it is running in a virtual machine and if so, it refuses to work with an error code 43). FPS loss - 5-10%.
MS Blog article , Powershell script to forward NVidia Quadro K1200
$MyNVIDIA = Get-PnpDevice | Where-Object {$_.Class -eq “Display”} | Where-Object {$_.Service -eq “nvlddmkm”}
$MyNVIDIA | ft -AutoSize
$MyNVidiaQuadroK1200 = Get-PnpDevice -PresentOnly| Where-Object {$_.Class -eq “Display”} | Where-Object {$_.Service -eq “nvlddmkm”} | Where-Object {$_.FriendlyName -eq “NVIDIA Quadro K1200”}
$MyNVidiaQuadroK1200 | ft -AutoSize
Disable-PnpDevice -InstanceId $MyNVidiaQuadroK1200[0].InstanceId -Confirm:$false
$MyNVidiaQuadroK1200 = Get-PnpDevice -PresentOnly| Where-Object {$_.Class -eq “Display”} | Where-Object {$_.Service -eq “nvlddmkm”} | Where-Object {$_.FriendlyName -eq “NVIDIA Quadro K1200”}
$MyNVidiaQuadroK1200 | ft -AutoSize
$DataOfGPUToDDismount = Get-PnpDeviceProperty DEVPKEY_Device_LocationPaths -InstanceId $MyNVidiaQuadroK1200[0].InstanceId
$DataOfGPUToDDismount | ft -AutoSize
$locationpath = ($DataOfGPUToDDismount).data[0]
$locationpath | ft -AutoSize
Dismount-VmHostAssignableDevice -locationpath $locationpath -force
Get-VMHostAssignableDevice
Set-VM RFX-WIN2016STD -GuestControlledCacheTypes $True -LowMemoryMappedIoSpace 2000MB -HighMemoryMappedIoSpace 4000MB
Get-VM RFX-WIN2016STD | fl *
Add-VMAssignableDevice -LocationPath $locationpath -VMName RFX-WIN2016STD
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question