Is there a way to emulate GPUs in a VM without doing an actual GPU-passthrough?
Now now, before y'all close this question saying "GPU emulation is not possible, it won't increase performance", let me explain:
So I have a system which will run multiple (like around 20 or so) virtual machines (yeah, its more like a server. No, this question does not belong to Server Fault).
Each of those machines will have a desktop environment in them (probably running windows, but I haven't decided that yet) and will be used as a normal desktop by an average Joe (watching movies, Office software, etc) by remotely logging in.
The only problem I'm facing in this is, if I have so many virtual machines each requiring basic graphics requirements, how will I allocate the GPUs accordingly? I definitely cannot afford to have a separate GPU for each VM and do a GPU pass-through for each VM.
Clearly I'm missing something here. I'd like to know if there is a way to maybe have one big powerful GPU installed and accordingly split it up by perhaps emulating a GPU in each VM, and then give the graphics work to the host GPU. Is there anyway to do this?
P.S, I'm a noob to GPU emulation, please explain elaborately