The Multiheaded Hydra ran 6 seats of SteamOS (or whatever other x86 OS) but it wasn't a living room friendly size. So the Hydra Gaming Console is 15" x 12" by 2 ½".It's built around an Asrock H77M mini ITX with a Nvidia Quadro FX3800 desktop GPU. Right now it's running SteamOS, Windows7, and Android x86 KitKat. I've also been intending to switch back to VM control via an Android app.
And it hit me that an Android cell phone would probably make a pretty good Game Controller. It has:
Touchpad is your mouse
Keyboard for logging in, etc
USB on the go
Easy dev platform
And they're CHEAP. My biggest problem now is that there are SO many ways to skin the cat here, designing a controller around a phone is going to take some time. I think the USB OTG offers the best option, sort of like a "spread" controller that clamps the phone and plugs in the end. I have used a USB hub to connect both mouse & keyboard and sent them to the VM. Also a gravis gamepad. I was thinking something along the lines of this failed kickstarter:
Depending on the BT stack on the phone, the phone can be a HID device. I currently have the wrong phone, so am unable to test.
There are also many ways to emulate a controller on the phone.
There's also the Moga controller, which may be hackable, but I wish it was USB. It certainly works in the Android VM.
So what I have done for now is build a cell phone mount on an Xbox 360 controller, with the Xbox PC Wireless Adapter plugged into a passed thru USB on the host. The cell phone runs a menu that controls the host, selects which VM to run, which one comes up at boot, manage snapshots, and install a new VM from scratch.
And to make a proper Game Console, I have to display the Menu system on the TV. So, the Quadro goes in port 1 of an HDMI switch inside the Host. A Microsoft Miracast device is in port 2. The HDMI switch is controlled by an Arduino that also controls the Hosts power switch. The cell phone screen is casted to the Miracast, and switching is controlled over bluetooth. I added a 1k resistor from the hot plug detect to 5v (pin 18 & 19) so the Miracast always thinks it's connected .
So you power on the Hydra Game Console from the Controller App. The cell screen is displayed on the TV, with a progress bar while the hypervisor boots. When port 5901 is active on the Hydra, we VNC in and can access the bios of the VM, or monitor the txt mode booting (Just in case we end up up in Startup Repair or some other boot prob) . We are also monitoring the Vmkernel.log for the event indicating the Nvidia GPU is active, and then the HDMI is switched to the Quadro.
Play Games, shut down, and the HDMI switches back to the menu presenting other VM's to run + options. Use the cell as a pointer & keyboard. Or plug real mouse & keyboard in the USB OTG. Use the Xbox controller in games.
Future development will allow streaming games from the Hydra Game Console to the phone, Mute the TV and use headphones on the phone, and using the phone as an auxiliary display in games. Also fully utilizing the accelerometer, cameras, vibrator, etc
I also need to buy (or most likely make) some custom cables to bring the designated ports out the back neatly.
Here is a video, demonstrating current functionality. I boot the machine, and switch between the 3 OS's. I play a little of a game in each. All of this entirely from the controller: