Uses off the shelf parts, 15"x15"x3.5" console sized case that supports full length GPU, Slimline CD/DVD, Mini-ITX, and SFX PSU. Mini-ITX board, Intel i5, 16GB RAM, 1TB 2.5" HDD, 2GB SSD (for Hypervisor OS), and Nvidia GTX 1050. Base model system parts total approximately $450, delivered system obviously marked up somewhat - (maybe +$200?). Better GPU, Processor, HDDs would be available upgrades.
Boots Slackware Linux, with customization's to provide a seamless end user experience. Select from available VMs at the boot menu, or the "wizard" that allows you to build a new one (which is then added to the menu). The GPU ROM has been extracted and allows the single GPU system - the console displays your selected VM booting. Once you are here, use the accompanying Android App to shut down your VM, and select another from the list, or choose to build a new one. Since there is only 1 GPU and only 1 VM running, you only need to configure the size of the virtual disk, the name of the VM, and your desired OS. Select your install media from the Android App, either the physical Slimline Optical drive, or pick from available ISO files you have uploaded to the system. Samba & SSH are active, so you can manage you ISO's from any VM - or create an ISO from physical media from the App. The "Host" runs the SCST iscsi target, and this serves the Slimline Optical drive or ISO files to ALL the VM's as LUN 0. This also serves to simplify the VM's configuration. So each VM gets the same set of virtual & physical hardware. Libvirt & Qemu were both re-compiled with iscsi support, so you could have a QNAP or similar iscsi toaster serving VM's to multiple Hydra Consoles around your house.
Previous versions of The Hydra used Vmwares ESXi Hypervisor. Although it provided a mature, stable, and well supported platform, there were too many ridiculous software contortions needed to provide a system that some imagined end could ever hope to use. The VSphere client does everything you need - but from "another" computer. So you need an additional computer just to use the thing. It's OK for me, since I have lots of computers. So I wrote Android apps & scripts just to handle the lack of another PC for some imaginary end user. I have to do that with KVM as well, and it's not as easy as with ESXi. But there's much to gain:
ESXi will not pass through an Nvidia GPU - no way around this one. KVM does.
A VM on ESXi will not use the passed through display until you install Vmware Tools, AND the GPU driver.
I needed an Arduino (Everybody loves Arduino's), an HDMI switch & a special kind of VNC client to make that seem like a seamless install. But with KVM the new VM just plays out the display, no calisthenics necessary. Sorry, no Arduino needed.
So all the hacks are Software, and I'll be documenting them here.