Esta resposta pertence ao Ubuntu 11.04 com uma placa gráfica ATI radeon e ao adaptador de monitor USB Diamond DisplayLink BVU-195.
Eu finalmente consegui trabalhar para três monitores. Eu tenho uma placa ATI Radeon com 1 saída DVI e 2 saídas DisplayPort (mas você só pode usar duas de uma vez) e um adaptador USB Diamond DisplayLink BVU 195.
Você precisa instalar o driver do displaylink. Então você tem que escrever seu próprio arquivo xorg.conf.
sudo apt-get install xserver-xorg-video-displaylink
Aqui estão três pontos cruciais.
-
Eu quero poder mover janelas entre exibições. Isso significa que eu não posso usar o xrandr. Em vez disso, eu tenho que habilitar algo chamado Xinerama. Se você usar a opção padrão "xrandr", somente o cursor do mouse poderá se mover entre exibições e os programas não poderão. Não é muito utilizável! Então Xinerama é uma necessidade.
-
Ao configurar o driver ATI radeon, a exibição fica presa como clonada nos dois monitores que ela usa, a menos que você especifique a opção "ZaphodHeads". As opções válidas no meu cartão são "DVI-0" e "DisplayPort-0" ou "DisplayPort-1".
-
Você precisa configurar todos os monitores como 16 bits. Se você ficar com o padrão de 24 bits, o servidor X trava.
-
Eu só recebo telas em branco se o monitor USB estiver conectado quando eu inicializo. Eu tenho que inicializar com ele desconectado, conecte-o e faça o login somente quando a tela USB ficar verde.
Aqui está o meu xorg.conf, que eu coloquei em /etc/X11/xorg.conf. O monitor USB displaylink é Screen0, e o monitor DVI conectado à placa ATI é Screen1, e o monitor DisplayPort também conectado à placa ATI através de um adaptador é Screen2.
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" RightOf "Screen0"
Screen 2 "Screen2" RightOf "Screen1"
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
Option "Xinerama" "on"
EndSection
Section "Files"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
FontPath "built-ins"
EndSection
Section "Module"
Load "dri"
Load "record"
Load "extmod"
Load "dri2"
Load "dbe"
Load "glx"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5 6 7"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Section "Monitor"
Identifier "Monitor2"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Section "Device"
Identifier "DisplayLinkDevice"
driver "displaylink"
Option "fbdev" "/dev/fb1"
EndSection
Section "Device"
Identifier "Card0"
Driver "radeon"
BusID "PCI:1:0:0"
Screen 0
Option "ZaphodHeads" "DVI-0"
EndSection
Section "Device"
Identifier "Card1"
Driver "radeon"
BusID "PCI:1:0:0"
Screen 1
Option "ZaphodHeads" "DisplayPort-1"
EndSection
Section "Screen"
Identifier "Screen0"
Device "DisplayLinkDevice"
Monitor "Monitor2"
DefaultDepth 16
EndSection
Section "Screen"
Identifier "Screen1"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 16
EndSection
Section "Screen"
Identifier "Screen2"
Device "Card1"
Monitor "Monitor1"
DefaultDepth 16
EndSection