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