这是我的屏幕配置:
+----------------+----------------+
| | |
| | | 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 屏幕。
答案1
不幸的是,我知道你的感受,但我真的找不到原因。经过多次尝试调整(和几次更新),终于有一天,我让它工作了。我在这里发布我的 xorg.conf,以便您可以从中获得一些启发。我记得 xinerama 曾经做过你现在遇到的事情,但现在不会了(我希望将来也不会)。
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 290.10 (pbuilder@cake) Wed Nov 23 12:20:24 UTC 2011
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 280.13 (pbuilder@cake) Mon Aug 8 15:37:15 UTC 2011
Section "ServerLayout"
# Removed Option "Xinerama" "0"
Identifier "Layout0"
Screen 0 "Screen0" 1920 0
Screen 1 "Screen1" LeftOf "Screen0"
Screen 2 "Screen2" RightOf "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "1"
EndSection
Section "Files"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Samsung SMS24A350H"
HorizSync 30.0 - 81.0
VertRefresh 56.0 - 75.0
Option "DPMS"
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "DELL U2412M"
HorizSync 30.0 - 83.0
VertRefresh 50.0 - 61.0
EndSection
Section "Monitor"
Identifier "Monitor2"
VendorName "Unknown"
ModelName "DELL U2412M"
HorizSync 30.0 - 83.0
VertRefresh 50.0 - 61.0
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 560 Ti"
BusID "PCI:2:0:0"
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 460"
BusID "PCI:1:0:0"
Screen 0
EndSection
Section "Device"
Identifier "Device2"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 460"
BusID "PCI:1:0:0"
Screen 1
EndSection
Section "Screen"
# Removed Option "metamodes" "nvidia-auto-select +0+0"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "AddARGBGLXVisuals" "true"
Option "TwinView" "0"
Option "TwinViewXineramaInfoOrder" "CRT-0"
Option "metamodes" "1920x1080 +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
# Removed Option "metamodes" "nvidia-auto-select @1600x1200 +0+0"
# Removed Option "metamodes" "DFP-0: nvidia-auto-select +0+0"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "AddARGBGLXVisuals" "true"
Option "TwinView" "0"
Option "metamodes" "DFP-0: 1920x1200 +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen2"
Device "Device2"
Monitor "Monitor2"
DefaultDepth 24
Option "AddARGBGLXVisuals" "true"
Option "TwinView" "0"
Option "metamodes" "DFP-2: nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Extensions"
Option "Composite" "Disable"
EndSection
系统是 Debian GNU/Linux wheezy(测试版)。驱动程序版本是 290.10。根据您的 xorg.conf,我会尝试禁用 twinview(即使我启用了它,也会遇到这个问题)。
我知道 twinview 可以让你获得更好的性能,而 xinerama 的 3D 加速能力非常差,但如果你没有特殊需求,你可以忍受。我可以在打开 xinerama 的情况下观看非常好的视频。不确定你是否在玩游戏。有关其他信息,你可以看看 XRANDR,虽然这可能是你想要的,但似乎有点难以上手。Xinerama 更透明,但性能较差。
也许还有其他选项与我的不同。启用 Twinview 引起了我的注意,禁用它是解决您的问题的关键。