Re: How to setup independent screens with the Intel driver?

2015-10-31 Thread Boszormenyi Zoltan
2015-10-30 20:08 keltezéssel, Chris Wilson írta:
> On Fri, Oct 30, 2015 at 08:00:46PM +0100, Boszormenyi Zoltan wrote:
>> 2015-10-30 19:15 keltezéssel, Chris Wilson írta:
>>> On Fri, Oct 30, 2015 at 06:17:50PM +0100, Boszormenyi Zoltan wrote:
 In my case with this particular POS machine, the intended primary display,
 the built-in LVDS with a touchscreen attached is apparently wired to pipe 
 1.

 With this driver behaviour, I can't configure it to be kept as the default 
 :0.0 screen
 if an external display is plugged in. Can this behaviour be changed?
>>> It would need another user parameter. There are several technical
>>> limitations that make automatic assignment difficult. So try
>>>
>>> commit 94d271b239d358f71ae0bcfcc31422a569d73d41
>>> Author: Chris Wilson 
>>> Date:   Fri Oct 30 18:07:37 2015 +
>>>
>>> sna: Allow pipes to be manually assigned to ZaphodHead
>>> -Chris
>> Thanks for your work, I just tested it. At startup, it seems to work:
>> 1. it doesn't complain about invalid pipe
>> 2. cursor appears on :0
>> 3. application appears on :0
>>
>> Then as soon as I touch the touchscreen, the cursor jumps to :1 and
>> further cursor movements are on :1 from that point.

Obviously I meant ":0.1", not ":1" here.

> I'm baffled. xinput fun?

The "as soon as I touch the touchscreen" statement needs to be corrected.
The error occurs if the :0.1 screen uses a larger resolution than :0.0

I experimented a little more and I found that the touchscreen still reports
coordinates scaled according to the larger screen resolution, in this case
the native 1920x1080 on the external screen.

If I touch the touchscreen outside the 1024x768 area or use a mouse and
move the pointer outside the first screen, then the pointer jumps to :0.1
and appears there at a position just like if :0.0 was overlayed on :0.1.

If I force Screen 1 to have the same or lower resolution than Screen 0,
then obviously the pointer cannot leave Screen 0 and this mouse pointer
bug doesn't occur.

So, yes, "xinput fun".

But in practice, this will be enough since with the POS software we don't
use resolutions higher than 1024x768.

Thanks again for your driver fix!

Best regards,
Zoltán Böszörményi

___
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s

How to setup independent screens with the Intel driver?

2015-10-30 Thread Boszormenyi Zoltan
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 
   832x62474.6 
   800x60072.2 75.0 60.3 56.2 
   640x48075.0 72.8 66.7 60.0 
   720x40070.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 +
   800x60060.3 56.2 
   640x48059.9 
   512x38460.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 
   832x62474.6 
   800x60072.2 75.0 60.3 56.2 
   640x48075.0 72.8 66.7 60.0 
   720x40070.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

[3110459.393] 
X.Org X Server 1.16.4
Release Date: 2014-12-20
[3110459.393] X Protocol Version 11, Revision 0
[3110459.393] Build Operating System: Linux 3.10.0-229.4.2.el7.x86_64 x86_64 
[3110459.393] Current Operating System: Linux localhost 4.2.3 #1 SMP Mon Oct 19 06:55:09 EDT 2015 x86_64
[3110459.394] Kernel command line: BOOT_IMAGE=/bzImage root=UUID=b2cccbac-2717-4fcb-ae65-15189e087778 ro quiet LANG=en.US.UTF-8
[3110459.394] Build Date: 26 October 2015  09:25:42AM
[3110459.394]  
[3110459.394] Current version of pixman: 0.32.6
[3110459.394] 	Before reporting problems, check http://wiki.x.org
	to make 

Re: How to setup independent screens with the Intel driver?

2015-10-30 Thread Boszormenyi Zoltan
2015-10-30 17:36 keltezéssel, Chris Wilson írta:
> On Fri, Oct 30, 2015 at 04:58:49PM +0100, Boszormenyi Zoltan wrote:
>> Section "Device"
>> Identifier "Intel0"
>> Driver "intel"
>> BusID  "PCI:0:2:0"
>> Screen 0
>> Option  "AccelMethod"  "sna"
>> Option "Monitor-LVDS1" "LVDS1"
> Option "ZaphodHeads" "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 "ZaphodHeads" "VGA1"
>
>> Option "TearFree" "on"
>> EndSection
> -Chris

I tried adding the ZaphodHeads option to the device sections before.
It didn't work. The driver throws an error:

[3114226.306] (II) intel(0): Using Kernel Mode Setting driver: i915, version 
1.6.0 20150522
[3114226.307] (II) intel(1): Using Kernel Mode Setting driver: i915, version 
1.6.0 20150522
[3114226.307] (--) intel(0): Integrated Graphics Chipset: Intel(R) Pineview G
[3114226.308] (--) intel(0): CPU: x86-64, sse2, sse3, ssse3; using a maximum of 
2 threads
[3114226.308] (==) intel(0): Depth 24, (--) framebuffer bpp 32
[3114226.308] (==) intel(0): RGB weight 888
[3114226.308] (==) intel(0): Default visual is TrueColor
[3114226.308] (**) intel(0): Option "AccelMethod" "sna"
[3114226.308] (**) intel(0): Option "ZaphodHeads" "LVDS1"
[3114226.308] (**) intel(0): Option "TearFree" "on"
[3114226.309] (EE) intel(0): LVDS1 is an invalid output for screen (pipe) 0
[3114226.309] (EE) intel(0): No outputs and no modes.
[3114226.310] (EE) intel(1): Failed to claim DRM device.
[3114226.310] (II) UnloadModule: "intel"
[3114226.310] (II) UnloadModule: "intel"
[3114226.310] (EE) Screen(s) found, but none have a usable configuration.
[3114226.310] (EE)
Fatal server error:
[3114226.310] (EE) no screens found(EE)
[3114226.310] (EE)
Please consult the The X.Org Foundation support
 at http://wiki.x.org
 for help.
[3114226.310] (EE) Please also check the log file at "/var/log/Xorg.0.log" for 
additional
information.
[3114226.310] (EE)
[3114226.320] (EE) Server terminated with error (1). Closing log file.

Attached is the modified xorg.conf file and the Xorg log.
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 "ZaphodHeads" "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 "ZaphodHeads" "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
[3114472.281] 
X.Org X Server 1.16.4
Release Date: 2014-12-20
[3114472.281] X Protocol Version 11, Revision 0
[3114472.281] Build Operating System: Linux 3.10.0-229.4.2.el7.x86_64 x86_64 
[3114472.281] Current Operating System: Linux localhost 4.2.3 #1 SMP Mon Oct 19 
06:55:09 EDT 2015 x86_64
[3114472.281] Kernel command line: BOOT_IMAGE=/bzImage 
root=UUID=b2cccbac-2717-4fcb-ae65-15189e087778 ro quiet LANG=en.US.UTF-8
[3114472.281] Build Date: 26 October 2015  09:25:42AM
[3114472.281]  
[3114472.281] Current version of pixman: 0.32.6
[3114472.281]   Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[3114472.281] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[3114472.282] (==) Log file: "/var/log/Xorg.0.log", Time: Fri Oct 30 12:44:43 
2015
[3114472.282] (==) Using config directory: "/etc/X11/xorg.conf.d"
[3114472.282] (==) Using system config directory "/usr/share/X11/xorg.conf.d"

Re: How to setup independent screens with the Intel driver?

2015-10-30 Thread Chris Wilson
On Fri, Oct 30, 2015 at 04:58:49PM +0100, Boszormenyi Zoltan wrote:
> 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 "ZaphodHeads" "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 "ZaphodHeads" "VGA1"

> Option "TearFree" "on"
> EndSection
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
___
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s

Re: How to setup independent screens with the Intel driver?

2015-10-30 Thread Chris Wilson
On Fri, Oct 30, 2015 at 08:00:46PM +0100, Boszormenyi Zoltan wrote:
> 2015-10-30 19:15 keltezéssel, Chris Wilson írta:
> > On Fri, Oct 30, 2015 at 06:17:50PM +0100, Boszormenyi Zoltan wrote:
> >> In my case with this particular POS machine, the intended primary display,
> >> the built-in LVDS with a touchscreen attached is apparently wired to pipe 
> >> 1.
> >>
> >> With this driver behaviour, I can't configure it to be kept as the default 
> >> :0.0 screen
> >> if an external display is plugged in. Can this behaviour be changed?
> > It would need another user parameter. There are several technical
> > limitations that make automatic assignment difficult. So try
> >
> > commit 94d271b239d358f71ae0bcfcc31422a569d73d41
> > Author: Chris Wilson 
> > Date:   Fri Oct 30 18:07:37 2015 +
> >
> > sna: Allow pipes to be manually assigned to ZaphodHead
> > -Chris
> 
> Thanks for your work, I just tested it. At startup, it seems to work:
> 1. it doesn't complain about invalid pipe
> 2. cursor appears on :0
> 3. application appears on :0
> 
> Then as soon as I touch the touchscreen, the cursor jumps to :1 and
> further cursor movements are on :1 from that point.

I'm baffled. xinput fun? cursors in the driver are allocated per-CRTC
and handled at a screen level. As far as I am aware, the driver only
has to position a cursor at a certain coordinate on the framebuffer (and
so has to translate that into a CRTC location).
 
> Attached is my current configuration, hopefully I got it right.

Looks fine to me.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
___
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s

Re: How to setup independent screens with the Intel driver?

2015-10-30 Thread Boszormenyi Zoltan
2015-10-30 17:46 keltezéssel, Boszormenyi Zoltan írta:
> 2015-10-30 17:36 keltezéssel, Chris Wilson írta:
>> On Fri, Oct 30, 2015 at 04:58:49PM +0100, Boszormenyi Zoltan wrote:
>>> Section "Device"
>>> Identifier "Intel0"
>>> Driver "intel"
>>> BusID  "PCI:0:2:0"
>>> Screen 0
>>> Option  "AccelMethod"  "sna"
>>> Option "Monitor-LVDS1" "LVDS1"
>> Option "ZaphodHeads" "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 "ZaphodHeads" "VGA1"
>>
>>> Option "TearFree" "on"
>>> EndSection
>> -Chris
> I tried adding the ZaphodHeads option to the device sections before.
> It didn't work. The driver throws an error:
>
> [3114226.306] (II) intel(0): Using Kernel Mode Setting driver: i915, version 
> 1.6.0 20150522
> [3114226.307] (II) intel(1): Using Kernel Mode Setting driver: i915, version 
> 1.6.0 20150522
> [3114226.307] (--) intel(0): Integrated Graphics Chipset: Intel(R) Pineview G
> [3114226.308] (--) intel(0): CPU: x86-64, sse2, sse3, ssse3; using a maximum 
> of 2 threads
> [3114226.308] (==) intel(0): Depth 24, (--) framebuffer bpp 32
> [3114226.308] (==) intel(0): RGB weight 888
> [3114226.308] (==) intel(0): Default visual is TrueColor
> [3114226.308] (**) intel(0): Option "AccelMethod" "sna"
> [3114226.308] (**) intel(0): Option "ZaphodHeads" "LVDS1"
> [3114226.308] (**) intel(0): Option "TearFree" "on"
> [3114226.309] (EE) intel(0): LVDS1 is an invalid output for screen (pipe) 0

It seems the device pipe and screen matching doesn't work properly.
The driver seems to be assuming that its pipe numbers always match
the same X screen numbers.

In the (semi-)working (mis-)configuration in my original post, LVDS1 is
attached to pipe 0 and VGA1 to pipe 1:

[3110459.475] (--) intel(1): Output LVDS1 using initial mode 1024x768 on pipe 1

and

[3110459.564] (II) intel(0): switch to mode 1024x768@75.0 on VGA1 using pipe 0, 
position
(0, 0), rotation normal, reflection none
[3110459.564] (II) intel(0): Setting screen physical size to 270 x 203
[3110459.591] (II) intel(1): switch to mode 1920x1080@60.0 on VGA1 using pipe 
1, position
(1024, 0), rotation normal, reflection none
[3110459.591] (II) intel(1): Setting screen physical size to 778 x 285

Best regards,
Zoltán Böszörményi

___
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s

Re: How to setup independent screens with the Intel driver?

2015-10-30 Thread Boszormenyi Zoltan
2015-10-30 18:17 keltezéssel, Boszormenyi Zoltan írta:
> 2015-10-30 18:03 keltezéssel, Chris Wilson írta:
>> On Fri, Oct 30, 2015 at 05:56:35PM +0100, Boszormenyi Zoltan wrote:
>>> 2015-10-30 17:46 keltezéssel, Boszormenyi Zoltan írta:
 2015-10-30 17:36 keltezéssel, Chris Wilson írta:
> On Fri, Oct 30, 2015 at 04:58:49PM +0100, Boszormenyi Zoltan wrote:
>> Section "Device"
>> Identifier "Intel0"
>> Driver "intel"
>> BusID  "PCI:0:2:0"
>> Screen 0
>> Option  "AccelMethod"  "sna"
>> Option "Monitor-LVDS1" "LVDS1"
> Option "ZaphodHeads" "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 "ZaphodHeads" "VGA1"
>
>> Option "TearFree" "on"
>> EndSection
> -Chris
 I tried adding the ZaphodHeads option to the device sections before.
 It didn't work. The driver throws an error:

 [3114226.306] (II) intel(0): Using Kernel Mode Setting driver: i915, 
 version 1.6.0 20150522
 [3114226.307] (II) intel(1): Using Kernel Mode Setting driver: i915, 
 version 1.6.0 20150522
 [3114226.307] (--) intel(0): Integrated Graphics Chipset: Intel(R) 
 Pineview G
 [3114226.308] (--) intel(0): CPU: x86-64, sse2, sse3, ssse3; using a 
 maximum of 2 threads
 [3114226.308] (==) intel(0): Depth 24, (--) framebuffer bpp 32
 [3114226.308] (==) intel(0): RGB weight 888
 [3114226.308] (==) intel(0): Default visual is TrueColor
 [3114226.308] (**) intel(0): Option "AccelMethod" "sna"
 [3114226.308] (**) intel(0): Option "ZaphodHeads" "LVDS1"
 [3114226.308] (**) intel(0): Option "TearFree" "on"
 [3114226.309] (EE) intel(0): LVDS1 is an invalid output for screen (pipe) 0
>>> It seems the device pipe and screen matching doesn't work properly.
>>> The driver seems to be assuming that its pipe numbers always match
>>> the same X screen numbers.
>> Assuming? That's how I documented it.
>> -Chris
> "man intel" on Fedora 22 doesn't says anything like that. Where is it 
> documented?
>
> In my case with this particular POS machine, the intended primary display,
> the built-in LVDS with a touchscreen attached is apparently wired to pipe 1.
>
> With this driver behaviour, I can't configure it to be kept as the default 
> :0.0 screen
> if an external display is plugged in. Can this behaviour be changed?

For the record, switching the screen numbers made the setup work.
Now the problem is that the cursor pointer is on the default screen (:0.0, VGA1)
and the touchscreen obviously controls the pointer on the default screen
and you cannot move the pointer to the secondary screen with the touchscreen.
This won't go with the POS software with further configuration.

Now, how can I convince Xorg to move the core pointer to screen 1?

Best regards,
Zoltán Böszörményi

___
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s

Re: How to setup independent screens with the Intel driver?

2015-10-30 Thread Chris Wilson
On Fri, Oct 30, 2015 at 05:56:35PM +0100, Boszormenyi Zoltan wrote:
> 2015-10-30 17:46 keltezéssel, Boszormenyi Zoltan írta:
> > 2015-10-30 17:36 keltezéssel, Chris Wilson írta:
> >> On Fri, Oct 30, 2015 at 04:58:49PM +0100, Boszormenyi Zoltan wrote:
> >>> Section "Device"
> >>> Identifier "Intel0"
> >>> Driver "intel"
> >>> BusID  "PCI:0:2:0"
> >>> Screen 0
> >>> Option  "AccelMethod"  "sna"
> >>> Option "Monitor-LVDS1" "LVDS1"
> >> Option "ZaphodHeads" "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 "ZaphodHeads" "VGA1"
> >>
> >>> Option "TearFree" "on"
> >>> EndSection
> >> -Chris
> > I tried adding the ZaphodHeads option to the device sections before.
> > It didn't work. The driver throws an error:
> >
> > [3114226.306] (II) intel(0): Using Kernel Mode Setting driver: i915, 
> > version 1.6.0 20150522
> > [3114226.307] (II) intel(1): Using Kernel Mode Setting driver: i915, 
> > version 1.6.0 20150522
> > [3114226.307] (--) intel(0): Integrated Graphics Chipset: Intel(R) Pineview 
> > G
> > [3114226.308] (--) intel(0): CPU: x86-64, sse2, sse3, ssse3; using a 
> > maximum of 2 threads
> > [3114226.308] (==) intel(0): Depth 24, (--) framebuffer bpp 32
> > [3114226.308] (==) intel(0): RGB weight 888
> > [3114226.308] (==) intel(0): Default visual is TrueColor
> > [3114226.308] (**) intel(0): Option "AccelMethod" "sna"
> > [3114226.308] (**) intel(0): Option "ZaphodHeads" "LVDS1"
> > [3114226.308] (**) intel(0): Option "TearFree" "on"
> > [3114226.309] (EE) intel(0): LVDS1 is an invalid output for screen (pipe) 0
> 
> It seems the device pipe and screen matching doesn't work properly.
> The driver seems to be assuming that its pipe numbers always match
> the same X screen numbers.

Assuming? That's how I documented it.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
___
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s

Re: How to setup independent screens with the Intel driver?

2015-10-30 Thread Chris Wilson
On Fri, Oct 30, 2015 at 05:46:51PM +0100, Boszormenyi Zoltan wrote:
> 2015-10-30 17:36 keltezéssel, Chris Wilson írta:
> > On Fri, Oct 30, 2015 at 04:58:49PM +0100, Boszormenyi Zoltan wrote:
> >> Section "Device"
> >> Identifier "Intel0"
> >> Driver "intel"
> >> BusID  "PCI:0:2:0"
> >> Screen 0
> >> Option  "AccelMethod"  "sna"
> >> Option "Monitor-LVDS1" "LVDS1"
> > Option "ZaphodHeads" "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 "ZaphodHeads" "VGA1"
> >
> >> Option "TearFree" "on"
> >> EndSection
> > -Chris
> 
> I tried adding the ZaphodHeads option to the device sections before.
> It didn't work. The driver throws an error:

Swap around Screen 0 and Screen 1, i.e. use VGA in Screen 0 and LVDS1 in
Screen 0.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
___
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s

Re: How to setup independent screens with the Intel driver?

2015-10-30 Thread Boszormenyi Zoltan
2015-10-30 18:03 keltezéssel, Chris Wilson írta:
> On Fri, Oct 30, 2015 at 05:56:35PM +0100, Boszormenyi Zoltan wrote:
>> 2015-10-30 17:46 keltezéssel, Boszormenyi Zoltan írta:
>>> 2015-10-30 17:36 keltezéssel, Chris Wilson írta:
 On Fri, Oct 30, 2015 at 04:58:49PM +0100, Boszormenyi Zoltan wrote:
> Section "Device"
> Identifier "Intel0"
> Driver "intel"
> BusID  "PCI:0:2:0"
> Screen 0
> Option  "AccelMethod"  "sna"
> Option "Monitor-LVDS1" "LVDS1"
 Option "ZaphodHeads" "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 "ZaphodHeads" "VGA1"

> Option "TearFree" "on"
> EndSection
 -Chris
>>> I tried adding the ZaphodHeads option to the device sections before.
>>> It didn't work. The driver throws an error:
>>>
>>> [3114226.306] (II) intel(0): Using Kernel Mode Setting driver: i915, 
>>> version 1.6.0 20150522
>>> [3114226.307] (II) intel(1): Using Kernel Mode Setting driver: i915, 
>>> version 1.6.0 20150522
>>> [3114226.307] (--) intel(0): Integrated Graphics Chipset: Intel(R) Pineview 
>>> G
>>> [3114226.308] (--) intel(0): CPU: x86-64, sse2, sse3, ssse3; using a 
>>> maximum of 2 threads
>>> [3114226.308] (==) intel(0): Depth 24, (--) framebuffer bpp 32
>>> [3114226.308] (==) intel(0): RGB weight 888
>>> [3114226.308] (==) intel(0): Default visual is TrueColor
>>> [3114226.308] (**) intel(0): Option "AccelMethod" "sna"
>>> [3114226.308] (**) intel(0): Option "ZaphodHeads" "LVDS1"
>>> [3114226.308] (**) intel(0): Option "TearFree" "on"
>>> [3114226.309] (EE) intel(0): LVDS1 is an invalid output for screen (pipe) 0
>> It seems the device pipe and screen matching doesn't work properly.
>> The driver seems to be assuming that its pipe numbers always match
>> the same X screen numbers.
> Assuming? That's how I documented it.
> -Chris

"man intel" on Fedora 22 doesn't says anything like that. Where is it 
documented?

In my case with this particular POS machine, the intended primary display,
the built-in LVDS with a touchscreen attached is apparently wired to pipe 1.

With this driver behaviour, I can't configure it to be kept as the default :0.0 
screen
if an external display is plugged in. Can this behaviour be changed?

Best regards,
Zoltán Böszörményi


___
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s

Re: How to setup independent screens with the Intel driver?

2015-10-30 Thread Boszormenyi Zoltan
2015-10-30 19:15 keltezéssel, Chris Wilson írta:
> On Fri, Oct 30, 2015 at 06:17:50PM +0100, Boszormenyi Zoltan wrote:
>> In my case with this particular POS machine, the intended primary display,
>> the built-in LVDS with a touchscreen attached is apparently wired to pipe 1.
>>
>> With this driver behaviour, I can't configure it to be kept as the default 
>> :0.0 screen
>> if an external display is plugged in. Can this behaviour be changed?
> It would need another user parameter. There are several technical
> limitations that make automatic assignment difficult. So try
>
> commit 94d271b239d358f71ae0bcfcc31422a569d73d41
> Author: Chris Wilson 
> Date:   Fri Oct 30 18:07:37 2015 +
>
> sna: Allow pipes to be manually assigned to ZaphodHead
> -Chris

Thanks for your work, I just tested it. At startup, it seems to work:
1. it doesn't complain about invalid pipe
2. cursor appears on :0
3. application appears on :0

Then as soon as I touch the touchscreen, the cursor jumps to :1 and
further cursor movements are on :1 from that point.

Attached is my current configuration, hopefully I got it right.

Best regards,
Zoltán Böszörményi

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 "ZaphodHeads" "1: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 "ZaphodHeads" "0: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
___
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s

Re: How to setup independent screens with the Intel driver?

2015-10-30 Thread Chris Wilson
On Fri, Oct 30, 2015 at 06:17:50PM +0100, Boszormenyi Zoltan wrote:
> 2015-10-30 18:03 keltezéssel, Chris Wilson írta:
> > On Fri, Oct 30, 2015 at 05:56:35PM +0100, Boszormenyi Zoltan wrote:
> >> 2015-10-30 17:46 keltezéssel, Boszormenyi Zoltan írta:
> >>> 2015-10-30 17:36 keltezéssel, Chris Wilson írta:
>  On Fri, Oct 30, 2015 at 04:58:49PM +0100, Boszormenyi Zoltan wrote:
> > Section "Device"
> > Identifier "Intel0"
> > Driver "intel"
> > BusID  "PCI:0:2:0"
> > Screen 0
> > Option  "AccelMethod"  "sna"
> > Option "Monitor-LVDS1" "LVDS1"
>  Option "ZaphodHeads" "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 "ZaphodHeads" "VGA1"
> 
> > Option "TearFree" "on"
> > EndSection
>  -Chris
> >>> I tried adding the ZaphodHeads option to the device sections before.
> >>> It didn't work. The driver throws an error:
> >>>
> >>> [3114226.306] (II) intel(0): Using Kernel Mode Setting driver: i915, 
> >>> version 1.6.0 20150522
> >>> [3114226.307] (II) intel(1): Using Kernel Mode Setting driver: i915, 
> >>> version 1.6.0 20150522
> >>> [3114226.307] (--) intel(0): Integrated Graphics Chipset: Intel(R) 
> >>> Pineview G
> >>> [3114226.308] (--) intel(0): CPU: x86-64, sse2, sse3, ssse3; using a 
> >>> maximum of 2 threads
> >>> [3114226.308] (==) intel(0): Depth 24, (--) framebuffer bpp 32
> >>> [3114226.308] (==) intel(0): RGB weight 888
> >>> [3114226.308] (==) intel(0): Default visual is TrueColor
> >>> [3114226.308] (**) intel(0): Option "AccelMethod" "sna"
> >>> [3114226.308] (**) intel(0): Option "ZaphodHeads" "LVDS1"
> >>> [3114226.308] (**) intel(0): Option "TearFree" "on"
> >>> [3114226.309] (EE) intel(0): LVDS1 is an invalid output for screen (pipe) > >>> 0
> >> It seems the device pipe and screen matching doesn't work properly.
> >> The driver seems to be assuming that its pipe numbers always match
> >> the same X screen numbers.
> > Assuming? That's how I documented it.
> > -Chris
> 
> "man intel" on Fedora 22 doesn't says anything like that. Where is it 
> documented?

Apparently in my imagination. I could have sworn that I wrote about the
relationship between the Screen number and the CRTC it was assigned and
how you needed to look at the xrandr output to work out possible
arrangements. Probably lost in some bugzilla.
 
> In my case with this particular POS machine, the intended primary display,
> the built-in LVDS with a touchscreen attached is apparently wired to pipe 1.
> 
> With this driver behaviour, I can't configure it to be kept as the default 
> :0.0 screen
> if an external display is plugged in. Can this behaviour be changed?

It would need another user parameter. There are several technical
limitations that make automatic assignment difficult. So try

commit 94d271b239d358f71ae0bcfcc31422a569d73d41
Author: Chris Wilson 
Date:   Fri Oct 30 18:07:37 2015 +

sna: Allow pipes to be manually assigned to ZaphodHead
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
___
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s

Re: How to setup independent screens with the Intel driver?

2015-10-30 Thread Boszormenyi Zoltan
2015-10-30 20:08 keltezéssel, Chris Wilson írta:
> On Fri, Oct 30, 2015 at 08:00:46PM +0100, Boszormenyi Zoltan wrote:
>> 2015-10-30 19:15 keltezéssel, Chris Wilson írta:
>>> On Fri, Oct 30, 2015 at 06:17:50PM +0100, Boszormenyi Zoltan wrote:
 In my case with this particular POS machine, the intended primary display,
 the built-in LVDS with a touchscreen attached is apparently wired to pipe 
 1.

 With this driver behaviour, I can't configure it to be kept as the default 
 :0.0 screen
 if an external display is plugged in. Can this behaviour be changed?
>>> It would need another user parameter. There are several technical
>>> limitations that make automatic assignment difficult. So try
>>>
>>> commit 94d271b239d358f71ae0bcfcc31422a569d73d41
>>> Author: Chris Wilson 
>>> Date:   Fri Oct 30 18:07:37 2015 +
>>>
>>> sna: Allow pipes to be manually assigned to ZaphodHead
>>> -Chris
>> Thanks for your work, I just tested it. At startup, it seems to work:
>> 1. it doesn't complain about invalid pipe
>> 2. cursor appears on :0
>> 3. application appears on :0
>>
>> Then as soon as I touch the touchscreen, the cursor jumps to :1 and
>> further cursor movements are on :1 from that point.
> I'm baffled. xinput fun? cursors in the driver are allocated per-CRTC
> and handled at a screen level. As far as I am aware, the driver only
> has to position a cursor at a certain coordinate on the framebuffer (and
> so has to translate that into a CRTC location).

BTW, this is the touchscreen driver in question:
https://github.com/SICOM/xf86-input-eeti-egalax

It doesn't have anything directly screen related, I used xf86-input-void
as the driver skeleton.

>  
>> Attached is my current configuration, hopefully I got it right.
> Looks fine to me.
> -Chris
>

___
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s