• XSS.stack #1 – первый литературный журнал от юзеров форума

KVM switch и Мультимониторы.

Grimaldus

RAID-массив
Пользователь
Регистрация
07.10.2020
Сообщения
85
Реакции
29
Гарант сделки
2
Коллеги, есть такой сетап. Две рабочие станции, на обоих Linux с KDE. К каждой подключено по монитору, и ещё один монитор (основной) подключён по DisplayPort к обоим рабстанциям через простенький KVM USB/DisplayPort switch. То есть каждая рабстанция должна думать что она работает в двухмониторной конфигурации.

Проблема: как только KVM переключает основной монитор на другую рабстанцию, то система, от которой монитор отключается, думает, что она становится одномониторной и собирает все открытые окна на оставшемся подключённом мониторе. Система, к которой подключается KVM-монитор думает, что она становится двухмониторной и услужливо раскидывает окна в прежнее, двухмониторное состояние. Эта дергатня ужасно бесит и практически обессмысливает KVM.

Хочется, чтобы каждая система продолжала думать, что она двухмониторная независимо от состояния KVM свитча и не дёргала окна. Так было на старых VGA свитчах. Но новые DisplayPort и, полагаю, HDMI черезчур умные и услужливые. Как это победить? Какие есть программные/аппаратные решения? Может кто подскажет модели KVM свитчей, которые гарантировано решают проблему?

Исследование просторов инета показало, что, якобы, одно из решений - это некие EDID переходники, которые удерживают EDID сигнал независимо от подключения. Но это интернет теория, не понятно работает эта теория или нет. Кто-нибудь на практике такое использует? Так же, так как этот сигнал обрабатывается ОС, то, предполагаю, может существовать некая программная ручка, которая сделает всё как надо. Это подтверждается тем, что однажды, в процессе ковыряния с системой, но случайно, случился глюк, что всё заработало как надо. Но работал этот глюк до первого Sleep-Wake Up цикла.

Интересно, как это работает в Windows. Кто сталкивался с такой проблемой там и как её решил?
 
Последнее редактирование:
These are not your old VGA/DVI w/o hotplug detection.) GPU sees “monitor gone” -> the OS auto reconfigures to a single monitor + repositions your windows. KDE (kscreen) "helpfully" reacts (or monitors.xml on GNOME etc): as soon as the 2nd one goes missing -> it's gonna tear down the display space + mov windows. Then switching the KVM back, the 2nd system sees "new monitor attached" -> reverts to its old arrangement, scatters windows around.

Go with the switch, makes each computer “think” the monitor is always there. Google something like “KVM switch EDID emulation” “full time EDID” “DDM KVM" (good ones are expensive but worth it).
If you got one w/o EDID emul, your best move would be to put a small "EDID adapter/emulator" dongle in between. Your GPU will see a “permanently connected” monitor, no matter what the KVM is doing.
You can force static EDID in linux (xorg.conf/Xrandr): tell Xorg to treat a monitor as always connected even if it sees a disconnection, you can specify something in the config. Many steps here but despite that many people do use static EDID in datacenters and wherever.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх