xinerama, 2 cartões, 3 monitores

5

Eu tenho tentado acertar e estou quase lá, mas não exatamente assim. Esta máquina possui um adaptador Intel com um monitor e um adaptador ATI com dois. Fico feliz em usar o xinerama para fazer isso funcionar.

Aqui está o meu xorg.conf (Ubuntu 12.04): -

Section "Monitor"
    Identifier "Dell1"
    Option  "DPMS"
EndSection

Section "Monitor"
    Identifier "Dell2"
    Option  "DPMS"
    Option "Left" "Dell3"
EndSection

Section "Monitor"
    Identifier "Dell3"
    Option  "DPMS"
EndSection

Section "Device"
    Identifier      "intel"
    Driver          "intel"
    BusID           "PCI:0:2:0"
EndSection

Section "Device"
    Identifier      "ati"
    Driver          "radeon"
    BusID           "PCI:2:0:0"
#   Option          "Monitor-DVI-0" "Dell3"
#   Option          "Monitor-VGA-1" "Dell2"
EndSection

Section "Screen"
    Identifier      "Screen 0"
    Device          "intel"
    #Monitor                "Dell1"
    DefaultDepth    24
EndSection

Section "Screen"
    Identifier      "Screen 1"
    Device          "ati"
    Monitor         "Dell2"
    SubSection      "Display"
            Depth   24
            Virtual 2560 1024
    EndSubSection
EndSection

Section "ServerLayout"
    Option  "xinerama"      "on"
    Identifier      "multihead"
    Screen          "Screen 0"
    Screen          "Screen 1" LeftOf "Screen 0"
EndSection

Section "Module"
    Load    "glx"
EndSection

Todos os três monitores são 1280x1024 Dells. Com isso, recebo os três monitores ao vivo. Aquele ligado à Intel (o mais à direita) é o principal

Arranjo físico na mesa:

[ Dell 3 ] [ Dell 2 ] [ Dell 1 ]
{      ATI          } {  Intel }

Layout do servidor X:

[Dell  2 ]          ] [ Dell 1 ]
[     Dell 3        ] [        ]

Com isso, quero dizer que, se você começar no RHS na Dell 1 e se mover para a esquerda, pulará para o Dell 3 a seguir. O Dell 3 está exibindo um tamanho virtual de 2560 e, quando você atinge a extremidade esquerda dele, ele começa a se movimentar. Nesse ponto, você também aparece no Dell 2 e, quando chega na extremidade mais à esquerda, o Dell 3 e 2 mostram a mesma coisa.

Como posso obter os monitores corretamente?

Muito obrigado!

John

EDITAR: -

Tentei isso e, de novo, quase funciona. Sem as opções "Primárias", recebo o Unity na Dell1 e as telas pretas nas outras (mas o mouse se move). Com as opções "Primárias" não obtenho nenhum Unity, plano de fundo em todos os monitores que pisca, exibe cintilação quando as teclas são pressionadas e geralmente é muito estranho.

Section "Monitor"
    Identifier "Dell1"
    Option  "DPMS"
    Option "Primary" "False"
EndSection

Section "Monitor"
    Identifier "Dell2"
    Option  "DPMS"
    Option "Primary" "False"
EndSection

Section "Monitor"
    Identifier "Dell3"
    Option  "DPMS"
    Option "Primary" "True"
EndSection

Section "Device"
    Identifier  "intel"
    Driver      "intel"
    BusID       "PCI:0:2:0"
EndSection

Sec>tion "Device"
    Identifier  "ati0"
    Driver      "radeon"
    Option      "ZaphodHeads" "DVI-0"
    BusID       "PCI:2:0:0"
    Screen      0
EndSection

Section "Device"
    Identifier  "ati1"
    Driver      "radeon"
    Option      "ZaphodHeads" "VGA-1"
    BusID       "PCI:2:0:0"
    Screen      1
EndSection

Section "Screen"
    Identifier  "Screen 0"
    Device      "intel"
    Monitor     "Dell1"
    DefaultDepth    24
EndSection

Section "Screen"
    Identifier  "Screen 1"
    Device      "ati0"
    Monitor     "Dell2"
    DefaultDepth    24
EndSection

Section "Screen"
    Identifier  "Screen 2"
    Device      "ati1"
    Monitor     "Dell3"
    DefaultDepth    24
EndSection

Section "ServerLayout"
    Option  "xinerama"  "on"
    Identifier  "multihead"
    Screen      "Screen 0"
    Screen      "Screen 1" LeftOf "Screen 0"
    Screen      "Screen 2" LeftOf "Screen 1"
EndSection

Section "Module"
    Load    "glx"
EndSection
    
por JohnCC 02.05.2012 / 17:16

1 resposta

1

Não tenho certeza se isso ajuda - mas também tive alguns problemas no CentOS com uma configuração de cabeça dupla.

O que finalmente funcionou:

Section "ServerLayout"
        Identifier     "Multihead layout"
        Screen      0  "Screen0" LeftOf "Screen1"
        Screen      1  "Screen1" 0 0
        InputDevice    "Keyboard0" "CoreKeyboard"
        Option      "Xinerama" "on"
        Option      "Clone" "on"
EndSection

Para os monitores (dois idênticos), deixei apenas uma modeline e comentei as linhas Sync e Refresh:

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Dell 1905FP (Digital)"
 ### Comment all HorizSync and VertSync values to use DDC:
#       HorizSync    30.0 - 81.0
#       VertRefresh  56.0 - 76.0
        Option      "dpms"
        Option      "xrandr"
        Modeline "1280x1024" 108.00  1280 1328 1440 1688  1024 1025 1028 1066 +hsync +vsync
EndSection

Section "Monitor"
        Identifier   "Monitor1"
        VendorName   "Monitor Vendor"
        ModelName    "Dell 1905FP (Digital)"
 ### Comment all HorizSync and VertSync values to use DDC:
#       HorizSync    30.0 - 81.0
#       VertRefresh  56.0 - 76.0
        Option      "dpms"
        Option      "xrandr"
        Modeline "1280x1024" 108.00  1280 1328 1440 1688  1024 1025 1028 1066 +hsync +vsync
EndSection

A placa de vídeo é uma ATI de duas cabeças (comparável à sua, eu acho). Observe o parâmetro "screen" na seção do dispositivo.

Section "Device"
        Identifier  "Videocard0"
        Driver      "r500"
        BusID       "PCI:3:0:0"
        Option      "xrandr" "True"
        Screen      0
EndSection

Section "Device"
        Identifier  "Videocard1"
        Driver      "r500"
        VendorName  "Videocard Vendor"
        BoardName   "ATI Technologies Inc RV610 [Radeon HD 2400 XT]"
        BusID       "PCI:3:0:0"
        Option      "xrandr" "True"
        Screen      1
EndSection

Agora colocando tudo junto nas telas - mais uma vez - não permiti escolha para as resoluções e tive que forçar 24 bits:

Section "Screen"
        Identifier "Screen0"
        Device     "Videocard0"
        Monitor    "Monitor0"
        DefaultDepth     24
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Modes    "1280x1024"
                Virtual 1280 1024
        EndSubSection
EndSection

Section "Screen"
        Identifier "Screen1"
        Device     "Videocard1"
        Monitor    "Monitor1"
        DefaultDepth     24
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Modes    "1280x1024"
                Virtual 1280 1024
        EndSubSection
EndSection

No KDE eu tinha definido:

  • habilitar espaços de trabalho virtuais para vários monitores
  • Monitor1: x = 0, y = 0, largura = 1280, altura = 1024
  • Monitor2: x = 1280, y = 0, largura = 1280, altura = 1024

Espero que isso ajude você ...

    
por 21.05.2012 / 15:39