« Previous - Version 5/7 (diff) - Next » - Current version
lynxis, 01/10/2012 16:07


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.


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

Section "Device" 
        Identifier  "aticonfig-Device[0]-0" 
        Driver      "fglrx" 
        BusID       "PCI:4:0:0" 
    Option      "Monitor-DFP2" "Unten Monitor" 
    Option      "Monitor-CRT2" "Oben Monitor" 

Section "Monitor" 
        Identifier      "Unten Monitor" 

Section "Monitor" 
        Identifier      "Oben Monitor" 
        Option          "Above" "Unten Monitor" 

Section "Screen" 
        Identifier "aticonfig-Screen[0]-0" 
        Device     "aticonfig-Device[0]-0" 
        DefaultDepth     24
        SubSection "Display" 
                Viewport   0 0
                Depth     24


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


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" 

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

Heads Name OS _.Driver/Version
2 Intel HD4500 Ubuntu 12.04 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