Design Goals
When planning my project, I tried to achieve a list of design goals.
General
- Make it as flexible and extensible as possible
- Do not even get the idea of using more than two cabinets and the desk for the computers and additional stuff (WAF)
Energy
- Save as much electrical energy as possible
Mechanics
- Use standardized 19" rack mountable cases where possible
- Reduce cable mess as much as possible
- Build it in a way it can be dismounted as good as possible for transport
- At least try to have a reasonable airflow in the setup to optimize cooling
Computers
- Have one computer installed from every important x86 CPU generation, starting from the 8086
- Try to keep the computers in their original state, but use a powerful configuration for the time they were built, do not become too unrealistic
- Emulate media for all the computers to be able to insert virtual media remotely
Controls, Video and Sound
- Break it all down to one console and split it to different output consoles from this point, involving the following connections:
- HDMI for picture (and sound)
- S/PDIF
- Analog sound (including 2.0, 4.0, 5.1 and 7.1)
- Dedicated USB 1.1 connections for keyboard and mouse
- USB 2.0 for peripheral devices, e. g. game controllers
- Have the following consoles:
- Local console at the desk
- DVI-D/HDMI for picture (and sound)
- Analog sound (2.0/4.0/5.1/7.1)
- S/PDIF (for direct connection to the receiver, and for feeding into HDMI)
- HDMI sound
- USB 1.1 for keyboard and mouse
- USB 2.0 for additional hardware
- Remote console in the living room
- HDMI for picture and sound
- USB 1.1 for keyboard and mouse
- USB 2.0 for additional hardware
- KVM over IP console
- HDMI for picture and sound
- USB 1.1 for keyboard and mouse
- USB 2.0 for virtual media
- Local console at the desk
- Be able to use one or two USB Game Controllers at the same time for every computer in focus
Networking
- Try to be able to exchange data to and from every computer
Automation
- Automate as much as possible, including:
- Power switching
- Signal switching and routing
- Device controlling
- Create a remote control daemon for automation which can be controlled via a web client and a CLI client