How to setup independent screens with the Intel driver?

Boszormenyi Zoltan zboszor at pr.hu
Fri Oct 30 08:58:49 PDT 2015


Hi,

I am using kernel 4.2.3, Xorg 1.16.4, Mesa 11.0.4 and the current xf86-video-intel GIT tip
(commit be3748802398a741208715233d36935378ceff58) on an
OpenEmbedded / Yocto derived distro.

This machine I have to configure and develop for is a POS machine with this Intel chip:

# lspci -s 00:02.0
00:02.0 VGA compatible controller: Intel Corporation Atom Processor D4xx/D5xx/N4xx/N5xx
Integrated Graphics Controller (rev 02) (prog-if 00 [VGA controller])

Without a configuration file, I get clone mode with the two screens.
But I would like to setup two separate screens with :0.0 and :0.1
without Xinerama or unified framebuffer, in order to make fullscreen
X apps cover only one of the screens.

Below is the xorg.conf I am trying to use with the touchscreen configuration omitted.

-------------------------------------------------------------------------
Section "Monitor"
        Identifier "Monitor-LVDS1"
EndSection

Section "Monitor"
        Identifier "Monitor-VGA1"
        #Option "RightOf"  "Monitor-LVDS1"
EndSection

Section "Device"
        Identifier "Intel0"
        Driver     "intel"
        BusID      "PCI:0:2:0"
        Screen     0
        Option      "AccelMethod"  "sna"
        Option     "Monitor-LVDS1" "LVDS1"
        Option     "TearFree" "on"
EndSection

Section "Device"
        Identifier "Intel1"
        Driver     "intel"
        BusID      "PCI:0:2:0"
        Screen     1
        Option      "AccelMethod"  "sna"
        Option     "Monitor-VGA1" "VGA1"
        Option     "TearFree" "on"
EndSection

Section "Screen"
        Identifier      "SCREEN0"
        Option          "AutoServerLayout" "on"
        Device          "Intel0"
        Monitor         "Monitor-LVDS1"
        SubSection "Display"
                Viewport 0 0
                Modes "1024x768"
                Depth 24
        EndSubSection
EndSection

Section "Screen"
        Identifier      "SCREEN1"
        Option          "AutoServerLayout" "on"
        Device          "Intel1"
        Monitor         "Monitor-VGA1"
        SubSection "Display"
                Viewport 0 0
                Depth 24
        EndSubSection
EndSection

Section "ServerLayout"
        Identifier      "LAYOUT"
        Option          "AutoServerLayout" "on"
        Screen 0 "SCREEN0"
        Screen 1 "SCREEN1"
EndSection
-------------------------------------------------------------------------

However, Screen 0 gets VGA1 and Screen 1 gets LVDS1+VGA1 according to xrandr:

# DISPLAY=:0.0 xrandr
Screen 0: minimum 8 x 8, current 1024 x 768, maximum 32767 x 32767
VGA1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 510mm x 287mm
   1024x768       75.1*+   70.1     60.0 
   1920x1080      60.0 +
   1280x1024      75.0     60.0 
   1280x960       60.0 
   1280x800       59.8 
   1152x864       75.0 
   1280x720       60.0 
   832x624        74.6 
   800x600        72.2     75.0     60.3     56.2 
   640x480        75.0     72.8     66.7     60.0 
   720x400        70.1 
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

# DISPLAY=:0.1 xrandr
Screen 1: minimum 8 x 8, current 2944 x 1080, maximum 32767 x 32767
LVDS1 connected (normal left inverted right x axis y axis)
   1024x768       60.0 +
   800x600        60.3     56.2 
   640x480        59.9 
   512x384        60.0 
VGA1 connected 1920x1080+1024+0 (normal left inverted right x axis y axis) 510mm x 287mm
   1920x1080      60.0*+
   1280x1024      75.0     60.0 
   1280x960       60.0 
   1280x800       59.8 
   1152x864       75.0 
   1280x720       60.0 
   1024x768       75.1     70.1     60.0 
   832x624        74.6 
   800x600        72.2     75.0     60.3     56.2 
   640x480        75.0     72.8     66.7     60.0 
   720x400        70.1 
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

Attached is Xorg.0.log which says that the configuration should be correct:

[3110459.395] (==) ServerLayout "LAYOUT"
[3110459.395] (**) |-->Screen "SCREEN0" (0)
[3110459.395] (**) |   |-->Monitor "Monitor-LVDS1"
[3110459.396] (**) |   |-->Device "Intel0"
[3110459.396] (**) |-->Screen "SCREEN1" (1)
[3110459.396] (**) |   |-->Monitor "Monitor-VGA1"
[3110459.396] (**) |   |-->Device "Intel1"
[3110459.396] (**) |-->Input Device "TOUCHSCREEN"

What am I doing wrong? Do I need a newer 1.17.x Xorg server to get this right?

Thanks in advance,
Zoltán Böszörményi

-------------- next part --------------
A non-text attachment was scrubbed...
Name: Xorg.0.log
Type: text/x-log
Size: 38778 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20151030/2e2dd3b6/attachment-0001.bin>


More information about the xorg mailing list