Jump to content

Unraid with flexible I/O

6 posts in this topic Last Reply

Recommended Posts

Hi guys,


I've only recently dived into Unraid (mainly due to the well known videos from Linus...).

Somewhere in the coming year I'm looking at an overall systems update at home and thinking about merging the functionality of some systems into one machine.

That machine will run at least; 2 Win10 VM's with GPU pass-through as a daily machines, media server, central storage solution and some Docker stuff for hobby-type development projects.

But my question to you is slightly different because of an additional feature I'm pondering about.


The machine will be connected to the I/O (monitors, peripherals) on two desks, but I want to be able to switch over the I/O between the two desks.

For example: monitors and peripherals from desk A are connected to VM A and I want them switched so I can operate VM A with the monitors and peripherals on desk B, but at the same time VM B should be operated through the monitors and peripherals from desk A, so a standard KVM switch will not do!

(For those interested it has something to do with the view from the two desk, one has a huge window with a view, the other is a blind wall.)


Over time I've had a few thoughts myself on how we could tackle (a part of) this:

- change the config of the VM's within Unraid, but this seems cumbersome and a bit 'high risk' to repeat over and over

- use a 4x4 HDMI matrix switch to connect a pair of monitors to either GPU A or GPU B

- use PCI Thunderbolt cards and docks to physically replug the machines, but with only one cable

- use a more software/networked approach where I try to work account-based where it basically wouldn't matter anymore on what VM you're physically working. I'm not a sys-admin and I fear it will be a nightmare to keep the software on both systems in parallel.


Feel free to add your two cents, I'm curious what you think!


Share this post

Link to post

LOL I think a physical solution is the simplest and probably most reliable approach, either:

a) use some kind of usb switch for keyboard/mouse/webcam/sound and hdmi switch for video, or

b) get a big piece of plywood to cover that huge window when you need to ;)

Share this post

Link to post

A software based solution does not really look very feasible for your suggested scenario.


The Matrix switch option looks like the most likely to be the one that might be made to work reliably as far as the GPU's/Monitors are concerned.   However one would need to try it to be sure to ensure that the GPU's could correctly handle the monitors being switched away from them.  In terms of operating one desk's VM from the other one a RDP based solution might be the best way to go?


The USB part of the solution could also be handled by a suitable switch.   However in this case I think you would need to be passing the USB controllers through to the VM for it to be able to work with such a configuration.    VMs seem to not like USB devices not being present when you start the VM if you are passing the USB devices rather than the USB card to which they are attached.


Not sure that Unraid could handle a hardware solution based on Thunderbolt.

Share this post

Link to post

Thanks for the replies thus far!


I'm leaning towards a hardware-switch type solution as well, both cost and risk of not working are relatively low.

Just to add another thought to the collection: would it be possible to make multiple VM's where I only change the hardware allocation of the GPU and the USB controller but keep the connection with the data, so that each of the users has an 'desk A' profile and a 'desk B' profile?


One final question; can somebody point me to some nice sites or discussions on this forum regarding power consumption? I'm still a bit on the fence regarding if I want to split off part of the network storage and the media functionalities. It doesn't seem smart to have a big workstation on 24/7 just to ensure I can always reach certain network drives or watch a movie. Any thoughts or experience with that?

Share this post

Link to post

This should work I think.  


Get 2 kvm switches, one for each set of keyboard, monitor and mouse.  If you have the available slots on your motherboard, get 2 usb cards.  I'm with the people who say this is more likely to work well passing through cards, then it is passing through individual usb devices.  Make sure the usb cards have at least 2 external ports.  


Pass one each of the usb cards to each vm.  The USB part at that point in this is easy.  Just hook up each of the kvm's to one of the ports on the usb cards.  Each keyboard and mouse pair should be able to control each of the vm's based upon how the kvm switch is set.  The worst thing that might happen is that one of the vm's thinks it has 2 keyboards and 2 mice if both kvm's have that vm selected.  But that's not a big deal.  


The video part should work basically the same way.  A bit clunkier though I think.  Most video cards nowadays have 2 ports.  Just plug one port into each of the kvm switches.  You might have to go back and forth between desks a bit to get the monitors set the way you want each time you move desks.  But you shouldn't have to unplug any cables.  You just might have to play around with the display settings in windows each time I think.  

Share this post

Link to post



Thanks for your thoughts!

After some additional Googling I came to roughly the same conclusion ;-).

My next step is to figure out what features to combine in what systems, mainly to figure out if the NAS and mediaserver will be part of the main Unraid system with the VM's given the power consumption of decent gaming tower that is on 24/7.

Share this post

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now