The Peculiarly Quiet Decline and Fall of the KVM
loper-os.org
loper-os.org
The little two-PC switch box the article refers to (I think) was always a spillover from the server KVM technology, except with a very small market and more difficult to make. Servers don't need sound and are fine with just VGA video. Home computers want USB (which variety?) and audio switched, or high bandwidth signals that are very touchy about interference or suddenly being connected to a different device like HDMI, Displayport or Thunderbolt. And then people want the stuff for cheap.
> signal switches with arbitrary bandwidth remain available: analogue relays
Have you tried that? Cut a HDMI cable in half and splay it out, then try switching that to another display. See what happens. If it were that easy, it'd be around (or you'd just be building it yourself).
(Confidence? "Wait, wait, am I talking to data2 or web4 or what?)
KVM was a just-barely-competent solution to a hair-on-fire (=== must-solve-now) problem.
Seriously though, I am a regular user of DVI and VGA KVMs, which have served me well over the years, but now as I migrate to HDMI or DisplayPort connectors and higher resolutions, I'm finding myself having to re-think how I hook everything together.
I tried plugging the cable into my KVM switch and it worked okay on the Windows 10 side but there was some hot-plugging kernel panic when switching to Linux (must file a bug report!)
So perhaps the future of KVM switches doesn't need video connectors such as VGA/DVI/DP if USB-C -> HDMI (as smartphones are adopting) becomes universal.
And once you plug in a dedicated 5V power supply they are rock solid.
http://www.cablechick.com.au/cables/4-port-hdmi-switcher.htm...
(I have also tried a simple powered switch with an IR remote control, but it caused signal degradation & glitches.)
https://www.amazon.com/gp/product/B071CJWSPF/
https://www.amazon.com/Plugable-One-Button-Swapping-Between-...
4k 60fps 4/4/4 color no problem
Practically, it saves me from having to use another set of speakers (you would not use 2 sets of speakers at the same time and I usually use headphones) and it also saves me from having to have or use 3 monitors which takes up more space and costs more.
My partner doesn't use her computer a lot. When she does, all the hardware is available for her. I use the 2nd monitor during development, gaming, watching movies, and RDP session.
As per some comments, I don't see how a VM would replace this use-case but I do understand its niche. Still, it saves us space.
> "a person with whom one shares an intimate relationship : one member of a couple"
One can use "spouse" or "significant other" to avoid the perception of being passive-aggressive.
I think both of my current ones have built in (crappy) sound and both HDMI and Display-Port inputs.
Also, that feature you mentioned, while it works with some RCs (generally "source" or "input" key), doesn't take into account all the inputs which I am not using. So I need to go through a list of 4 or 5 devices including DVB-C cause yeah my monitor has that support even though I've never used that input. That's annoying.
It gets annoying the more often you gotta switch. For employees of government (like the mentioned example of the Pentagon) that's gonna be more often than not. Any downtime is then a waste because even if its merely 20 seconds back and forth it quickly adds up.
It could even make sense to have KVMs in businesses where they want to keep certain data strictly internal. But as long as companies aren't being punished for data leaks that doesn't have priority. Perhaps we'll eventually see a rise again of KVMs.
If you took an ancient (but still available to buy) 25-pin 'parallel port' 4-port switch box with a rotary dial:
https://photography-909a.kxcdn.com/product-images/03292/600/...
And wired up the HDMI of two machines to output ports 1 & 3[1]. Then wired up the HDMI to the display to the input port (so effectively using the switch 'backwards'). As you are just simulating unplugging and re-plugging in the HDMI cable from each machine, via the switch, then surely this would work?
There would be a bit of delay after switching as the HDMI/HDCP handshake completes, but unless you are switching every few minutes it should be usable?
If it does work, then you've got 6 pins in the switch left to play with which could be used to switch usb devices (via a downstream hub)
I've not done this, but have thought about it for a while now.
----
[1] Not ports 1 & 2 as you want to ensure total electrical isolation between the devices during switching.
The output device "ensures" the display device is authorized via a key to output.
So, you would need an intermediary device that would accept any incoming signal, while also having a legit handshake with the output device.
So, as you switch "inputs", there is no additional authorization required, because the output device does not detect any changes.
https://usa.yamaha.com/products/audio_visual/av_receivers_am...
My guess is that with KVMs disappearing from server racks, there isn't enough volume to get the prices we used to get.
Also, there are sequencing requirements. Look carefully at a USB-A plug, and you'll see that the power and ground traces are longer than the data traces: when plugging the USB cable, the power is connected first, before the data; when unplugging, the order is reversed. HDMI probably has similar requirements, perhaps with more steps. Again, I doubt that ancient box can do that.
The problem you will have is that the signals require high bandwidth and the cables are carefully designed to have low crosstalk, high immunity to noise (both via twisted pairs) and a 100 ohm characteristic (dynamic) impedance (how the cables are constructed, insulation thicknesses, how they are twisted).
DB-25 switches work for simple single ended low frequency signals. The physical switch will wreck havoc with the interpair skew, far-end crosstalk, attenuation and differential impedance.
HDMI 1.3 defines two cable categories: Category 1-certified cables, which have been tested at 74.5 MHz (which would include resolutions such as 720p60 and 1080i60), and Category 2-certified cables, which have been tested at 340 MHz (which would include resolutions such as 1080p60 and 2160p30). Category 1 HDMI cables are marketed as "Standard" and Category 2 HDMI cables as "High Speed". This labeling guideline for HDMI cables went into effect on October 17, 2008. Category 1 and 2 cables can either meet the required parameter specifications for interpair skew, far-end crosstalk, attenuation and differential impedance, or they can meet the required nonequalized/equalized eye diagram requirements. [1]
Something that can reliably connect to random/miscellaneous projects would be really useful to me!
It seems to work fine although I haven't used it a huge amount.
Single Monitor https://store.level1techs.com/products/kvm-switch-single-mon...
Dual Monitor https://store.level1techs.com/products/kvm-switch-dual-monit...
And no, no one needs 4k where a KVM belongs (which is in a server room).
Everything I tried was garbage:
http://penguindreams.org/blog/4k-uhd-kvm-switches-the-starte...
There are a few in the $500+ range I have not tried, but you are wrong, there are use cases for 4k switching. I mean, do you really want to have two 4k monitors next to each other when you could just have one for half the cost?
I have often wondered why no one offers wireless keyboard/mouse combos with multiple USB fobs and a switch on the keyboard to change which fob it talks to.
Your setup is rather peculiar, and wastes a computer. It is usually done with dual-booting or virtualization, while multiple inputs (which I bet your screen has) or HDMI switch could handle it as well (although without handling keyboard/mouse).
KVM's were designed for server environments, sold to server environments, and only take server environments into consideration where VGA+USB will remain the status quo for years to come.
If you're really set on a KVM, take a 4k-capable standalone HDMI switch, a USB "switch" (https://www.amazon.com/IOGEAR-Computer-Peripheral-Sharing-GU..., or a USB KVM), and an arduino to strap it together as a unit. Unless servers do away with VGA (hahah, no), I doubt you'll find a product for an affordable price that does what you want.
Of course KVM switches will eventually disappear; when was the last time any of us (minus datacenter staff) has been to the server room since the dawn of the PaaS age?
I would love an option that I could switch on and it would "disable HDCP" on these monitors so they could function like they did before. Sure I couldn't play some videos but that's not a great loss for me.
I just tried it with the monitor right in front of me, even unplugging it from the wall didn't cause the laptop to drop the monitor like it would if I had disconnected the HDMI cable.
* It's been a problem since at least 2012
* HDMI cables have an active-low connection pin, therefore it's easier to fool the video card into thinking the monitor is still connected.
* DisplayPort is an active-high signal, therefore if the monitor powers off, it's the same thing as the cable being physically disconnected.
Ideally I would be able to switch the monitor off in such a way that it still maintains a connection, just that the display is off.
Edit: formatting
I don't turn the power off at the source, i.e. unplug the monitors.
1. Fake GPU software, which I haven't researched at all but probably exists
2. Forcing your graphics chipset to turn a specific head on and leave it on
Here's a Linux-specific example of how to do #2. Since I'm just talking to graphics hardware here, there should be equivalent operations for all of the following for other operating systems.
I don't connect an external display at any point.
First of all, how things look to begin with:
$ xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 4096 x 4096
VGA-0 disconnected (normal left inverted right x axis y axis)
DVI-0 disconnected (normal left inverted right x axis y axis)
LVDS connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.00*+
800x600 59.86
848x480 59.66
720x480 59.71
640x480 59.38
Now, `xrandr --output VGA-0 --auto` isn't going to do anything because --auto will tell the GPU to pick the best resolution. No screen is attached so there's no list of resolutions to pick from.So, I'll generate a generic CVT modeline that sets up the VGA output for 1024x768@60Hz.
$ cvt 1024 768 60
# 1024x768 59.92 Hz (CVT 0.79M3) hsync: 47.82 kHz; pclk: 63.50 MHz
Modeline "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +
Cool. Now I'll tell X11 about the modeline (note the copy-paste): $ xrandr --newmode "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +
...And now do the XRandR dance to actually tell the output about the right modeline (this is Xorg-bureaucracy-specific): $ xrandr --addmode VGA-0 "1024x768_60.00"
Let's review the xrandr output: $ xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 4096 x 4096
VGA-0 disconnected (normal left inverted right x axis y axis)
1024x768_60.00 59.92
(...)
At this point I can go ahead and $ xrandr --output VGA-0 --mode "1024x768_60.00"
and my screen displays garbage for a fraction of a second and then figures itself out.At this point I know the output is enabled (and the glitch didn't mean nothing) and in mirroring mode. I can prove this without a display attached by running xrandr again:
$ xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 4096 x 4096
VGA-0 disconnected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768_60.00 59.92*
(...)
Two things: one, the mode has an asterisk next to it, meaning it's active (albeit without a screen attached), and two (the following will make sense in a minute if it doesn't straight away) Screen 0 has a "current" size of 1024x768. (Xorg "screens" represent a collection of video outputs you can move windows between.)So, let's disable mirroring mode and make this new Schrödinger-pseudo-existent area its own independent surface.
$ xrandr --output VGA-0 --left-of LVDS
At this point, i3 (my windowmanager) decides to move every single window onto the new offscreen surface area, and I go blind. Isn't minimalist software wonderful? (A new windowmanager is on my todo list; i3 drives me nuts. Anyway.)Once I sort i3 out and get back to a terminal, xrandr shows something new and interesting:
$ xrandr
Screen 0: minimum 320 x 200, current 2048 x 768, maximum 4096 x 4096
(...)
Oh hey, the Screen size is now 2048x768! Proof that I have two 1024x... outputs configured side-by-side. If I wanted to I could do --above or --below and have a 1024x1536 display.Here's the technical moral of the story: since approximately the time of the dinosaurs monitors have used EDID to provide autodetection info to graphics chipsets, so forcing manual configuration is pretty deeply buried.
But that's what you need to do; "my screen is weird and needs a custom configuration" and "okay just set these parameters and leave the output head running" are analogous.
If you want to turn your screen off and have the GPU keep the head running, I recommend figuring out how to fish out the modeline your GPU is currently using, and then force the GPU to manually use that modeline. That should disable output autodetection and keep the output permanently active.
Despite the fact that I've demoed Linux output configuration here, you're (ironically) not too likely to have this problem on Linux as Xorg is fairly flexible, and wouldn't normally need these kinds of instructions provided to it under normal circumstances; for Linux it would be more "what's explicitly killing the output and how do I turn it off" as opposed to digging around in driver settings.
Also - I picked VGA for this example, honestly probably for nostalgic reasons. These instructions will work equivalently regardless of output type.
Xmonad can't do stuff like this because it treats each monitor as a separate virtual screen.
If I wanted a bigger monitor I would of just bought a bigger monitor, dammit …
I used to turn them off with the button on the monitor (when all my monitors were DVI), so if the mouse was moved by accident during the night it wouldn't wake the monitors up. Right now I have to let it go to sleep normally, and then hope there isn't some strange vibration that is big enough to trigger a wake.
Edit: Better language and more info.
Edit: Oh, you're talking about things waking your computer up? Maybe turn off 'wake on USB'? Although that's less convenient otherwise. I know when my desktop computer is fully hibernated, mouse motions don't wake it but button presses do. And you can get into this state (assuming Windows 8+) by right clicking on the Windows icon / 'start' button and selecting 'sleep'.
Essentially this is a convenience thing, it used to work perfectly fine, then they added HDCP to make things less convenient.
Like I said, I'd be fine if the software (well Windows in my case) has a switch to disable HDCP and restore the old functionality of always assuming there's a monitor there.
I can dig it up for you if you want it when I get home.
EDIT: Upon re-read this doesn't really solve your accidental wake up problem. Oops.
Right now, my monitor is in my bedroom. If I let the OS shut off the monitor, it still shows a little white pulsing light to show it's in sleep mode. That's really annoying when I'm trying to sleep.
[1] https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine
Even without HDCP, I remember another article explaining that it's already difficult enough to get two arbitrary HDMI devices to talk to each other because HDMI allows so many different modes of operation. I imagine the situation would get even worse if you had to negotiate common protocols for three endpoints at the same time.
http://www.dell.com/en-us/work/shop/dell-34-ultrasharp-curve...
It has two USB ports that can go to two different computers, and then in the settings you can set it up so that when you switch from one input to another it also switches what the USB devices are connected to. There are 4 USB ports total on the monitor, and they switch from one device to the other.
It's great, instead of being a separate box, it's built into the monitor. It's neater.
but 800 bucks for a monitor :/ I've always looked at these dell monitors. but I never use a external monitor when I'm at home (laptop). But at work my boss would never pay for any of those.
Also, I couldn't imagine two of these next to each other, 34" is very large!
Having failed the KVM route, I, too became a Synergy fan. I don't think Synergy caused the decline of KVM, but it synergy's success is certainly correlated. :)
Mine doesn't, unfortunately, so for my two computers plugged into my Dell monitor, I have the keyboard and mouse plugged into a cheap USB switch, while simply cycling through the inputs on the monitor.
It's two clicks instead of one with a traditional KVM, but I don't have $150 to blow on a KVM that has something better than a VGA slot...
Who is this "Stanislav", and why are they being so grating on people replying?
I mean, I can understand disagreement and correction (ie, the whole "please re-read the article, your question was answered" or "the article already addresses this", etc) - but do they have be such an arrogant a about it?
It basically turned me off from reading further - or exploring the rest of the blog.
and with synergy the mouse/keyboard can move across
no need for a KVM
https://twitter.com/tekwendell/status/933441036138971137?s=1...
Still more expensive than a 4k monitor, but heading in the right direction.
Such switching goes all the way back to NASA during Apollo. Their system put all the screens on a video cable as cable TV signals. Each console, and other locations around Mission Control and Launch Control, all had channel selectors and could watch any display. Using different technology, that capability was maintained in later control centers.
[1] https://en.wikipedia.org/wiki/Tactical_operations_center#/me...
I've tried using modern HDMI/monitor switchbox/splitter and USB switches, but they require awkward physical reaching for the buttons, as I have to reach out for a button or two, every time I need to switch to another system. The old KVM did this in split second and I didn't even have to think about it, sort of like Vim once you get used to the keys. I was able to work so much faster, switching from one system to another, whenever I needed to. Now, I have to think about it before switching, not that I'm lazy, but I don't want to exert so much energy just to switch to another system.
Edit: I also miss PS/2 and VGA, for their ability to switch quickly as well. USB devices and HDMI monitors take awhile to switch.
For reference, a switch with 'legacy' USB 2.0/VGA connectors that powers my ageing home PCs is this model:
https://www.ebay.com.au/itm/All-in-one-Mini-2-Ports-KVM-Manu...
$480 to solve the dual head 4K DisplayPort problem, and it works, apparently.
Now, is that a reasonable price? I have to say I think so. This is not a trivial problem and this equipment isn't being manufactured by a dozen companies and flying off Best Buy shelves. Given the low demand and difficult requirements I think the price is reasonable. If your use case involves smoothly switching between 2-4 high resolution dual head systems $480-$680 probably amounts to something in the range of 5-20% of the cost of the entire system.
I don't buy the argument that this cost makes such a KVM pointless because one can simply buy more display(s) and input devices instead: that takes a lot of space and results in a lot of underutilized hardware.
* Current display (DP, HDMP) and peripheral(USB) technology is complex, and probably is going to be expensive to switch in the fly without being unreliable.
* Virtual Machines and Remote Desktop solutions are good enough. Sure they can be a bit laggy sometimes, but good enough for most tasks.
So i guess that KVM switches are going to be more expensive to make, and there are less customers who really need them...
rasky:
https://www.nexlab.net/product/rasky/
I have contributed to it but a lot of time without news. Maybe contribute to rasky was risky.
I don't currently have a 4K HDMI switch, but my HD switch works just fine. Sure you have two buttons to push (USB and HDMI), but it works and it's cheap.
And this for my usb stuff: https://www.amazon.com/Plugable-One-Button-Swapping-Between-...
It's under $25 total and both work perfectly well.
I had one for my dual desktop setup back in the days.
Had a Windows and a Linux machine, but was too poor for second mouse/keyboard/monitor. The Linux machine was some old PC I built from spare parts.
I already had a switch that let me change the PC via ctrl+esc on the keyboard.
At my first job as a PC technician we still had the old ones with physical switches.
Frankly there are entire categories of desktop computer peripherals that get a deserved reputation for being flakey junk. USB hubs used to be this way, but presumably they've finally got those right. Inkjet printers too.
USB hubs used to be this way, but presumably they've finally got those right.
Not necessarily. I purchased a 10-port hub just a couple years back that was internally three 4-port hubs chained serially. The OSX USB stack couldn't see devices connected to the last four ports...Ps: USB switches for the KM parts are rather simple though and there is a healthy offering (+ you can build this yourself with some extension cords and a simple USB switch). Also, more and more of my devices move wireless (e.g. audio).
I got that same feeling. First a "What?! KVMs are no longer sold at all?!" followed by "wait, no, he's lying - KVMs are still sold, they just don't meet his standards." It's clickbait.
I started looking into a solution and I ended up shelling out money for Synergy, which was cheaper than the HDMI-or-Displayport-I-forgot KVMs I saw on Amazon, which looked like they were in the 2,300+ range (and with really poor reviews).
A windows laptop and a linux NUC, 5 USB peripherals shared.
4K and all digital HDMI might spell the death of it but I'd be needing new PC(s) to drive such a display in any case.
Or they can just remote in. It's kind of dumb.
Where I worked they wall-mounted large screen TVs. Windows 10 casted to them over wifi just fine.