Remix.run Logo
dtech 3 hours ago

Not really related to this, but are there good non-IP KVM's left? I'm in the market for one so we can move two home office desks into 1, but all the ones I find seem kinda shit. Asking for USB-C + 2 hdmi or displayports is apparently unreasonable

oftenwrong an hour ago | parent [-]

The cheap alternative I use is based on a USB switch hub and a monitor that has enough inputs for all of the computers I want to switch between.

The hub is a very simple and inexpensive device that essentially just lets you change USB devices between computers. It has 4 ports for USB devices, and 4 input ports for USB hosts. There is a wired remote control that allows you to switch between the hosts.

The way you turn this into a KVM-like device is by having each host connected to the monitor/s indepentently. In my case, I have only two hosts, and each one is connected via HDMI cable to my single monitor. Each host is set up to detect when the USB hub is connected, and then send a DDC command to switch the monitor input over to itself.

The end user experience is: I press a button on the wired remote, which is mounted on my keyboard tray, and then after a short delay the corresponding computer is on my screen and everything works normally.

On linux, this is trivially accomplished with a udev rule + a script calling ddcutil.

On my work machine, a Mac, I could not find a simple solution that worked reliably on my specific Macbook Pro model that I would recommend, so I had an AI write a custom daemon for this purpose.

The major benefit of this "poor man's KVM" is that you do not need an expensive and finnicky piece of KVM hardware. You do not need to worry about the video chip supporting your setup, or firmware bugs. You buy one cheap, commodity product. The downside is the reliance on the hosts, and on monitor features, and having to set up the functionality manually. In my case, this is the sort of thing I basically just set up and then never touched again, so it was a fine trade-off. If I get new computers, or a new monitor, or I change which porta the computers are attached to, then I have to change the code.