
Se um monitor tiver 2 conexões HDMI (HDMI1 e HDMI2) e 2 conexões DisplayPort (DP1 e DP2) conectadas a 2 computadores diferentes (computador A e computador B, com 1 HDMI e DP conectados a cada computador), é possível detectar se o computador A está conectado a HDMI1 ou HDMI2 e DP1 ou DP2?
Descrição mais longa
Estou usando um monitor Dell P4317Q. É um monitor 4K com 2 entradas HDMI, 1 DisplayPort, 1 miniDisplayPort e 1 VGA e possui um recurso especial que permite ao usuário alternar entre a exibição de 4K em uma única entrada, para dividir a tela em 4 quadrantes (cada quadrante é Full HD) , permitindo ao usuário exibir 4 entradas diferentes simultaneamente.
O caso de uso é tal que o usuário teria no mínimo 2 caixas Linux diferentes (até 4 caixas Linux, cada uma executando RHEL6 usando X11), com cada caixa Linux tendo 2 conexões de exibição (ou se estiver usando 4 caixas Linux, então 1 caixa de exibição conexão para cada caixa) ao display.
Atualmente estou tentando escrever um software que permita que uma caixa Linux adicional atue como administrador do monitor (o próprio monitor também possui uma porta RS232 que permite ao usuário enviar comandos seriais para controlar o monitor em vez de usar os botões físicos do menu no visor). Esta caixa consultaria o monitor via RS232 para determinar qual quadrante exibe qual entrada e, idealmente, consultaria cada caixa Linux para determinar a qual conexão de exibição física no monitor aquela caixa está conectada. Isso apresentaria ao usuário da caixa de administração qual caixa do Linux está conectada a qual entrada de exibição em qual quadrante do monitor. Obviamente, o usuário pode controlar manualmente qual entrada a caixa do Linux usa para se conectar ao monitor, mas estou procurando uma solução perfeita que apresente automaticamente ao usuário todas as informações relevantes.
Eu examinei xrandr
, mas a saída parece pertencer apenas a IDs locais para saídas na placa gráfica.
Cada caixa Linux também usa placas gráficas Nvidia, então também pesquisei nvidia-settings
, no entanto, parece que informações como DFP-0
ou DFP-3
(para HDMI ou DisplayPort) e CRT-0
não se referem a IDs de conexões globalmente exclusivos, apenas ao tipo de conexão ( DFP
para HDMI ou DisplayPort, CRT
para VGA) e os números referem-se apenas ao tipo de fiação (DisplayPort e miniDisplayPort parecem ser DFP-3
, tentei conectar a saída mDP na caixa Linux ao mDP do monitor e depois DP via adaptador mDP-DP, mas nvidia-settings
relatou o mesmo tipo de conexão e fiação) .
Além disso, também tentei observar nvidia-settings -q CurrentMetaMode
, que gera algumas informações como DPY
, mas, novamente, não parecem ser IDs globalmente exclusivos para as conexões de exibição física no monitor.
Os monitores de exibição possuem atributos que representam IDs globalmente exclusivos para as conexões de exibição física? Em caso afirmativo, é possível determinar programaticamente a quais conexões de exibição física (tipo e índice, por exemplo, porta HDMI 2) uma caixa Linux está conectada?
Responder1
Acho que a maioria dos monitores mostra por alguns segundos qual entrada eles usam quando a alteram.
Portanto, você pode simplesmente desabilitar três das quatro entradas no software e então o display deverá informar a qual entrada o sistema restante está conectado. Você deve fazer isso uma vez para as entradas HDMI e uma vez para as entradas DP.
Não estou familiarizado com os metadados de exibição transferidos por HDMI e DP. Eu sei que o modelo de exibição é transferido. Duvido que o ID da porta de entrada também seja transferido, mas isso é possível, é claro.