3 Monitores, Ubuntu 12.04, Gnome 3, 2 placas NVIDIA, COM xrandr ou xinerama?

2

Ok. Eu tenho batido minha cabeça contra a parede por mais de uma semana tentando fazer com que 3 monitores funcionem.

Eu tenho:

  • Nvidia 8600 GT 512MB PCIEx16

  • Nvidia GT 240 1GB PCIEx16

Eles não estão funcionando no SLI (obviamente). Eu tentei usar tudo, desde tutoriais a alguns modelos, até o nvidia-settings, etc etc etc .. Pelo que ouvi, o Xinerama não gosta do gnome 3 por causa da composição, embora eu tenha lido muito sobre o uso Xrandr em vez disso, e fazendo a composição funcionar, mas, infelizmente, eu não posso. Ele sempre trava o X e eu tenho que substituir o xorg.conf pelo meu backup, ou o padrão é o desktop gnome-classic, e além disso, quando ele faz o padrão, ele continua adicionando mais e mais painéis.

Basicamente, eu quero poder usar todos os 3 monitores (sim, assim como no Windows) para arrastar e soltar de janelas diferentes.

Eu tenho o xorg-edit, mas ainda não tenho certeza de como configurá-lo? Existe alguma maneira de:

A> Get compositing working with 3 monitors, 2 nvidia cards, xinerama, and gnome 3?

ou

B>Use twinview with 3 monitors (I have heard it can be done by manually editing xorg.conf)

ou

C>Set up Xrandr to draw all 3 monitors with compositing.

ou

D>Use separate X for each monitor, and be able to use gnome with compositing, as well as drag between all 3

ou

E>ANYTHING. lol. I just want this to work.

Qualquer ajuda que você possa fornecer seria muito apreciada. BTW, estou executando um mini-instalação do Ubuntu com o gnome. Tudo funciona muito bem, mas isso. Eu posso executá-lo bem com 2 monitores e composição, mas não com 3.

Além disso, qual é a melhor ferramenta gráfica para editar o xorg.conf? Não estou achando nada que esteja atualizado, e também seja compreensível por humanos. haha Na verdade, sou um engenheiro de profissão, e tenho trabalhado com computadores há muito tempo, mas esse material do xorg.conf está realmente me confundindo. lol

Obrigado!

    
por Josh 10.10.2012 / 21:06

3 respostas

2

lol Eu amo as perguntas com vários monitores :) Se bem me lembro, TwinView é, como o nome indica, para 2 monitores. O problema com o XRandR é de duas vezes nas configurações de vários monitores. Ele cria um grande display virtual e cada monitor recebe um pedaço dele. Se a resolução total for muito alta (2048 X 2048), talvez não funcione ... Problemas do Framebuffer e outros. Você deve ser capaz de aumentar o tamanho do fb no xorg.conf, mas ele vem com uma perda de desempenho iirc. Além disso, se os monitores tiverem resoluções diferentes, pode haver áreas pretas ou que as janelas caiam das telas.

O Xinerama é capaz de configurações de vários monitores. Vamos tentar uma mistura de xinerama e TwinView primeiro. Se isso falhar, apenas comente as linhas TwinView com #. Aqui está um exemplo do arquivo /etc/X11/xorg.conf . Use-o como um esqueleto e substitua as informações apropriadas. Experimente primeiro com as configurações do TwinView, como no exemplo.

Section "ServerLayout"
    Identifier     "TriHead"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" RightOf "Screen0"
    Screen      2  "Screen1" RightOf "Screen1"
    Option         "Xinerama" "1"                # Enable xinerama on the whole
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Nvidia GT 240"
    BusID          "PCI:1:0:0"                   # Use lscpi | grep VGA to get the BusID
    Screen          0                            # Note the Screen numbers
EndSection

Section "Device"
    Identifier     "Device1"                     # A device for each screen
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Nvidia GT 240"
    BusID          "PCI:1:0:0"
    Screen          1
EndSection

Section "Device"
    Identifier     "Device2"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Nvidia 8600 GT"
    BusID          "PCI:2:0:0"
    Screen          2
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Gateway HX2000"
    HorizSync       31.0 - 83.0
    VertRefresh     56.0 - 76.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "DELL 1907FPV"
    HorizSync       30.0 - 81.0
    VertRefresh     56.0 - 76.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor2"
    VendorName     "Unknown"
    ModelName      "DELL 1907FPV"
    HorizSync       30.0 - 81.0
    VertRefresh     56.0 - 76.0
    Option         "DPMS"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "NoLogo" "True"
    Option         "Coolbits" "5"
#    Option         "DoubleBuffer" "True"
    Option         "TripleBuffer" "True"
    Option         "TwinView" "1"                # Enable TwinView for the shared card
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "TwinView" "1"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen2"
    Device         "Device2"
    Monitor        "Monitor2"
    DefaultDepth    24
    Option         "NoLogo" "True"
    Option         "Coolbits" "5"
#    Option         "DoubleBuffer" "True"
    Option         "TripleBuffer" "True"
    Option         "TwinView" "0"                # No TwinView on this screen
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Também devo mencionar que as Opções adicionais, como "Coolsbits", não são recomendadas, pois permitem o overclock e o ajuste da velocidade do ventilador. "TrippleBuffer" é útil ao usar o VBlank sync.

    
por Anthony 10.10.2012 / 23:26
2

Bem, eu tenho esse tipo de trabalho. Todos os 3 monitores estão funcionando e funcionando, mas ainda não consigo fazer a compostagem funcionar.

Aqui está o meu xorg.conf. Alguma sugestão?

#
Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" RightOf "Screen0"
    Screen      2  "Screen2" RightOf "Screen1"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "1"
EndSection

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "Files"
EndSection

Section "Module"
    Load "glx"
EndSection

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

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Acer"
    ModelName      "20 Inch"
    HorizSync       24.0 - 82.0
    VertRefresh     48.0 - 76.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "HP"
    ModelName      "MidPuta"
    HorizSync       24.0 - 82.0
    VertRefresh     48.0 - 76.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor2"
    VendorName     "Samsung"
    ModelName      "10 Inch"
    HorizSync       24.0 - 82.0
    VertRefresh     48.0 - 76.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GT 240"
    BusID          "PCI:3:0:0"
    Screen          0
EndSection

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

Section "Device"
    Identifier     "Device2"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "8600 GT"
    BusID          "PCI:6:0:0"
    Screen          0
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "DFP-1: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection


Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "CRT-1: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen2"
    Device         "Device2"
    Monitor        "Monitor2"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "DFP-0: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection
#     
por josh 13.10.2012 / 20:43
2

Xinerama quebra randr e compiz

Eu tenho quase o mesmo problema (3x gpu, 6x screen)

O melhor que você pode fazer é usar drivers nvidia, alinhar as telas, ativar xinerama, salvar em xorg.conf e reiniciar (não aplicar configurações)

Você poderá mover as janelas de uma tela para outra e maximizar as janelas por tela.

Sem aceleração de hardware Não compiz.

Talvez algum dia eu tenha um apoio melhor, mas eu não iria segurar minha respiração. De alguma forma, todos na comunidade linux parecem pensar que o multi-monitor significa dois monitores e nada mais.

Eu ouvi recentemente que o mais recente Randr agora suporta múltiplas configurações de gpu / screen, mas depois de várias horas de xingamento e muita frustração eu desisti e voltei para a configuração Xinerama quebrada

    
por Plofkat 23.05.2014 / 14:29