Growing up in the 90’s before the internet if you were any sort of gamer then nothing could have topped inviting over friends for some couch co-op. We spent countless hours chasing one another down in Goldeneye, hurling each other off the screen in Super Smash Bros. and popping everyone else’s balloons in Mario Kart 64’s battle mode. With the proliferation of the internet games finally had the chance to evolve and suddenly you could find yourself playing twice the number of people from remote locations all over the world. The console wars have since pushed the envelopes of graphical performance on the current generation of home consoles but they’ve done so with a terrible cost; the death of split-screen. When developers design these games they do so in a way that takes maximum advantage of the available graphics processors in a way that can’t really be scaled back in order to create a second instance of the same game. Even PC games are limited by similar circumstances, a GPU can only do so much and you can’t run multiple instances of the same game (at least not easily or without degrading performance anyways). So what is a gamer to do? Should we just roll over and accept that this is just the passing of an era?
Personally, I’m not about to accept that. My Wife and I are avid gamers and I’m not about to force her to just watch me play all the time or turn every game we play into a retentive game of pass-the-controller. Obvious alternatives are to either buy a second console or build her a gaming PC of her own. Not having a gratuitous amount of superfluous cash I decided to go with the free option, virtualization.
Virtualization has been around since the 70’s and VMware knows it better than anyone’s business. That’s not to say they’re the only option out there; there’s also Linux KVM, Oracle Virtualbox, and Windows Hyper-V but VMware’s ESXi has the best offering for what we’re wanting to do. Virtualization involves one physical machine (typically a server but in my case a desktop) running multiple autonomous operating systems in what are referred to as Virtual Machines or VMs. A typical VM can run standard processes night and day and it can do so excellently, but a typical VM doesn’t have the power we would need for gaming. No, what we’re looking for is a high performance VM which can only be achieved with hardware virtualization on a bare-bones hypervisor. This differs from a typical VM because instead of all of the machine’s hardware being virtualized the VM uses the physical hosts components through what is called PCI-passthrough.
VMware’s ESXi allows me and my Wife to run two instances of Windows 10 right next to one another on two 48″ TVs. We’ve been able to play WoW, ESO, GTAV Online and we’re only really limited by the graphics cards we’re using at the time. Utilizing one gaming rig I’m able to provide two virtual gaming rigs (with multiple back end Linux servers that make up my homelab). Now there are a lot of hardware specifications necessary to run something like this and I’ve only seen one other company that offers to build rigs like this but it is definitely possible and here soon I hope to post a guide so you can build your own.