I’m interested in making the transition to Linux (from Windows), I’ve been interested for a while now, but last time I switched I just ended up running Antergos and doing all of my computer usage inside of a Windows 10 gaming virtual machine… It really defeated the purpose of having my host being in Linux. (Besides the learning I did!)
It seems that enthusiasts and end-users have been making great strides to close the gap between corporate computer/server uses and with the competition from Ryzen, hardware manufacturers are finally starting to trickle some bits of enterprise tech features (i.e. many processing cores) down to consumers!
A while back, in the LevelOneTechs video on Qubes OS, I remember hearing that GPU sharing “wasn’t quite there” primarily because of a feature missing (or not being enabled) on most consumer-grade GPUs. I might be mis-remembering what video I heard Wendell talk about this, but this segues into the use case I’m trying to ask about:
I’d really like to build a system that is capable of sharing my video card between my host OS–probably Qubes OS–AND whatever virtual machines I’m running. Simultaneously. I’m familiar with GPU passthrough, but that’s not what I’m looking for, I want my Host OS to continue to be able to use the video card and display my desktop… if it would be possible to run my gaming VM in a window inside of my Linux desktop, that would be amazing.
The main complication with other solutions is managing my monitors and connecting and driving them through different video cards/sources, whether I’m using the iGPU/APU form my processor to drive my Linux Desktop and giving my video card to a VM or using multiple dedicated video cards or whatever else… I’m looking for the elegance of just running everything under one video card in a more ‘seamless’ and ‘flexible’ environment. And I understand that it might not be out there.
From what I understand, higher-end/‘professional’ Nvidia cards (Quadro or Grid? I’m not sure exactly which) are designed to be put in servers and more or less shared between virtual machines/clients, and they have some sort of feature enabled (or “physically present?”) that allows them to be used in that manner. Are those video cards capable of being used in the manner I’m referring to? Are there any cards that are more consumer-accessible/less expensive? Realistically, I could budget for any video card under ~$1,000, but unless I’m getting something powerful enough at that price point to drive 4K at ~120fps, (which, to my knowledge, there aren’t really cards that fit that bill) it doesn’t seem worth paying that premium when that’s where gaming is headed in these next few generations.
So, I guess to make my questions more succinct:
- Is it possible to “share” a video card between a host and its virtual machines like I am describing?
- Are there any video cards currently capable of doing that?
- Are there any consumer-accessible (by your own metric) video cards capable of doing that?