Como posso obter minha terceira tela (laptop + dois monitores) em execução nos drivers nvidia?

1

Eu tenho um laptop com a GeForce GTX 560M e estou usando os drivers nvidia no Ubuntu 11.10 para suportar o segundo monitor com twinview, que funciona bem.

Quando eu executo nvidia-settings, e conecto meu terceiro monitor (contando a tela do laptop), o nvidia-settings congela indefinidamente se eu optar por usá-lo como twinview também. Se eu optar por exibi-lo como uma tela X separada, salve as configurações e reinicie, essa configuração nunca será aplicada. Aqui está o Xorg.conf criado pela nvidia no save:

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 285.05.09  (buildd@allspice)  Wed Nov 16 15:25:12 UTC 2011

# commented out by update-manager, HAL is now used and auto-detects devices
# Keyboard settings are now read from /etc/default/console-setup
#Section "InputDevice"
#
#    # generated from default
#    Identifier     "Mouse0"
#    Driver         "mouse"
#    Option         "Protocol" "auto"
#    Option         "Device" "/dev/psaux"
#    Option         "Emulate3Buttons" "no"
#    Option         "ZAxisMapping" "4 5"
#EndSection
# commented out by update-manager, HAL is now used and auto-detects devices
# Keyboard settings are now read from /etc/default/console-setup
#Section "InputDevice"
#
#    # generated from default
#    Identifier     "Keyboard0"
#    Driver         "kbd"
#EndSection

Section "ServerLayout"

    # Keyboard settings are now read from /etc/default/console-setup
    #    InputDevice    "Keyboard0" "CoreKeyboard"
    # commented out by update-manager, HAL is now used and auto-detects devices
    # Keyboard settings are now read from /etc/default/console-setup
    #    InputDevice    "Mouse0" "CorePointer"
# Removed Option "Xinerama" "0"
# Removed Option "Xinerama" "1"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" RightOf "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
    # commented out by update-manager, HAL is now used and auto-detects devices
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "LEN"
    HorizSync       56.5 - 67.8
    VertRefresh     40.0 - 60.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "Samsung SyncMaster"
    HorizSync       30.0 - 81.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"
    # HorizSync source: edid, VertRefresh source: edid
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 560M"
    Option         "NoLogo" "True"
    BusID          "PCI:1:0:0"
    Screen          0
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 560M"
    BusID          "PCI:1:0:0"
    Screen          1
EndSection

Section "Screen"

    # Removed Option "metamodes" "DFP-0: nvidia-auto-select +0+0"
# Removed Option "metamodes" "DFP-0: nvidia-auto-select +0+0, DFP-2: nvidia-auto-select +1920+0"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "1"
    Option         "TwinViewXineramaInfoOrder" "DFP-0"
    Option         "metamodes" "DFP-0: 1920x1080 +0+0, DFP-2: 1680x1050 +1920+0; DFP-0: 1920x1080 +0+0, DFP-2: NULL"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"

# Removed Option "metamodes" "DFP-2: nvidia-auto-select +0+0"
# Removed Option "metamodes" "DFP-1: nvidia-auto-select +0+0"
# Removed Option "metamodes" "DFP-1: 1680x1050 +0+0"
# Removed Option "metamodes" "DFP-1: nvidia-auto-select +0+0"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "DFP-1: 1680x1050_60 +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Extensions"
    Option         "Composite" "Disable"
EndSection

Eu não sou muito prático com o X config. Estou fazendo algo errado?

    
por jxn 23.01.2012 / 15:43

2 respostas

3

Mais de 2 monitores não são bem suportados pelas ferramentas GUI, na minha experiência. É possível configurar o terceiro monitor manualmente no xorg.conf, mas não haverá nenhum comportamento plug-and-play bacana. Você precisará de uma seção adicional Dispositivo, Tela e Monitor para ativar o terceiro monitor, depois adicionar a Tela à seção ServerLayout. Aqui está minha tela de trabalho xorg.conf como exemplo:

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen1" 0 0
    Screen      1  "Screen2" LeftOf "Screen1"
    Screen      2  "Screen3" LeftOf "Screen2"
    Screen      3  "Screen4" LeftOf "Screen3"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "1"
EndSection

Section "Files"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Samsung"
    ModelName      "Samsung ??"
    HorizSync       30.0 - 81.0
    VertRefresh     56.0 - 60.0
EndSection

Section "Monitor"
    Identifier     "Monitor2"
    VendorName     "Unknown"
    ModelName      "Samsung SyncMaster"
    HorizSync       30.0 - 81.0
    VertRefresh     56.0 - 75.0
EndSection

Section "Monitor"
    Identifier     "Monitor3"
    VendorName     "Unknown"
    ModelName      "Samsung SyncMaster"
        HorizSync       30.0 - 81.0
    VertRefresh     56.0 - 60.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor4"
    VendorName     "Unknown"
    ModelName      "WestingHouse"
    HorizSync       30.0 - 81.0
    VertRefresh     56.0 - 60.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BusID          "PCI:1:0:0"
    Screen          0
EndSection

Section "Device"
    Identifier     "Device2"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    #BoardName      "GeForce 8800 GTS"
    BusID          "PCI:1:0:0"
    Screen          1
EndSection

Section "Device"
    Identifier     "Device3"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    #BoardName      "GeForce 9500 GT"
    BusID          "PCI:2:0:0"
    Screen         0 
EndSection

Section "Device"
    Identifier     "Device4"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    #BoardName      "GeForce 9500 GT"
    BusID          "PCI:2:0:0"
    Screen         1 
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
EndSection

Section "Screen"
    Identifier     "Screen2"
    Device         "Device2"
    Monitor        "Monitor2"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen3"
    Device         "Device3"
    Monitor        "Monitor3"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen4"
    Device         "Device4"
    Monitor        "Monitor4"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection
    
por cqcallaw 23.01.2012 / 18:08
1

Não consigo ver nenhum terceiro monitor no seu arquivo xorg.conf, talvez tente adicioná-lo? (antes de fazer qualquer coisa copie seu arquivo xorg.conf

sudo cp xorg.conf xorg.conf.old
)

cole isto:

Section "Monitor"
    Identifier     "Monitor2"
    VendorName     "Unknown"
    ModelName      "Samsung SyncMaster"
    HorizSync       30.0 - 81.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"
    # HorizSync source: edid, VertRefresh source: edid
EndSection

Section "Screen"
    Identifier     "Screen2"
    Device         "Device0"  #or "Device1" depends to which is monitor connected
    Monitor        "Monitor2"
    DefaultDepth    24
    Option         "TwinView" "1"
    Option         "TwinViewXineramaInfoOrder" "DFP-0"
    Option         "metamodes" "DFP-0: 1920x1080 +0+0, DFP-2: 1680x1050 +1920+0; DFP-0: 1920x1080 +0+0, DFP-2: NULL"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

e altere a seção de layout do seu servidor:

Section "ServerLayout"

    # Keyboard settings are now read from /etc/default/console-setup
    #    InputDevice    "Keyboard0" "CoreKeyboard"
    # commented out by update-manager, HAL is now used and auto-detects devices
    # Keyboard settings are now read from /etc/default/console-setup
    #    InputDevice    "Mouse0" "CorePointer"
# Removed Option "Xinerama" "0"
# Removed Option "Xinerama" "1"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" RightOf "Screen0"
    Screen      2  "Screen2" RightOf "Screen1"  #only this line is edited
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
    # commented out by update-manager, HAL is now used and auto-detects devices
EndSection

Lembre-se de onde está o seu arquivo xorg.conf, e se algo der errado após a reinicialização, substitua o editado pelo antigo. (

sudo mv xorg.conf.old xorg.conf
)     
por Misery 23.01.2012 / 16:11