MultiMonitorSetup¶
You can use libavg in a multimonitor Setup as long libavg can create one OpenGL context over all screens.
This works with Intel, ATI and Nvidia.
Most graphiccards only allows 2 screen(also named heads) at a time. There are some cards which supports more
than these.
Intel¶
Tested under Linux with Intel HD4500ironlake using opensource drivers
Use xrandr or gnome-settings to add your screen
xrandr --output VGA1 --left-of LVDS1 --auto
You can also use xorg.conf to manual configure the same settings you changed over xrandr
TODO: check ViewPort/VirtualScreenSize - it's missing + testing this!
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "aticonfig-Screen[0]-0" 0 0
EndSection
Section "Device"
Identifier "aticonfig-Device[0]-0"
Driver "fglrx"
BusID "PCI:4:0:0"
Option "Monitor-DFP2" "Unten Monitor"
Option "Monitor-CRT2" "Oben Monitor"
EndSection
Section "Monitor"
Identifier "Unten Monitor"
EndSection
Section "Monitor"
Identifier "Oben Monitor"
Option "Above" "Unten Monitor"
EndSection
Section "Screen"
Identifier "aticonfig-Screen[0]-0"
Device "aticonfig-Device[0]-0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
AMD/ATI¶
Tested with ATI HD 6950 using proprietary drivers from amd
Same way like Intel. Use xrandr-cmdline or use system graphic or you can configure it over xorg.conf.
BUG You have to set Virtual 7128 1200, because otherwise your VirtualScreen is to small for your
Resolution!
Configuration for 3 Screens, each is rotate by 90 degrees(pivot mode)
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "aticonfig-Screen[0]-0" 0 0
EndSection
Section "Module"
Load "glx"
EndSection
Section "Device"
Identifier "Default Device"
Driver "fglrx"
BusId "PCI:1:0:0"
Option "Monitor-DFP13" "TFT-1"
Option "Monitor-DFP5" "TFT-2"
Option "Monitor-DFP9" "TFT-3"
EndSection
Section "Monitor"
Identifier "TFT-1"
Option "LeftOf" "TFT-2"
Option "Rotate" "left"
EndSection
Section "Monitor"
Identifier "TFT-2"
Option "Rotate" "left"
EndSection
Section "Monitor"
Identifier "TFT-3"
Option "RightOf" "TFT-2"
Option "Rotate" "left"
EndSection
Section "Screen"
Identifier "aticonfig-Screen[0]-0"
Device "aticonfig-Device[0]-0"
DefaultDepth 24
SubSection "Display"
Virtual 7128 1200
Depth 24
EndSubSection
EndSection
Nvidia¶
Tested with GTX 660 Ti using proprietary drivers from nvidia
You have to use TwinView. (even for more than 2 screens)
To setup a correct metamodes line I used the /var/log/Xorg.0.log to know
which screen is connected to which connector(example: DFP-0).
[...] Missing Example Log files [...]
Option "metamodes" "<CONNECTOR>: <Resolution_Frequency> +<x-pos>+<y-pos> [[, DFP-1: 1920x1200_60 +1366+0], ...]
Section "Device"
Identifier "Device0"
Driver "nvidia"
BusId "PCI:1:0:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
DefaultDepth 24
Option "TwinView" "1"
Option "TwinViewXineramaInfoOrder" "DFP-0"
#Option "metamodes" "DFP-0: 1366x768_60 +0+0, DFP-1: 1920x1200_60 +1366+0, DFP-2: 1920x1200_60 +3286+0"
Option "metamodes" "DFP-0: 1920x1200_60 +0+0, DFP-1: 1920x1200_60 +1366+0, DFP-2: 1366x768_60 +3286+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
| Heads | Name | OS | _.Driver/Version |
|---|---|---|---|
| 2 | Intel HD4500 | Archlinux | opensrc/kernel 3.5.4/xorg-intel 2.20.8-1 |
| 4 | AMD/ATI HD-6950 | Ubuntu 12.04 | prop/?? |
| 4 | nvidia gtx 660 | Ubuntu 12.04 | prop/?? |
| 2 | nvidia gtx 560 | Ubuntu 12.04 | prop/?? |
Maybe also interesting for you : http://www.x.org/wiki/XInputCoordinateTransformationMatrixUsage and https://wiki.archlinux.org/index.php/Touchscreen