2

Я надеюсь, что там есть какие-то гуру из Xorg.

Я пытаюсь заставить работать три монитора в Linux. У меня есть 2 ЖК-монитора и телевизор, все разные разрешения. Я использую 2 видеокарты; 9800 GTX и 7900Gt.

Я видел много разных постов о людях, пытающихся сделать эту работу, и в каждом случае они либо сдались, либо Xinerama волшебным образом решила все свои проблемы.

По сути, моя главная проблема в том, что я не могу заставить Xinerama работать. Каждый раз, когда я включаю его в опциях, моя машина застревает в бесконечном цикле загрузки. Если я отключу Xinerama, у меня будет только три экрана Xorg, но я не могу перетаскивать окна с одного на другое.

Я могу получить 2 lcds на Twinview, и телевизор на отдельном экране Xorg без проблем. Но мне не очень нравится это решение. Я бы предпочел, чтобы они все были на отдельных экранах и сшивали их вместе с Xinerama.

Кто-нибудь делал это?

Вот мой xorg.conf для справки.

п.с. На настройку в Windows XP у меня ушло всего 30 секунд! PSS Я видел где-нибудь, что, возможно, randr может решить мои проблемы? Но я не совсем уверен, как?

Section "Monitor"
 Identifier "Main1"
 VendorName "Acer"
 ModelName "H233H"
 HorizSync 40-70
 VertRefresh 60
 Option "dpms"
EndSection

#Section "Monitor"
# Identifier "Main2"
# VendorName "Acer"
# ModelName "AL2216W"
# HorizSync 40-70
# VertRefresh 60
# Option "dpms"
#EndSection

Section "Monitor"
 Identifier "Projector"
 VendorName "BenQ"
 ModelName "W500"
 HorizSync 44.955-45
 VertRefresh 59.94-60
 Option "dpms"
EndSection

Section "Device"
 Identifier "Card1"
 Driver "nvidia"
 VendorName "nvidia"
 BusID "PCI:5:0:0"
 BoardName "nVidia Corporation G92 [GeForce 9800 GTX+]"
 Option "ConnectedMonitor" "DFP,DFP"
 Option "NvAGP" "0"
 Option "NoLogo" "True"
 #Option "TVStandard" "HD720p"
EndSection

Section "Device"
 Identifier "Card2"
 Driver "nvidia"
 VendorName "nvidia"
 BusID "PCI:4:0:0"
 BoardName "nVidia Corporation G71 [GeForce 7900 GT/GTO]"
 Option "NvAGP" "0"
 Option "NoLogo" "True"
 Option "TVStandard" "HD720p"
EndSection

Section "Module"
 Load "glx"
EndSection

Section "Screen"
 Identifier "ScreenMain-0"
 Device "Card1-0"
 Monitor "Main1"
 DefaultDepth 24
 Option "Twinview"
 Option "TwinViewOrientation" "RightOf"
 Option "MetaModes"   "DFP-0: 1920x1080; DFP-1: 1680x1050"
 Option "HorizSync"   "DFP-0: 40-70; DFP-1: 40-70"
     Option "VertRefresh" "DFP-0: 60; DFP-1: 60"
 #SubSection "Display"
        #    Depth           24
        #    Virtual         4880 1080
        #EndSubSection
EndSection

Section "Screen"
 Identifier "ScreenProjector"
 Device "Card2"
 Monitor "Projector"
 DefaultDepth 24
 Option "MetaModes"   "TV-0: 1280x720"
 Option "HorizSync"   "TV-0: 44.955-45"
    Option "VertRefresh" "TV-0: 59.94-60"
EndSection

Section "ServerLayout"
     Identifier  "BothTwinView"
     Screen      "ScreenMain-0"
 Screen      "ScreenProjector" LeftOf "ScreenMain-0"
     #Option     "Xinerama" "on" # most important option let you window expand to three monitors
EndSection

4 ответа4

2

Итак, вот мой рабочий xorg.conf для настройки трех мониторов. Это настроено как два экрана, которые мне изначально не нравились, но теперь я очень доволен. Это позволяет мне запускать два ЖК-дисплея, как обычную установку с двумя мониторами, и по-прежнему отображать фильмы и прочее на моем проекторе, все с одного компьютера. Также приятно, что я могу работать с настройкой двух мониторов, не включая проектор, потому что иногда на этом экране запускается окно, как если бы это был один и тот же экран.

Технически я мог бы запустить четвертый монитор! Я думаю, что, скорее всего, прежде чем я попробую это сделать, я буду инвестировать в новый процессор и материнскую плату. Это зависит от того, как скоро выйдет Starcraft 2.

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 1.0  (buildd@crested)  Sun Feb  1 20:25:37 UTC 2009
# edited by me (brendan) 2010-04-18


#   NVIDIA magic (something about glx-new?)
Section "Module"
    Load           "glx"
EndSection

Section "Extensions"
    Option         "Composite" "Enable"
EndSection



#   Keyboards and Mice
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




#   Physical Monitors:
Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Acer"
    ModelName      "Acer H233H"
    HorizSync       40.0 - 70.0
    VertRefresh     60.0
EndSection

Section "Monitor"
    Identifier      "Monitor1"
    VendorName     "Acer"
    ModelName      "Acer AL2216W"
    HorizSync       40.0 - 70.0
    VertRefresh     60.0
EndSection

Section "Monitor"
    Identifier     "Monitor2"
    VendorName     "BenQ"
    ModelName      "BenQ W500"
    HorizSync       44.955 - 45.0
    VertRefresh     59.94 - 60.0
EndSection




#   Physical Video Cards/Ports:
Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 9800 GTX+"
#    Screen          0
    BusID          "PCI:5:0:0"
EndSection

Section "Device"
    Identifier    "Device2"
    Driver        "nvidia"
    VendorName    "nVidia Corporation"
    BoardName     "GeForce 7900 GT/GTO"
    BusID         "PCI:4:0:0"
    Option        "TVStandard" "HD720p"
EndSection




####    Default 3-monitor Layout 'default'

Section "ServerLayout"
    Identifier     "Default Layout"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen2" LeftOf "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "ServerFlags"
    Option         "Xinerama" "0"
EndSection


#   Virtual Screens
Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "1"
#    Option         "NoTwinViewXineramaInfo"
    Option         "metamodes" "DFP-0: 1920x1080 +1680+0, DFP-1: 1680x1050 +0+30"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen2"
    Device         "Device2"
    Monitor        "Monitor2"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "1280x720"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection
2

Страшно, у нас с тобой почти одинаковые настройки. У меня 9800GTX Ultra и 7900GS KO. Моя проблема в том, что Xinerama не работает с такими разными графическими процессорами. Xrandr был разработан, чтобы заменить xinerama, но одна из важнейших функций xinerama (склеивание экранов) почему-то не была портирована.

Используя подход NVIDIA, у меня есть то, что вы решили; два монитора + еще один монитор. Моя проблема заключается в том, что, используя этот подход, ни один из оконных менеджеров не может определить, что на самом деле есть два монитора слева, и поэтому развернутые окна (и такие вещи, как панель) растягиваются на обоих мониторах.

Я надеялся, что nouveau станет моим рыцарем в сияющих доспехах, но, как ни странно, независимо от того, что я делаю, я не могу заставить работать даже двойной монитор с использованием драйверов nouveau, используя несколько версий (по умолчанию, из PPA, построенных из источника),

Я знаю, по крайней мере, о нескольких других людях, которые имеют схожие настройки с нами, по крайней мере, один из друзей получил свою настройку для некоторой работы с использованием fakexinerama, которая в основном просто лжет X-серверу о мониторах, чтобы заставить его работать.

Надеюсь, мой вклад поможет вам найти лучшее решение. Пожалуйста, держите нас в курсе, если вы найдете что-то новое!

1

У меня была та же проблема, 4 монитора, 2 идентичные видеокарты, и я был вынужден иметь 2 экрана Xscreen.

Решение, которое я нашел, подразумевало покупку некоторого оборудования, но сейчас оно работает нормально (3 30 "мониторы, вертикальная ориентация, Slackware64). Кажется, X-windows должен иметь все мониторы в данном X-сцена на одной видеокарте. Если вы попробуете это с вашими настройками, вы увидите, что у вас не может быть 1 монитора с каждой видеокарты как 1 Xscreen, а второй на каждой видеокарте как другой Xscreen. Они должны быть на одной видеокарте.

Поэтому я купил видеокарту MSI Radeon HD6990, которая имеет 4 порта мини-дисплея и 1 двухканальный порт DVI. Мне пришлось использовать порты mini-dp на всех трех мониторах - использование порта DVI для одного из мониторов означало покупку двухканального активного адаптера за 99,00 долларов США. Обратите внимание, что активный адаптер, поставляемый с видеокартой, говорит, что он активен прямо на ней, но это активный адаптер с одной связью, отличие, которое ускользало от меня, пока я не увидел изображение двухканального активного адаптера DVI, который имеет USB-кабель для питания, а также кабель DP. Кабель, поставляемый с картой, будет работать, но ограничивает разрешение экрана намного меньшим.

Это в стороне, но, работая с двумя экранами Xscreen, я нашел только две программы для Linux, которые могут переключаться между различными экранами X: Gimp имеет его в одном меню, но переключает только основной графический экран на другие Xscreen - меню оставаться на месте, и XEmacs, который имеет его в меню, и он работает просто отлично.

0

Я потратил довольно много времени на решение этой проблемы для моей системы Red Hat EL5 с двойной головкой ATI Radeon 6350. Я мог перетаскивать значки с одного экрана на другой, но у меня все еще было две панели запуска на каждом экране, и я не мог перетаскивать окна с одного экрана на другой. Мне нужна была следующая запись в разделе "ServerLayout" моего файла xorg.conf.

Вариант "Xinerama"

Теперь у меня есть только один лаучер и я могу перетаскивать окна поверх.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .