Virtual gaming server

Numeror

n00b
Joined
Jun 14, 2014
Messages
1
Hello guys,
I am a total newbie in virtualization but I recently saw all these articles and videos on Steam In-Home Streaming, Limelight and Nvidia Shield.
For example, here is a guy having two virtual gaming computers, and here is one streaming from one gaming computer to a Raspberry Pi.

I instantly thought that it would be great if I could use any computer (old computers, raspberry pi, tablets, phones, laptops) to play any kind of games from my PC. And launch any kind of software, play any kind of video. Hence virtualization!

I seriously don't need all the power of my desktop gaming PC unless I am gaming so I was wondering if I could convert it into a server which will host several virtual machines:
  • A gaming server (Windows, with Steam launched all the time to stream)
  • A NAS (Xpenology)
  • A media server (Plex server ?)
  • An home automation server (Linux)

The idea would be to have several cheap computers (NUCs, Raspberry Pi, tablets, laptops - connected to monitors/keyboard/mouse or TV/controller) in my home which will stream the content from the virtual machines. If I want to play a video game, I will stream it from my gaming VM (Steam In-Home or Limelight). If I want to play an HD movie I will stream it from my media VM. Etc...

My questions are :
  • Is it more energy-efficient than having a standard setup with several computers (one gaming rig, one HTPC on TV, etc...)? Can I control energy consumption by launching VMs when needed?
  • Is it cheaper in terms of hardware and upgrade than having a standard setup? What are the cheapest computers I could use as clients for my VMs?
  • Can I go as far as using thin clients that will connect to virtual desktops? Like one virtual desktop on Windows, one on XBMC (for the TV), etc...? What would be the cheapest thin clients I could use for that purpose? I saw a raspberry Xendesktop project but I don't really understand it.
  • Can I go as far as using NO client at all? I could for example use HDMI over ethernet and USB over ethernet to bring all inputs and outputs from around the home to the server. Would that work?
  • Is there any hardware requirement for the server? I saw that only some graphic cards can be "passed through" to the virtual gaming server. See this post (create a gming VM) or this one (Steam streaming from a VM). Here is a guy who created several virtual gaming computers with 5 GPUs...


I lack technical skills for this project but I am really enthusiastic about it. I love the idea of having all my home computers virtualized into one. I love the idea of reducing energy consumption and costs by upgrading only one machine, the clients being relatively imune to obsolescence (or even being inexistent if I use HDMI over ethernet and USB over ethernet).
I also love the idea of having one big computer in my basement I could play with while still keeping a high WAF with mini computers or no computers visible in my home (+ total silence). I could put a huge HAF stacker in my basement and do all the hardware I want ;) Or just mount everything in a rack...
STACKER-2.jpg


What do you guys think? Do you have any idea for this kind of setup? Would it be feasible for the newbie I am?

Thanks a lot for your help
 
Last edited:
I think this is the plan for future setups if Steam works out the kinks, namely lag. I would be hesitent to sink money and time into a project like this right now and it is still problematic.

Also you mentioned virtualized. I don't think I'd run this in a virtualized environment right now. It seems to be designed for a typical server/ client role, with machines taking direct use of bare metal hardware.
 
My questions are :
  • Is it more energy-efficient than having a standard setup with several computers (one gaming rig, one HTPC on TV, etc...)? Can I control energy consumption by launching VMs when needed?
  • Is it cheaper in terms of hardware and upgrade than having a standard setup? What are the cheapest computers I could use as clients for my VMs?
  • Can I go as far as using thin clients that will connect to virtual desktops? Like one virtual desktop on Windows, one on XBMC (for the TV), etc...? What would be the cheapest thin clients I could use for that purpose? I saw a raspberry Xendesktop project but I don't really understand it.
  • Can I go as far as using NO client at all? I could for example use HDMI over ethernet and USB over ethernet to bring all inputs and outputs from around the home to the server. Would that work?
  • Is there any hardware requirement for the server? I saw that only some graphic cards can be "passed through" to the virtual gaming server. See this post (create a gming VM) or this one (Steam streaming from a VM). Here is a guy who created several virtual gaming computers with 5 GPUs...

We have found it more energy efficient to run one big computer rather than a handful of little workstations and servers - not to mention the cost savings of less equipment to maintain, have depreciate and upgrade. Whether or not that applies to anyone else really depends on how many systems and what they are...

We have passed through USB ports and graphics cards (ala HD6450) to VMs and ran cables directly to monitors elsewhere, eliminating the need for a separate client box. Worked fine.

Hardware requirements - you need VT-X and VT-D to virtualise and pass hardware through. The AMD equivalent of the latter is IOMMU. Look at server hardware with ECC RAM, imho - if you're running an entire house of stuff from it you want to minimise the chance of data corruption or crashes, and ECC RAM isn't THAT much more expensive.

Gaming in a VM is still a pretty new thing... different hypervisors will perform quite differently. I would definitely set up a test box and experiment for a while before jumping in and spending tons of cash.

We are helping out a friend build what you are describing at the moment - he's looking at a Socket 2011 server system with many PCI-E ports for adding in multiple graphics cards for passthrough, and a 6-core Xeon to handle a moderate number of CPU-intensive VMs. It will be interesting to see how it goes and whether it achieves what he's after.
 
I tried the Virtualized Gaming and Hackintosh rig and I didn't much care for having my GPUs running all the time - too much power...

I've since given up on the hackintosh, and my gaming rig is now dedicated to gaming. I purchased a NUC and threw ESXi on it, quite amazing actually!
 
i like the idea. I just got into virtualization but have been reading up on it alot

im in the process of setting up a esxi whitebox server to run a VM for plex (to stream to my rokus) and to run to a thin client. virtualized gaming sounds like a great idea, though as someone else pointed out I'm not sure the technology is mature enough to invest a lot of money into.

As I understand it theres two types of GPU virtualizations that PC gaming would benefit from: PCI passthrough and Shared Virtual GPU. For hypervisors I am only familiar with VMWare's ESXi. Theres also Xen and KVM hypervisors, I am not sure if they support PCI passthrough or shared virtual gpu.

PCI Pass through (VMWare's term is vDGA):
pci-passthru.gif


Requires a motherboard/bios that supports PCI passthrough (Intel's VT-d or AMD's IOMMU). basically any video card would work but it would only pass through to one VM at a time.

Shared Virtual GPU (VMWare's term is vSGA):
shared-virtualized-gpu.gif


only certain video cards support it and they are mostly the expensive workstation ones (NVIDIA's Quadro line or AMD's FirePro line), though some consumer level cards (notably some high end GeForce cards) can be modded/hacked to work with vSGA. biggest benefit to this setup vs pci passthrough is that multiple VM's can use the GPU at the same time

Heres a video of quick gaming using Shared Virtual GPU: http://www.youtube.com/watch?v=9pEEZ16SCR4

As for Steam in-house streaming, from my understanding, its different from virtualization on a hypervisor. basically the video and audio is rendered on your gaming PC and the signals are encoded and sent to your remote PC then decoded. input is captured from your remote PC, encoded and sent back to your gaming PC.

A novel idea is to have a dedicated gaming rig running headless that you would connect to only though RDP and steam streaming, However there are issues with that including steam detecting that there is no display ( a work around to this is to use a dummy VGA adapter to trick steam into thinking you have a monitor connected). either way I'd rather go with a full blown hypervisor server using PCI passthru or shared virtual GPU as described above if I were to do virtualized gaming.
 
Back
Top