Search code examples
inputvirtualhyper-vmulti-usermultiscreen

Multiple users simultaneously using separate VMs on different screens from same pc - how?


A single desktop computer acting as a workstation for multiple simultaneous users in the same room using virtualisation - can it be done?!

Having purchased a new pc, and soon Windows 8 with Hyper-V, I will theoretically have the computing power and ports to drive 4 separate monitors. Having built this virtual network, 3 friends could visit, for some 4 player gaming, console style, with each user's input aimed at a different VM and hence monitor. The inputs may be game controllers or keyboard and mice combos, possibly both simultaneously(?!)

From searching the net I've not yet found an example of Windows 8 (or other OSs being used this way). Is there an insurmountable flaw in this plan? Would any third party tools be required? Thoughts? Comments? Examples?

Looking forward to your replies, thanks!


Solution

  • Usually a VM will interact with hardware through drivers in the Parent Partition. In HyperV, the Parent Partition is a VM that has direct access to hardware. In contrast, a Child Partition accesses virtualised hardware. I/O messages are sent out over a bus, and processed by the Parent Partition. Other hypervisors follow this model, but use different names for the parent and child partitions. E.g. Xen refers to a Parent Partition as 'Dom0', and the Child Partition as 'DomU'.

    In your case, you want to pass through access to dedicated hardware to each of the Child partitions VMs that your friends will use. Look to see if there is such a setting in the VM configuration. Note that you may run into performance problems, because you'll be deviding your computer's hardware across four virtual machines.

    You don't see many examples online, because industry practice is to access the VM from a separate device. The device will access the VM via a remoting protocol. A simple example is RDP (Microsoft's Remote Desktop Protocol). A work grade version is ICA (Citrix's protocol). In contrast to RDP, ICA is useful for graphic-intense remote sessions.