Depois de passar muito tempo brincando com o xrandr, encontrei uma solução que "funciona" para mim.
Estou usando este fórum como um meio de fornecer aos outros a solução para o meu problema, bem como fazer minhas próprias perguntas sobre certas coisas que não entendo.
Configuração:
Eu tenho 1 Acer e 1 LG conectados à placa 1. A instalação padrão faz com que funcionem perfeitamente como uma área de trabalho perfeita. O último Acer no Card 2 não é detectado no GDM e não é funcional. É detectado mais profundamente no sistema, usando alguma mágica BASH que peguei de alguém que sabe o que está fazendo:
ls /sys/class/drm/*/status | xargs -I {} -i bash -c "echo -n {}: ; cat {}"
/sys/class/drm/card0-DVI-I-1/status:connected
/sys/class/drm/card0-DVI-I-2/status:connected
/sys/class/drm/card0-HDMI-A-1/status:disconnected
/sys/class/drm/card1-DVI-I-3/status:connected
/sys/class/drm/card1-DVI-I-4/status:disconnected
/sys/class/drm/card1-HDMI-A-2/status:disconnected
Eu começo digitando
xrandr --listproviders
e obtenha
Providers: number : 2
Provider 0: id: 0x64 cap: 0x7, Source Output, Sink Output, Source Offload crtcs: 2 outputs: 3 associated providers: 1 name:nouveau
Provider 1: id: 0x36a cap: 0x2, Sink Output crtcs: 2 outputs: 3 associated providers: 1 name:modesetting
Imediatamente você pode ver que o Provedor 0 tem sua entrada "nome" definida como "nouveau" e a entrada "nome" do Provedor 1 definida como "modesetting"
Tenho certeza de que cada provedor é sua própria placa gráfica. Por que um está configurado para "usar" o nouveau e o outro modesetting (presumivelmente o KernelModesetting)? Nouveau deve rodar acima do KMS ...
O Dmesg mostra-me que ambas as cartas estão rodando com o nouveau ...
Digitando
xrandr --setprovideroutputsource nouveau nouveau
parece forçar entradas de "nome" em ambos os provedores para "nouveau". X reinicia imediatamente (ou trava) e eu sou levado de volta para a tela de login.
Após o login, em um terminal X eu digite:
xrandr --listproviders
e obtenha confirmação:
Providers: number : 2
Provider 0: id: 0xbf cap: 0x7, Source Output, Sink Output, Source Offload crtcs: 2 outputs: 3 associated providers: 0 name:nouveau
Provider 1: id: 0x64 cap: 0x7, Source Output, Sink Output, Source Offload crtcs: 2 outputs: 3 associated providers: 0 name:nouveau
As duas entradas de limite são as mesmas. Por que é isso? O que significa cap?
A partir daqui, posso realmente ativar o xrandr para falar com o segundo cartão (Provedor 1):
xrandr --setprovideroutputsource 1 0
Agora, as portas DVI e HDMI extras aparecerão quando eu digitar:
xrandr
A partir daqui, ativo o terceiro monitor com:
xrandr --output DVI-I-1-3 –auto
(Porque meu terceiro monitor reside em DVI-I-1-3)
Em vez disso, posso optar por ativar o monitor por meio do aplicativo GDM GUI em configurações.
A partir daqui, mais alguns comandos de posicionamento de saída do xrandr ou manipulação da GUI farão com que o meu monitor fique em relação aos outros, e tudo funciona. Agora eu tenho que envolver todos esses comandos em um script porque o xrandr não salva as configurações na reinicialização. Vou discutir o script em um post posterior quando eu trabalhar.
Alguns problemas atualmente são desempenho gráfico ruim ao mover janelas ao redor e, às vezes, o mouse congela por alguns segundos por vez. Os drivers proprietários da Nvidia podem consertar isso, mas outras soluções são bem-vindas.
Não posso deixar de pensar que estou errado e que há uma maneira "melhor" de alcançar o que acabei de fazer enquanto ainda uso xrandr (também tentei um xorg.conf personalizado usando ZaphodHeads sem resultados). Por que eu tenho que digitar:
xrandr --setprovideroutputsource nouveau nouveau
Para configurar o restante dos comandos em primeiro lugar?
Xrandr –help
Mostra:
--setprovideroutputsource <prov-xid> <source-xid>
Onde posso encontrar uma lista de fontes-xid's?
Por que as portas DVI são rotuladas diferentemente entre xrandr e / sys / class / drm /?
Tags debian xrandr multi-monitor