Câu trả lời này liên quan đến Ubuntu 11.04 với card đồ họa ATI radeon và bộ điều hợp hiển thị USB Diamond DisplayLink BVU-195.
Cuối cùng tôi đã có nó làm việc cho ba màn hình. Tôi có thẻ ATI radeon với 1 đầu ra 2 cổng DisplayPort (nhưng bạn chỉ có thể sử dụng hai cái cùng một lúc) và 1 bộ chuyển đổi USB Diamond DisplayLink BVU 195.
Bạn phải cài đặt trình điều khiển displaylink. Sau đó, bạn phải viết tập tin xorg.conf của riêng bạn.
sudo apt-get install xserver-xorg-video-displaylink
Đây là ba điểm quan trọng.
Tôi muốn có thể di chuyển các cửa sổ giữa các màn hình. Điều đó có nghĩa là tôi không thể sử dụng xrandr. Thay vào đó, tôi phải kích hoạt thứ gọi là Xinerama. Nếu bạn sử dụng tùy chọn "xrandr" mặc định, thì chỉ con trỏ chuột mới có thể di chuyển giữa các màn hình và các chương trình không thể. Không thể sử dụng được! Vì vậy, Xinerama là một điều cần thiết.
Khi định cấu hình trình điều khiển radeon ATI, màn hình bị kẹt dưới dạng nhân bản trên hai màn hình mà nó sử dụng, trừ khi bạn chỉ định tùy chọn "ZaphodHead". Các tùy chọn hợp lệ trên thẻ của tôi là "DVI-0" và "DisplayPort-0" hoặc "DisplayPort-1".
Bạn phải cấu hình tất cả các màn hình là 16 bit. Nếu bạn dính 24 bit mặc định, máy chủ X sẽ gặp sự cố.
Tôi chỉ nhận được màn hình trống nếu màn hình USB được cắm khi tôi khởi động. Tôi phải khởi động với nó, rút phích cắm, sau đó chỉ đăng nhập khi màn hình USB chuyển sang màu xanh lá cây.
Đây là xorg.conf của tôi, mà tôi đã đặt trong /etc/X11/xorg.conf. Màn hình hiển thị liên kết USB là Screen0 và màn hình DVI được kết nối với thẻ ATI là Screen1 và màn hình DisplayPort cũng được kết nối với thẻ ATI thông qua bộ chuyển đổi là 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