Show HN: Multi-monitor KVM using just a USB switch (github.com)

397 points by fiddyschmitt ↗ HN
Simple KVM lets you control multiple PCs from one mouse, keyboard and monitor(s).

It is similar to Haimgel's display-switch (https://news.ycombinator.com/item?id=29608967), but it provides a GUI which hopefully makes it a bit easier to set up. It also supports hotkeys which effectively lets you alt+tab between computers.

I was surprised by the star-to-download ratio (55:400) on GitHub, so I thought I'd post it here as it might be useful to someone.

Feedback welcome!

Thanks, Fidel

188 comments

[ 2.9 ms ] story [ 230 ms ] thread
Any advantage over Synergy?
All computers use the same monitor. This may be an advantage or disadvantage depending on your setup.
Synergy is awesome, but unfortunately I can't install it on my work computer due to policy & VPN.

The benefit of SimpleKVM is that I just have to run it on my home PC, and I can switch between work and home.

I use barrier and it is a lot better than synergy.
To clarify (the first thing I wondered) each computer needs its own HDMI cable plugged into its own input on the monitor. So not true KVM as many people would think of it, but this saves you from having to use the monitor's input selector.

At least one of the computers must be on and running Windows, but maybe only one?

ddcutil can do input switching on Linux, so it would be easy to do something similar there. I already do a similar thing with xrandr for monitor rotation, running a script when I press a hotkey.
Yes only one computer needs to have Windows and run the program.

If it detects the USB device being inserted, it changes monitor inputs to the Windows computer. If it detects the USB device being removed, it changes monitor inputs to the Linux computer.

This is nice. I know some digital nomads are using KVM to evade detection by their employers.
How do they do that? Is it the case that their boss walks by them and can see what's on their screen so they're switching away from minesweeper?
digital nomad sorta implies remote, non-office work, I fail to understand how KVM is helping simulate work as you imply? It just makes switching computers easier, nothing more. You can switch manually or you can just use separate work and personal machines as well.
Because they leave their laptop in their home country. Not all companies approve of remote work.
VPN/VNC/RDP, nothing to do with KVM
People use KVM over IP because many computers have company monitoring on them that use location services to determine location. And yes, they could detect if you're using VPN, VNC, RDP, etc. That doesn't work.
What does remote work have to do with "evading detection" via KVM? This makes zero sense.
I'm guessing avoiding non-work activities on their work machine.
They have multiple full time jobs. My friend knows a Hungarian guy who had 5 full-time remote US tech jobs during COVID. You can only really do this with American employers since they don't see your other jobs.
It still doesn't make much sense to me. Ok, so he's working remotely doing 5 jobs. How does KVM help conceal this fact?
Because they give you 5 laptops.
It has nothing to do with multiple jobs. A lot of companies don’t want their employees working abroad.
I'll explain. You can use a KVM like PiKVM to remotely log in from another location. For example if your employer requires that you work within the US, you can have a PiKVM device installed locally at a family or friend's home in the country and connect to it from outside the US and it would appear as if you're doing your work domestically.

It's basically a hardware remote-desktop at that point though, so the "KVM" part only applies to the KVM device being connected to another physical device on location.

EDIT: To clarify further, the advantage of this is PiKVM is undetectable by work laptops. Nothing is installed on the work laptop, it's strictly HDMI + USB cables going to the KVM. I know this because I use one for my FAANG job.

I'm familiar with this strategy but haven't used it myself yet. It's interesting no one else in this thread knows about this. They assume it's a multiple job fraud type of situation.
Before settling back to one computer, I've done the cable replug thing manually, then used the urgreen USB switch as in the README then settled to using a monitor with built-in KVM switch, and it was the best. The problem is when you want one monitor for work and gaming - 4K (and/or high-refresh) KVM switches are incredibly expensive and tend to be unreliable, so what you usually do is use USB switches and switch input source on the monitor manually, the software here saves you clicking the "change input source" button, but seems to be Windows only, so unless both machines run Windows it'll be a one way switch and you'll have to resort to manual switch back.

The monitor that is suitable for gaming and has high DPI high refresh and built-in KVM switch is Gigabyte M28U, clicking one button switches input source and USB peripherials, works quite nicely, there's also M32U but with less DPI.

Do the other computers detect the lack of a display when they're switched on the monitor?
The monitor remains connected to the machine, the machine is unaware monitor is no longer using it as input source, but I assume this part, maybe there's some CEC notification firing.
In my experience, this seems to depend on the monitor. On my LG, the computers think the monitor is still connected.
Nice one. Yes built-in KVMs are great. Btw - if you only have two computers, you can get away with running SimpleKVM on just one of them. Because it can detect a USB device being removed (ie. gone to the other computer) and inserted (arrived at this computer).
the gigabyte m27u is even better panel and looks great with macOS due to high DPI
Ah, good to know, I think it was not available when I bought mine. I would have preferred 27" to 28" due to DPI.
One thing to note here with these kind of tools, on displayport they typically only allow commands on the active input. Once you switch to another you can't switch back (unless you do it from the other computer). Which is kind of a hassle.

HDMI on the other hand typically allows the ddc-commands even on ports that are not the active input.

Not sure if the above must be the case but it has been the case for all displays I've used.

After researching KVMs I also came to the same conclusion that ddc is the solution.

My use case is a bit different. I have two Windows machines and a dual monitor setup. I use NirSoft ControlMyMonitor which has a CLI and a Elgato Stream Deck.

In a normal KVM approach both monitors are showing only one computer. My use case is a bit odd- I want one computer on monitor A and the other on monitor B. I may also want to flip that. I use a portrait and landscape setup. Then I want to be able to switch mouse/keyboard independently of monitor configuration.

Each computer runs the Stream Deck software and the Stream Deck is connected to the USB switch.

Cool setup. Is it all working nicely with the Stream Deck & associated bindings?
Yes it works well.

The only issue I found was random disconnects when using a backlit LED keyboard and the stream deck on the same non-powered USB switch. I switched to a powered USB switch and that issue is gone.

The switch I'm using is IOgear 2x4 with a USB 5v 2a power brick. https://www.iogear.com/product/GUS402/

what does ddc stand for?
Display data channel
Display Data Channel... it's the signal that your video card uses to communicate with yours monitors to do things like adjust brightness.

https://en.wikipedia.org/wiki/Display_Data_Channel

Does there exist any hardware knob that you can put between display and displayport cable to adjust brightness? I hate the fiddly menus in monitors and in linux no ddc utils work for me (some "leds" that should include monitor brightness only has keyboard leds)
If you can't control the brightness from Linux when using proper software tools, then it's likely your monitor simply doesn't support the brightness control commands and inserting another device between your GPU and monitor won't achieve anything.
> your monitor simply doesn't support the brightness control commands

Or it does but the state of DDC/CI (and HDMI-CEC) is very sad as implementation is inconsistent and subpar to say the least (from order of commands to timing to subtle difference in required payloads that would make the display reject commands).

A dedicated device would cut the GPU out of the equation, but most likely patching ddc tools can be equally fruitful.

I have an Aten KVM switch in-between, maybe that one is doing something wrong, but it's a good KVM switch otherwise imho
I found even these simple USB Switchers to be quite expensive, and sometimes they require drivers that don't work on Linux. I quickly sketched a simple circuit board with USB hubs and a switch and ordered them assembled (!) from one of those DIY-fabs (JLCPCB or PCBWay). They cost 25€ for 5 pcs, each with one 2-to-1 switch. I don't have any experience in circuit design and didn't have to solder anything, and they work perfectly.

These would go pretty well with this software, maybe I'll give it a try.

That sounds awesome -- Please post the designs somewhere accessible! My experience of kvms is that they're either cheap and don't work in weird ways or expensive and do work, but with quirks. I think no small part of it is earthing and the avoidance of ground loops at different potentials.
After doing a bunch of research I eventually bought a monitor with a KVM built in and I’ve had almost no issues with it. It does imply if you go this route that you are stuck with a single monitor setup, but if that is how you work anyway it’s totally fine and great.

Otherwise some KVM that is decent is as you imply not going to be cheap. The one that I have seen recommended on here before is https://www.store.level1techs.com/products/p/14-kvm-switch-d...

The manufacturer themselves even outright says it’s not perfect, but from what I can tell it’s probably the best one on the market right now

> It does imply if you go this route that you are stuck with a single monitor setup

Not if you use DP-MST (DisplayPort Multi-Stream Transport, to "daisy-chain" monitors).

(comment deleted)
That is so cool!!

Yes I noticed prices had increased a bit over the last couple of years. Perhaps there's a market for yours.

Interesting to hear that some USB switchers don't quite work in Linux. I had assumed they were just very basic USB hubs so no special drivers required. I know some USB switches have fancier things like inter-PC file transfer or mouse sharing like this one (https://www.aliexpress.com/item/1005006202631772.html), and that often requires special software and drivers.

They don't require software as everything happens physically. And they go for around 20€ on Amazon, I'd say less expensive than having a custom one made.
TA linked to a few that are quite reasonable in price. I’ve owned a couple while searching for a similar set up and not a single one that I researched or bought required drivers.
I bought this one [1] for USD 13 in 2019 and still use it with display-switch (which the OP mentions) to this day.

It's as "dumb" as is possible, according to one of the reviews the ports can be a little iffy if you've plugged things into it too many times, but it's still working perfectly for me for my 2x Dell P2419H monitors.

I chose this one due to all the wires being on the back, but I'd also be happy with the one with the remote in the OP's GitHub page.

[1]: https://www.amazon.com/gp/product/B01HV1N674

Just in time project! Do you know if it is possible to just switch a Thunderbolt dock? I mean: you have, fir example, four computers all supporting Thunderbolt and you just switch a USB-C between those comouters?

I have not tried because I am concern with affecting the hardware. Based on your inspiration I just found Thunderbolt KVMs such as [1] and [2].

[1] https://sabrent.com/products/sb-tb4k

[2] https://www.reddit.com/r/Thunderbolt/comments/11gos6n/kvm_sw...

oooh, not sure. I suspect Thunderbolt has very specific requirements, and switches would be consequently expensive.
Wouldn't count on that. Thunderbolt is USB-C just visually. It's probably better to think of it as PCIe that coincidentally has the shape of a USB connector.
I would suspect problems, all of my thunderbolt docks seem to have a 'boot-up' period when powered-on and switched to.

It would probably work if you were okay with the delays.

For software KVM you can use https://github.com/debauchee/barrier

I use it between a Windows PC & a Macbookpro (Linux version available but I don't have Linux)

Love it.

Unfortunately I can't install it on my work computer due to policy & VPN.

The benefit of SimpleKVM is that I just have to run it on my home PC, and I can switch between work and home.

How would this work if your monitor uses HDMI?
Yep HDMI works well. It also works on DisplayPort, DisplayPort Mini, VGA and DVI.
I have a Mac and Windows hooked up the same monitor and keyboard/mouse. I used a USB-switch and connected the monitors separately with USB-C and VGA. Then I don’t have to route the video though the USB-switch.
(comment deleted)
Haha, just writing a "me too here", I just came to the same conclusion, but I think my setup is better and cheaper, if a tiny bit more complex. For example, the above would need to install to all computers which is a no go for me. Also this is dependent on the USB switching, cannot be triggered fully remotely.

- DDC commands for monitor input switching

- USB KVM that has only one button to switch - mine was 25$, there are plenty of models out there

- Stream deck or prebuilt macropads are super expensive (80$+) for what they are - a few buttons. Get a cheap AliExpress macropad, they go for 5-10-15$ and have all kinds of layouts. They are also much smaller, you can get just one, or 2-3-4 buttons. Don't use the crappy software they ship with, there are github projects to program them. https://github.com/rOzzy1987/MacroPad

- FingerBot 16$ (if you already have HomeAssistant, Zigbee+BT it's faster) or Switchbot 28$ (bluetooth, has a bit more delay) to press the USB KVM button.

- Then an AHK switch to watch for keyboard shortcuts, and trigger both the DDC commands and the USB switch button.

It has a few seconds delay, but it's controlled from one source only, and can be also fully triggered remotely.

I'm sure your setup has extra advantages over regular KVM switch and was an enjoyable hacking project for you. But from a price perspective, it's possible to buy a 4-way 4K HDMI KVM switch with a control pad on AliExpress for 29.25$. I don't know how much shipping to US will cost though, shipping to Europe was 15$.
I researched a lot for KVMs before. The problem is the video output is hard to get right. What about 120hz+, multi-monitor, how stable the thing is long term. I also thought this is a long solved problem but it isn't. Looking at Ali there isn't a model with too many reviews that can do the above.

At the end of the day this is what I would recommend, it is pricey but everyone swears to it: https://www.store.level1techs.com/products/p/14-kvm-switch-d...

It gets expensive too when you have > 2 monitors.
> the above would need to install to all computers which is a no go for me.

With your solution, one needs to install the AHK script on all computers though?

No. The macropad would be connected to one PC which would be the controller, so you press that regardless which output is selected, maybe this wasn't clear. But this is only needed to trigger - theorietically it could be triggered by a third device (eg RasPi connected to the display(s) via HDMI).

Maybe to add, this is also better than a KVM because it supports any number of display outputs which you can connect between the two devices. It's more practical to use a USB-C dock though.

Seems like we all have! I ran into quite a few hiccups when I tried to automate this with a Windows and MacOS machine with just a USB switch (bad DDC values, detecting device events, etc). https://nokappa.notion.site/Making-a-software-KVM-using-only...

I ended up mostly giving up because it was a bit janky and I always had something else in more disarray.

Sweet idea on the macropad! I haven't used them before and placement of the USB switch is always a pain.

I want something like this, but my monitor doesn't support enough DDC commands for it. Any monitor suggestions?
You only need input source set. I think most mainstream brands support it - you don't need DDC directly, the easiest way is using the included driver which usually provides a utility console commands. Most common suggestion is something from Dell (with its Dell Display Manager).
Unfortunately I would need this to work on Windows, Mac, and Linux, and my home monitor (Samsung) only has a Windows driver. I can use a very simple m1ddc command on my Mac to select the input on my office monitor (Dell), but not my home monitor.
I have always found that KVM switches have side effects on USB devices.

So I use mechanical USB switches.

for keyboard and mouse, I use two of these:

https://www.amazon.com/dp/B01I0Y3GEE/

They have no extra keyboard/mouse latency, and no weird side effects like boot keys that don't work or modifier keys that are in the wrong state.

Issues I've had before with mouse/keyboard:

- hotkey conflicts

- mac boot keys break (hold down <key> for <some boot function>)

- modifiers stick in wrong state

- weird delays

- combinations with mouse+keyboard break

Yes I know exactly what you mean - I've experienced the same. I haven't tried a mechanical one before. I'll have to try it out
Don't use the HID port on the KVM. Aka don't plug mouse and keyboard into the mouse and keyboard port on the KVM.

Pro: you shouldn't have the issues you listed. Con: you'll lose the hot key commands for the KVM.

Many KVMs do not have a "raw" port like you mention. But manufacturers are becoming more enlightened.

The other thing is, many KVMs will add a hub between your keyboard/mouse and the system you're connected to. This is convenient because you have just one cable to each system. But sometimes this is a source of incompatibility. I think the hub requires the system to be able to enumerate devices one-level removed, and the enumeration might be the source of delay. It also might be beyond bios-level firmware, which is less capable than many OS usb stacks. I believe this might have been the problem with mac boot keys.

I know a mechanical usb switch is not very elegant, but I find the reliability it adds is worth it to me.

Why is it callled a "KVM"? What does it stand for?
Keyboard-Video-Mouse Switch:

https://en.wikipedia.org/wiki/KVM_switch

Keyboard, Video and Mouse. Usually you would switch both the input devices (keyboard and mouse) and the output (display), allowing to use a single set of peripherals to control and monitor multiple computers.

TIL KVMs existed before the mouse, which explains the odd order.

After trying many hardware and software solutions for easily switching between my rigs, I settled on something much simpler: a monitor with a KVM built-in. It does not have to cost you an absolute fortune. I personally chose the Gigabyte 34" M34WQ; it's probably one of the very best purchases I made in the past two years, and it simplified moving between my work and personal rigs an absolute breeze.
There's a blog post about a similar thing but without any extra hardware. It uses barrier and a few simple scripts. (monitor does have to support switching via dcc).

It's not perfect especially since the input switching for the display is quite slow but there's leg in hardware kvms too.

https://xpufx.com/posts/hundred-percent-software-kvm-switch/

Yes Barrier is very nice. I would use it except for the fact that my work laptop is VPN'd and therefore on a different network to my home LAN.
Barrier uses all IPs, so I use it with my VPN active but via my cross over cable at the library. If my USB WLAN devices supported ad Hoc mode, it would be over a permanent wireless link between the thinkpads.
You can override the default route of the VPN for the LAN.
I'm using this solution atm. Works quite well except the barrier server on Linux is buggy and I need to frequently restart it.
Some ex barrier people cloned (as opposed to forking) the barrier repo and are continuing development on it. It's called input-leap.
yeah, but even they recommend using barrier right? It's strange situation where the maintainers left the project to work on a project without users. It makes sense from a developer perspective though.
I had the opposite impression. They were frustrated that the project owner was not responsive enough but also unwilling to hand over the project. Frankly it looked like a hostileish take over attempt but they don't seem to have any visibility so it didn't seem to have worked. At least a year or so ago it looked like that.
My monitor doesn't have dcc. I've worked around that part by activating automatic input selection and xset dpms force off'ing on the device I want to switch away from.
I use dell display manager with dell monitors and one of the switches in the article.
If you only have two PCs, you only need to run the program on one of them.

When it detects a USB device being plugged in, it changes the monitor input to this computer. When a USB device is removed, it changes the monitor input to the other computer.

Would a USB bluetooth adapter to connect to wireless keyboards and mouses work with this??
I think it should. When you do the setup it asks you to unplug and replug the device, and choose it out of the list. So it should trigger the change.
Good KVMs, specifically the ones from Level1Tech[1], are smart enough to keep all monitors connected virtually so all your windows stay in place when you switch back and forth between machines. There is no delay of plugging devices in because from the perspective of the client PCs the USB/display port devices were never gone. Of course you can connect a bunch of peripherals to a dock and switch the upstream thunderbolt connection, but that doesn't work correctly.

Crappy KVM solutions are easy. Good ones are hard.

[1] https://www.store.level1techs.com/products/hardware (no affiliation)

Does that impact the time how long the monitor takes from switching between display off and showing something on the screen?
You still have to do a handshake (determine resolution, refresh rate, etc) before you get a picture, and that takes maybe 3 seconds. Some monitors can handshake a bit faster, but not by much.
Still faster than my monitor. It can take long enough to turn on that my laptop goes to sleep (from the password entry screen). And since I'm using the monitor as the KVM, I can't even mash the keyboard to keep it awake, I got to reach over and keep touching the laptop.
I really want one but I just can't justify paying like 800-900€ for a dual-monitor four-computer one when I have a USB switcher and can just switch inputs on my monitors.
I came to this conclusion myself recently. I have the Cable Matters 4 port USB switch and it works just fine for my purposes.

https://www.amazon.com/dp/B083JKDNRJ

I was hopeful and tried using this Monoprice KVM switch (linked below), but it just wasn't worth it in my experience. Despite supporting Display Port 1.4, I could not use my monitor to its full ability with my PC (3440x1400 @165Hz w/ 10 bit color). Dropping the connection when switching inputs was also incredibly annoying; every time I switched away from my Macbook it would go to sleep.

https://www.amazon.com/dp/B093N1DR8Y

I'm happy to switch inputs on both the USB switch and my monitor separately because it's not actually too large of a hassle, and the monitor doesn't "disconnect" when switching video inputs on my monitor so my Macbook doesn't immediately go to sleep.

If anyone is in the market for a KVM switch, consider a USB hub first. You might find yourself satisfied. They're much less of a hassle and cost very little in comparison to a full featured KVM switch.

I bought the Level1Tech KVM and they do no support EDID emulation. I switch between a Mac and a Linux box (Gnome):

- Mac goes to sleep

- Gnome will default back the default monitor configuration and move the windows around

They do have a 1.2 DP KVM with EDID emulation, but you loose all the benefits of the 1.4 DP.

Its all on their FAQ forums

https://forum.level1techs.com/t/official-l1techs-kvm-faq-ult...

(comment deleted)
Do you know of any solid KVMs with EDID emulation and 1.4 DP?
Replying to follow (idk if there is a way to follow a thread). I have an Apple Display and would need 1.4 DP
You can "favorite" a comment and then access your favorite comments from your profile. Replying to a comment with a noop just to "follow" it lowers the snr for everyone else.

To favorite the comment click on the time the comment was posted and then on the following page click favorite.

TIL, thanks. I think they should make that doable in one click, though.
Yeap! This is my setup for MacOS and Linux with display port: KVM Switch Dual Monitor DisplayPort 1.4 8K@30Hz 4K@144Hz 2 in 2 Out,DP1.4 KVM Switch and 4 USB3.0 for 2 Computers,Backnward Compatible DP1.2 with DP+UBS Cables and Wired Controller https://a.co/d/5A3IG5P
Under the Extend mode, it says it requires dual-graphics card. What does that mean? Guessing it's an odd translation.
I think it just means if you want to kvm with two monitors over DP you need two DP ports on each computer.
yeap, this is how my setup is. Two DP ports are occupied.
The only ones I know of are the ConnectPRO ones. I have a UDP2-14AP, but it's really finicky. It works great with some systems and monitors, even at high resolutions and refresh rates. But other systems (for me, my MacBook) involve several blank-and-move-all-your-windows-around cycles before it settles and becomes usable after switching to it. I suspect this might be a monitor compatibility thing with the Mac, but I'm not sure.

Anyway, it's pricey and picky about compatibility, so it's hard to recommend, but I'm not aware of anything comparable in terms EDID emulation and support for high res/refresh modes.

Edit: Based on a sibling comment, the situation may have changed and there may be comparable ones around!

Rextron (the OEM behind Level1Techs' kVMs) has a version with EDID emulation, but it only supports usb1.1, not 3.0 or above. I sent a casual question to their contact to see what getting a branded one looks like and the Level1Techs ones are not sold at a huge markup, only about 20% or so.

EDID emulation done right is expensive.

Also got the Level1Tech one last year, very expensive but worth it imho. I use it to switch between my work and home PC many times a day, and it has worked flawlessly so far with two monitors (4k60hz+2k144hz) using Linux on both machines. USB audio, mic, 4k camera, printer and keyboard+mouse peripherals
How is the latency with these devices? I produce music as a hobby and have many connections to deal with and as low latency as possible is ideal. I am looking for something I can switch between 3 different devices basically. Work laptop, MacBook Pro, and custom Linux PC. The 2 latter ones I produce on. Would this device work for that?
I haven't noticed any additional latency, but my workload isn't particularly latency critical (I do sometimes game in the 144hz display and it's as smooth as it was before I got the KVM). They don't have a 3-computer version afaik so you'd need to go with this one probably: https://www.store.level1techs.com/products/p/14-display-port...
The added latency, if any, is not noticeable on 120-160Hz monitors. The KVM isn't doing any processing.
Most newer Dell monitors have built -in KVMs and hubs. It's nice, becuase with wireless peripherals that USB receivers, it's a cableless setup. With a laptop, it's just a single cable to hookup everything.
Bought one such monitor.

2 years later switched from m1 to m2 and it no longer works well enough (may also be the Sonoma upgrade stil gotta verify that). The devices get disconnected and glitch etc.

Went to check with dell and monitor is "not supported" on macos.

I am at a loss for words.

How about “apple get your act together with those m2s”? :)

Disclaimer: meant to be humorous.

macOS has either always lacked (like Display port MST) or later broken/crippled (like DisplayLink support) some important features for multi-monitor setups. I wonder if those things or similar things are somehow implicated in these KVM-enabled monitors.
I also had hell even with an Intel Macbook Pro. This whole just works thing Apple has been able to project is unfortunate. I have refused using Apple products from work because of how poorly their products integrate. It's not Dell. It's Apple. Any other monitor manufacturer will have the same issues.

Apple also refuses to implement a protocol that allows controlling the brightness and volume of a non-Apple monitor from the keyboard or even macOS itself. It's infuriating. The only monitors it works with are Apple's and the two overpriced Apple-sanctioned LG monitors sold in the Apple Store.

I've had good luck with the Lunar app - it manages my Dell and LG monitors on an M2. (No affiliation) https://lunar.fyi
This kind of whining is basically trolling. 'I've tried nothing and I'm angry it doesn't work!'
A 16" Macbook Pro starts at $2,499. I do expect it to just work with basic peripherals and protocols for them.

I'm just explaining how it doesn't just work, and that I'm perfectly happy not using their products. My comment was also a correction that it's on Apple, and not Dell, as to why Apple products don't work well with non-Apple devices. This is a tactic that Apple uses to try and denigrate non-Apple products and get people to come back to Apple's "premium" versions of those products.

There are clear and easy steps Apple could take, but they won't.

"I don't want to tinker with anything and have everything work out of the box" is Apple's entire value proposition.

That's the one justification that consistently gets upvoted to the top any time someone questions Apple's pricing structure. Please don't change the tune when someone reports a serious ongoing problem.

I use an app called MonitorControl on a M1 16" MBP running Sonoma that adjusts both the MBP screen and external HP 25f monitor. It adjusts the brightness and contrast of whichever screen the cursor is in.
Right, but that's part of the point. Apple should just have this inside macOS.

From MonitorControl's GitHub README, emphasis mine:

> Most modern LCD displays from all major manufacturers supported implemented DDC/CI protocol via USB-C, DisplayPort, HDMI, DVI or VGA to allow for hardware backlight and volume control.

And a blog entry by the author of Lunar, an app mentioned elsewhere for this problem: https://alinpanaitiu.com/blog/journey-to-ddc-on-m1-macs/

These are not examples of "just works". Apple intentionally does these things to cripple integration into non-Apple products.

I have an Intel Macbook 2019 for work. I've tried a couple different kvm solutions but they all had issues, always on the Mac side. The best I got was <1 sec switching from Mac to Linux and 10-15 seconds switching from Linux to Mac for everything to stabilize.

I ended up going with the nuclear option of an IP KVM https://www.raritan.com/support/product/dominion-kx-iv-101 that will do all the resolutions I want at 60hz. It was very expensive, but on the bright side it lets me keep work laptops completely unmodified and easily swappable.

I'm a little interested in one of these as an option to eventually replace my Dell WD19 USB-C DP-alt mode dock for my Dell notebook and my Desktop PC which connects by HDMI cables.

One question I couldn't see an answer to is whether or not the I can make the network port "sticky" to my Dell notebook (plugged in over USB-C), or will it "move" to my Desktop PC when I switch to it?

I read last year how recent standard made higher wattage delivery over USB-C now standard (I think it was the latest Thunderbolt one), so I'm waiting until these monitors can do that.

Big+1 to the level 1 techs kvm. Ive had a little over a year and it's flawless.

2 2.5k/1440p monitors both 144hz and it switches every time. Highly recommend. Albeit a bit pricey.

I have had great success with a generic KVM I found on amzn [0], but it now appears to be unavailable, which is a shame because I wanted to buy another. Perhaps I can find it somewhere else. It has never failed to switch between sources and the only delay, as some others are pointing out, is the HDMI handshake process inherent to the monitors themselves.

I did have a considerably more expensive TESmart [1] but couldn't use it because it had some weird incompatibility between it, thunderbolt docking station [2] I used with it (which also work flawlessly), and the MBPs connected to it. I could never figure out why, even raising the issue to support with no luck.

My two cents.

[0] https://www.amazon.com/gp/product/B088WGKFZH

[1] https://www.amazon.com/gp/product/B08N494N7X

[2] https://www.amazon.com/gp/product/B08HR3T837

For HDMI you have lots of options that provide EDID emulation. For DP there's only one game in town and it costs more than most computers.
Given that GPU cards tend to have more DP ports than HDMI ports, why might that be? Why don't makers of KVM switches follow the same preference as GPU's do? (or vice versa. Why do we have two standards anyway)
You don't feel skeptical of products from a company called "GREATHTEK-More Convenient"? I am far too paranoid to plug random technology like that into my computers. It makes shopping for such things on Amazon nearly impossible.
What could they do hypothetically? They don't have network access to phone home, do they?
PWAY Brand. Seems to be available on Aliexpress. just FYI
The windows not staying in place bug only occurs with crappy window managers. Decent ones are smart enough to put the windows back where they were when the monitors come back.
> Crappy KVM solutions are easy. Good ones are hard.

In this case what's crappy is those desktops rearranging windows when you turn off a monitor. I'd rather have my PC not know whether a monitor is connected or not, like used to be with vga.

VGA always had means for detecting a monitor. Originally, a vga monitor would pull down at least one of the id pins, and edid replaced that.

A lot of software didn't really care and just sent signals into the void, but it's possible to do that with DVI or DP, too.

There are pretty reasonable 4-port KVM switches on Aliexpress that support 60Hz 4K and USB-3 for $55 or even less.

I got this https://www.aliexpress.com/item/1005002941646654.html a year ago. It has some minor compatibility problems with my Macbook Pro (or Apples' multiport adapter) which require me to remove and reinsert the USB-C cable from the Macbook once in a while, but it otherwise works very well.

A year later, there are multiple such devices starting from $30, or even less.

wow, great! (in theory, sadly my monitors suck. Dell one refuses to see dp and the cheap one does not react to hdmi when set through the tool... I got one specific setup with normal kvm that mostly works, all others don't...)