Is GPU virtualization without passthrough the future?

It annoys me that there is currently no feasable way to have a windowed virtual machine with high performance graphics capabilites. GPU passthrough is an exiting feature for virtual machines, but having to hookup an extra GPU + monitor to be able to use it is a pain. Using a capture card or streaming could work, but it probably adds unwanted latency.

So I have been searching a bit and found that AMDGPU might support GPU virtualization, but the latest info I found on the topic is this phoronix article from january 2017. Does anybody know more about this?

Wouldnā€™t it be nice to have a linux computer, running windows in a VM seamlessly within the linux desktop environment? You could have a game running in the windows VM then switch to the host linux OS without having to change monitor inputs or unplug/plug in cables.

An alternative could be a virtual GPU, like in virtualbox, but with better performance and API support. With the low level Vulkan API being supported by modern GPUs, it would certainly be feasable to implement a low-overhead virtual GPU driver. But it would take a lot of hard work to implement this.

So what are your thoughts? Is passthrough-less virtual GPUs the future?

3 Likes

IMO yes, it is already possible to present a VM with a virtual GPU under Hyper-V (RemoteFX) and VM Workstation/Player. The performance is not the same as the host GPU and in Hyper-Vā€™s case (under WIN 10) restricts you to Direct X but you can comfortably play older games. So we are not quite there yet on the desktop, but almostā€¦

Whilst this isnā€™t great for a serious gamer you can share a powerful GPU with plenty of vram amongst multiple VMā€™s and get equal performance from them.

There is also now some software that allows you to create VM in Azure (and other clouds) hosted on a server with Nvidia GPUā€™s and stream a game running on it to your desktop - my understanding is that it works well, but is expensive due to the size of the Azure VM you need to use. Someone from the company that makes the streaming software is a member on these forums.

1 Like

Itā€™s an interesting concept, and it reminds me of a solution that is decades old! The literal ā€œterminal serverā€. Dummy workstations that are connected to a massive ā€œsupercomputerā€ to process and input tasks.

How cool would that be, in an ideal world? Thin-clients capable of state of the art software engineering, graphic design, 3D modelling (AutoCAD), or remote desktop work. It would revolutionize (and destroy?) things like Citrix. Can you imagine using something like WebStorm or Visual Studio in a Citrix environment? Holy cringe, Batmanā€¦

I am excited for the movement to take off. GPU pass through, in an working environment, is amazing. As technology improves it will be fun to watch it all play out.

Isnā€™t it already a thing in the enterprise world? I thought it was more an issue of market segmentation than technology limitations. That said, now that AMD is putting pressure on both the CPU and GPU markets, that may very well change. Hereā€™s to hoping.

Yep, it totally is, GPU virtualisation is already powerful enough for CAD etc. It works really well even with Window 10, something like a GTX 980Ti and a 1Gbs network. Hyper-V will let you assign up to 2GB of your GPUā€™s RAM to a single VM.

Many enterprises are already using virtual GPUā€™s on VMā€™s hosted in Azure for all sorts of workloads, and as I said you can use them for gaming too, but itā€™s not cheap!

EDIT: This was the link I meant to embedā€¦

3 Likes

I was unaware of ā€œmanyā€ enterprises doing this. I know itā€™s available but I was referring to having availability for everyone.

In my experience very few want to spend that kind of money on I.T. infrastructure. Most implement remote desktop services such as Citrix, and hire/outsource a terrible team to maintain and implement the services. For basic tasks, browsing, email, etc., it works fine. Iā€™ve not been fortunate enough to work with a lot of people doing high end remote desktop environments.

Maybe itā€™s time to go job huntingā€¦

Great video though, thanks for sharing :smile:

No problem, itā€™s a fascinating subject, the company I mostly work for have both Citrix/terminal services for remote workers and virtualised workstations with GPU for specific tasks where needed e.g. CAD and data science.

:+1: That is awesome. Iā€™m mad jealous. INSANELY irate at this point. Iā€™ve started a job hunt. The only benefit of my current gig is BYOL (L == Linux :smile:). I have two laptops, one Windows 10 Pro and the other Debian Stretch for most of my work. Our remote services suck, and they sucked at my last gig too.

A while back I worked at an MSP that had RemoteApp service, but the client didnā€™t want to upgrade their networking hardware so there were constant disconnects and drops.

Youā€™ve no idea the fire you just lit lol.

Have fun learning about this. One of the best tech-writers on this area is Brien Posey, just google his name and RemoteFX or RDP etc. and you should find some good articles on the hows, whyā€™s and gotchaā€™s - Microsoft, Citrix and VMware all have a stake in this market so doing in properly and licencing is not always cheapā€¦ I believe Red Hat had been doing work with Nvidia to fully enable this technology under KVM, so you might want to also look into that.

1 Like

This is definitely the future and is already done for companies that have many people using CAD or other graphically intensive applications, as others have said on this thread. Iā€™m sure this will trickle down to regular consumers at some point, but at that point I think the tech will be used to support thin clients at home instead. As home internet connection speeds improve (the local ISP I work for already offers ā€œaffordableā€ 300Mb synchronous connections with gigabit available if you want to pay) you will see a push toward cloud instances of your home PC. Login from anywhere, donā€™t have to worry about backups, and easily upgrade your virtual hardware if you need more power. Obviously most of the members on this forum wouldnā€™t be interested in such a service, but I could imagine that if the price point was right, people would love it.

Take a look at these;

I am sure there is someone on this forum who is a Parsec employeeā€¦

You will also find this interesting;

So, basically if you have deep pockets and a low-latency/high-bandwidth connection you can already build yourself a virtual machine in a cloud and use that as your main gaming rig.

I get Ā£75 credit with Azure per month, I might try it out - I could probably game for a couple of hours on that :stuck_out_tongue:

1 Like

I think @serial_wombat was setting up this kind of local GPU pass through:
Dropping in a Radeon W 7100 FirePro on an Asrock Taichi x370 and configure it through SR-IOV for windows kvm. (How to do it.)

Not sure how it worked out, but looks interesting

1 Like

Iā€™m not sure if anyone has a gaming class GPU working via SR-IOV yet - itā€™s either para-virtualised and emulated in software (like hyper-vā€™s RemoteFX) so performance isnā€™t good enough for the latest games or completely passed-through to a single VM (like the video @wendell made). Managing GPUā€™s under SR-IOV would be cool and the best of both worlds, multiple VMā€™s could use the same GPU whilst bypassing the hyper-visor and giving much better performance.

As far as I understand it Nvidia GRID (as used in that Azure video above) relies on a proprietary Nvidia design where as AMD have a multi-user workstation GPU that uses SR-IOV:

http://www.amd.com/en-us/solutions/professional/virtualization

does this mean the end of error 43 on passthrough?

No gaming class GPU has the hardware support for SR-IOV.

Donā€™t hold your breath and ā€˜yesā€™ I thought so :grinning:

LoL, Nvidia like Microsoft are not going to give Enterprise features to the likes of us for free :yum:

2 Likes

Itā€™s a pity Vega doesnā€™t have SR-IOV support anymore, Iā€™d have bought one of these cards if this feature were present. But adding a second GPU is (imho) too much of a hassle (itā€™s still cool though :smiley: )

2 Likes

IDK, Iā€™ve got a fury and a 580. Fury for Linux, 580 for Windows, one PC, loads of fun!

1 Like

Sounds cool :wink:
Iā€™m an early adopter of Ryzen though and didnā€™t want the additional IOMMU group burden it hat in its start. I know that theses issues have been fixed - thanks to Level1Techs - but now that my PC is running Iā€™m not to keen on reinstalling everything again. That being said, I own a 7870 as a GPU backup and Iā€™ll probably give it (PCIe passthrough) a try in the not to distant future :slight_smile:

Edit: Iā€™m also looking forward to the day when all PC games are released for Linux as well. CDPR promised Witcher 3 for Linux if I can remember correctly, but there is still no penguin-Geralt in sightā€¦

Edit 2: Corresponding link: https://www.gog.com/wishlist/games/to_cd_projekt_red_bring_witcher_3_and_your_other_games_to_linux_please

1 Like