Это моя конфигурация экрана:
+----------------+----------------+
| | |
| | | This is X Screen 1
| | | Two 1680x1050 screens
| | |
+-----+----------------+----------------+-----+
| | |
| | |
| | | This is X Screen 0
| | | Two 2560x1440 screens
| | |
| | |
+----------------------+----------------------+
Все работает хорошо, за исключением того, что когда я пытаюсь сделать полноэкранный режим или развернуть какое-либо окно, оно охватывает все два экрана любого экрана X, на котором он включен. Кроме того, диалоговые окна всегда делятся пополам по середине окна.
Я слышал, что metacity может не очень хорошо играть с Xinerama, но я не могу найти никаких официальных ошибок в интернете. Я думаю, что это также может быть моей конфигурацией, поэтому я решил опубликовать свою проблему здесь.
Вот мой xorg.conf:
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" Absolute 0 1050
Screen 1 "Screen1" Absolute 880 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "1"
EndSection
Section "Files"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "DELL U2711"
HorizSync 29.0 - 113.0
VertRefresh 49.0 - 86.0
Option "DPMS"
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "BenQ FP202W"
HorizSync 30.0 - 84.0
VertRefresh 56.0 - 76.0
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 9800 GT"
BusID "PCI:1:0:0"
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 9800 GT"
BusID "PCI:2:0:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "1"
Option "TwinViewXineramaInfoOrder" "DFP-0"
Option "metamodes" "DFP-0: nvidia-auto-select +0+0, DFP-1: nvidia-auto-select +2560+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "TwinView" "1"
Option "TwinViewXineramaInfoOrder" "DFP-0"
Option "metamodes" "DFP-0: nvidia-auto-select +0+0, DFP-1: nvidia-auto-select +1680+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
РЕДАКТИРОВАТЬ: Вот рабочая версия:
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" Absolute 0 1050
Screen 1 "Screen1" RightOf "Screen0"
Screen 2 "Screen2" Absolute 880 0
Screen 3 "Screen3" RightOf "Screen2"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "1"
EndSection
Section "Files"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
# Monitors
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "DELL U2711"
HorizSync 29.0 - 113.0
VertRefresh 49.0 - 86.0
Option "DPMS"
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "DELL U2711"
HorizSync 29.0 - 113.0
VertRefresh 49.0 - 86.0
Option "DPMS"
EndSection
Section "Monitor"
Identifier "Monitor2"
VendorName "Unknown"
ModelName "BenQ FP202W"
HorizSync 30.0 - 84.0
VertRefresh 56.0 - 76.0
EndSection
Section "Monitor"
Identifier "Monitor3"
VendorName "Unknown"
ModelName "BenQ FP202W"
HorizSync 30.0 - 84.0
VertRefresh 56.0 - 76.0
EndSection
# Devices
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 9800 GT"
BusID "PCI:1:0:0"
Screen 0
Option "PixmapCacheSize" "300000"
Option "OnDemandVBlankInterrupts" "True"
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 9800 GT"
BusID "PCI:1:0:0"
Screen 1
Option "PixmapCacheSize" "300000"
Option "OnDemandVBlankInterrupts" "True"
EndSection
Section "Device"
Identifier "Device2"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 9800 GT"
BusID "PCI:2:0:0"
Screen 0
Option "PixmapCacheSize" "300000"
Option "OnDemandVBlankInterrupts" "True"
EndSection
Section "Device"
Identifier "Device3"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 9800 GT"
BusID "PCI:2:0:0"
Screen 1
Option "PixmapCacheSize" "300000"
Option "OnDemandVBlankInterrupts" "True"
EndSection
# Screens
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "0"
Option "TwinViewXineramaInfoOrder" "DFP-0"
Option "metamodes" "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 "TwinViewXineramaInfoOrder" "DFP-0"
Option "metamodes" "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 "TwinViewXineramaInfoOrder" "DFP-0"
Option "metamodes" "nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen3"
Device "Device3"
Monitor "Monitorr"
DefaultDepth 24
Option "TwinView" "0"
Option "TwinViewXineramaInfoOrder" "DFP-0"
Option "metamodes" "nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Обратите внимание, как я сейчас создаю еще один экран X для каждого монитора.