Atualização: A questão parece ter origem no LightDM. Se eu iniciar minha sessão a partir de um TTY usando startx
, as telas serão exibidas de acordo com xorg.conf
. Mas se eu fizer sudo start lightdm
, as telas se tornam lineares mesmo antes de fazer o login.
Eu tenho uma única GPU (Nvidia NVS 510) com quatro monitores conectados a ela. Estou tentando organizá-los em um layout 2x2. No entanto, toda vez que eu inicio o X, o LightDM parece redefinir para um layout horizontal de 1x4.
Este é um sistema Ubuntu 14.04 com drivers proprietários da Nvidia instalados. Eu gerou o seguinte xorg.conf
usando nvidia-settings
:
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 331.20 (buildd@roseapple) Mon Feb 3 15:07:22 UTC 2014
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection
Section "Files"
EndSection
Section "InputDevice"
Identifier "Mouse0"
[...]
EndSection
Section "InputDevice"
Identifier "Keyboard0"
[...]
EndSection
Section "Monitor"
Identifier "Monitor0"
[...]
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "NVS 510"
BusID "PCI:4:0:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "DFP-4"
Option "metamodes" "DP-4: nvidia-auto-select +1920+0, DP-5: nvidia-auto-select +0+0, DP-6: nvidia-auto-select +1920+1200, DP-7: nvidia-auto-select +0+1200"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Observe que todas as exibições fazem parte de uma única tela X (conforme desejado) e o layout é especificado na opção "metamodes". Se eu usar startx
, tudo funcionará corretamente.
No entanto, LightDM parece redefinir o layout misteriosamente em algum momento antes de exibir a tela de login.
Eu vejo o snippet a seguir no início de Xorg.0.log
, configurando as telas corretamente:
[ 5601.023] (II) NVIDIA(0): Validated MetaModes: [ 5601.023] (II)
NVIDIA(0): [ 5601.023] (II) NVIDIA(0):
"DP-4:nvidia-auto-select+1920+0,DP-5:nvidia-auto-select+0+0,DP-6:nvidia-auto-select+1920+1200,DP-7:nvidia-auto-select+0+1200" [ 5601.023] (II) NVIDIA(0): Virtual screen size determined to be 3840
x 2400
Mas com o LightDM, recebo o seguinte mais tarde no log (com X -logverbose 6
):
[ 1022.497] (II) XINPUT: Adding extended input device "HP WMI hotkeys" (type: KEYBOARD, id 12)
[ 1022.497] (**) Option "xkb_rules" "evdev"
[ 1022.497] (**) Option "xkb_model" "pc105"
[ 1022.497] (**) Option "xkb_layout" "us"
[ 1022.497] (II) XKB: Reusing cached keymap
[ 1023.181] (II) NVIDIA(0): XRRSetCrtcConfig(screen:0 crtc:2 position:0,0 mode:null rotation:0x01 output:null)
[ 1023.194] (II) NVIDIA(0): Screen transformation disabled for HP Z24i (DFP-5)
[ 1023.194] (II) NVIDIA(0): Screen transformation disabled for HP Z24i (DFP-4)
[ 1023.194] (II) NVIDIA(0): Screen transformation disabled for HP Z24i (DFP-7)
[ 1023.194] (II) NVIDIA(0): Setting mode "DP-5: nvidia-auto-select @1920x1200 +0+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}, DP-4: nvidia-auto-select @1920x1200 +1920+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}, DP-7: nvidia-auto-select @1920x1200 +0+1200 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}"
[ 1023.644] (II) NVIDIA(0): XRRSetCrtcConfig(screen:0 crtc:3 position:0,0 mode:null rotation:0x01 output:null)
[ 1023.646] (II) NVIDIA(0): Screen transformation disabled for HP Z24i (DFP-5)
[ 1023.646] (II) NVIDIA(0): Screen transformation disabled for HP Z24i (DFP-4)
[ 1023.646] (II) NVIDIA(0): Setting mode "DP-5: nvidia-auto-select @1920x1200 +0+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}, DP-4: nvidia-auto-select @1920x1200 +1920+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}"
[ 1023.970] (II) NVIDIA(0): XRRSetScreenSize(screen:0 size:7680x1200 sizeMM:2032x318)
[ 1023.987] (==) NVIDIA(0): Using 8388608 bytes for software rendering cache
[ 1024.050] (II) NVIDIA(0): XRRSetCrtcConfig(screen:0 crtc:2 position:3840,0 mode:1920x1200 rotation:0x01 output:DP-6)
[ 1024.053] (II) NVIDIA(0): Screen transformation disabled for HP Z24i (DFP-5)
[ 1024.053] (II) NVIDIA(0): Screen transformation disabled for HP Z24i (DFP-4)
[ 1024.053] (II) NVIDIA(0): Screen transformation disabled for HP Z24i (DFP-6)
[ 1024.053] (II) NVIDIA(0): Setting mode "DP-5: nvidia-auto-select @1920x1200 +0+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}, DP-4: nvidia-auto-select @1920x1200 +1920+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}, DP-6: nvidia-auto-select @1920x1200 +3840+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}"
[ 1024.394] (II) NVIDIA(0): XRRSetCrtcConfig(screen:0 crtc:3 position:5760,0 mode:1920x1200 rotation:0x01 output:DP-7)
[ 1024.397] (II) NVIDIA(0): Screen transformation disabled for HP Z24i (DFP-5)
[ 1024.397] (II) NVIDIA(0): Screen transformation disabled for HP Z24i (DFP-4)
[ 1024.397] (II) NVIDIA(0): Screen transformation disabled for HP Z24i (DFP-6)
[ 1024.397] (II) NVIDIA(0): Screen transformation disabled for HP Z24i (DFP-7)
[ 1024.397] (II) NVIDIA(0): Setting mode "DP-5: nvidia-auto-select @1920x1200 +0+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}, DP-4: nvidia-auto-select @1920x1200 +1920+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}, DP-6: nvidia-auto-select @1920x1200 +3840+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}, DP-7: nvidia-auto-select @1920x1200 +5760+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}"
[ 1024.853] (II) NVIDIA(0): XRRSetCrtcConfig(screen:0 crtc:1 position:0,0 mode:1920x1200 rotation:0x01 output:DP-4)
[ 1024.856] (II) NVIDIA(0): Screen transformation disabled for HP Z24i (DFP-5)
[ 1024.856] (II) NVIDIA(0): Screen transformation disabled for HP Z24i (DFP-4)
[ 1024.856] (II) NVIDIA(0): Screen transformation disabled for HP Z24i (DFP-6)
[ 1024.856] (II) NVIDIA(0): Screen transformation disabled for HP Z24i (DFP-7)
[ 1024.856] (II) NVIDIA(0): Setting mode "DP-5: nvidia-auto-select @1920x1200 +0+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}, DP-4: nvidia-auto-select @1920x1200 +0+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}, DP-6: nvidia-auto-select @1920x1200 +3840+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}, DP-7: nvidia-auto-select @1920x1200 +5760+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}"
[ 1024.920] (II) NVIDIA(0): XRRSetCrtcConfig(screen:0 crtc:0 position:1920,0 mode:1920x1200 rotation:0x01 output:DP-5)
[ 1024.923] (II) NVIDIA(0): Screen transformation disabled for HP Z24i (DFP-5)
[ 1024.923] (II) NVIDIA(0): Screen transformation disabled for HP Z24i (DFP-4)
[ 1024.923] (II) NVIDIA(0): Screen transformation disabled for HP Z24i (DFP-6)
[ 1024.923] (II) NVIDIA(0): Screen transformation disabled for HP Z24i (DFP-7)
[ 1024.923] (II) NVIDIA(0): Setting mode "DP-5: nvidia-auto-select @1920x1200 +1920+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}, DP-4: nvidia-auto-select @1920x1200 +0+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}, DP-6: nvidia-auto-select @1920x1200 +3840+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}, DP-7: nvidia-auto-select @1920x1200 +5760+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}"
Todos os meus arquivos de configuração LightDM são padrão, exceto por 90-nvidia.conf
, que provavelmente foi instalado por drivers proprietários da Nvidia:
# ls /usr/share/lightdm/lightdm.conf.d/
50-greeter-wrapper.conf
50-guest-wrapper.conf
50-ubuntu.conf
50-unity-greeter.conf
50-xserver-command.conf
90-nvidia.conf
# ls /etc/lightdm/
users.conf
Além disso, tentei remover 90-nvidia.conf
, mas isso não alterou o comportamento.