Is there some way that I can have Xinerama enabled and still use hardware acceleration? I have three monitors on 2 GPUs. I have enabled Xinerama, but now all hardware acceleration is gone. This results in bad framerates in games, and Compiz isn't working properly. In case this is impossible, is there some way to move applications between X screens without Xinerama? Here is my xorg.conf, generated by NVIDIA X Server Settings:
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 295.33 (buildd@zirconium) Fri Mar 30 13:43:34 UTC 2012
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Samsung SyncMaster"
HorizSync 30.0 - 81.0
VertRefresh 56.0 - 85.0
Option "DPMS"
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "GML GM-QUADRANT-A"
HorizSync 30.0 - 81.0
VertRefresh 56.0 - 75.0
Option "DPMS"
EndSection
Section "Monitor"
Identifier "Monitor2"
VendorName "Unknown"
ModelName "Samsung SyncMaster"
HorizSync 30.0 - 81.0
VertRefresh 56.0 - 75.0
Option "DPMS"
# HorizSync source: edid, VertRefresh source: edid
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "0"
Option "metamodes" "CRT: nvidia-auto-select +0+0; CRT: 1280x1024_75 +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "TwinView" "0"
Option "metamodes" "DFP: 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 "metamodes" "nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
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"
# generated from default
EndSection
Section "Extensions"
Option "Composite" "Disable"
EndSection
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" RightOf "Screen0"
Screen 2 "Screen2" RightOf "Screen1"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "1"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 570"
BusID "PCI:1:0:0"
Screen 0
Option "NoLogo" "True"
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 570"
BusID "PCI:1:0:0"
Screen 1
Option "NoLogo" "True"
EndSection
Section "Device"
Identifier "Device2"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 9500 GS"
BusID "PCI:7:0:0"
Option "NoLogo" "True"
EndSection
Try including
in your
"Device"
sections.It seems this is not possible since Xinerama emulates a single virtual monitor. Since this virtual monitor is all software, there can be no hardware acceleration.
I've solved this by using a graphics card with a built-in DVI splitter. The OS can only see a single big monitor.
Maximizing windows work after tweaking compiz, see Split monitor in two.