Как я могу получить мой третий экран (ноутбук + два монитора), работающий с драйверами nvidia?

У меня есть ноутбук с GeForce GTX 560M, и я использую драйверы nvidia в Ubuntu 11.10 для поддержки второго монитора с twinview, который отлично работает.

Когда я запускаю nvidia-settings и подключаю свой третий монитор (не считая дисплея ноутбука), nvidia-settings зависает на неопределенное время, если я тоже выберу использовать его как twinview. Если я решу отобразить его как отдельный экран X, сохранить настройки и перезапустить, этот параметр никогда не будет применен. Вот Xorg.conf, созданный nvidia при сохранении:

# 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

Я не очень удобен с X config. Я что-то не так делаю?

1
задан 23 January 2012 в 20:35

2 ответа

По моему опыту, более 2 мониторов не очень хорошо поддерживаются инструментами с графическим интерфейсом. Третий монитор можно настроить вручную в xorg.conf, но не будет изящного поведения plug-n-play. Вам потребуется дополнительный раздел Device, Screen и Monitor, чтобы включить третий монитор, затем добавьте Screen в раздел ServerLayout. Вот мой рабочий четырехэкранный xorg.conf в качестве примера:

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
0
ответ дан 23 January 2012 в 20:35

Я не вижу ни одного третьего монитора в вашем файле xorg.conf, может быть, попробуйте добавить его? (прежде чем что-либо делать, скопируйте файл xorg.conf

sudo cp xorg.conf xorg.conf.old
)

, вставьте это:

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

и измените раздел макета вашего сервера:

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

Запомните, где Ваш файл xorg.conf есть, и если что-то пойдет не так после перезагрузки, замените отредактированное старым. (

sudo mv xorg.conf.old xorg.conf
)

0
ответ дан 23 January 2012 в 20:35

Другие вопросы по тегам:

Похожие вопросы: