[yocto] X display touch calibration

Gary Thomas gary at mlbassoc.com
Sat Sep 3 01:04:57 PDT 2016


On 2016-08-31 12:18, Maxin B. John wrote:
> Hi,
>
> On Mon, Aug 29, 2016 at 05:52:31PM +0200, Gary Thomas wrote:
>> On 2016-08-29 13:49, Maxin B. John wrote:
>>> Hi Gary,
>>>
>>> On Mon, Aug 29, 2016 at 11:09:25AM +0200, Gary Thomas wrote:
>>>> How is the touchscreen calibration supposed to work now (after
>>>> the recent changes dropping pointercal, tslib, etc)?  I can
>>>> see when I launch X that the screen calibration program runs,
>>>> but I think only briefly as the main [matchbox] screen immediately
>>>> comes up and without calibration, my pointer (touchscreen) is pretty
>>>> useless...
>>>
>>> Could you share some more details about the device that you are using?
>>
>> I'm using an i.MX6Q SabreLite (Boundary Devices) with a 7" LCD that has
>> a TSC-2004 resistive touch screen.
>>
>>>
>>> Most likely, the layer which supports your device, already provides a
>>> default "/etc/pointercal.xinput" file. Removing that file and restarting
>>> the device should bring back the screen calibration program during boot.
>>
>> I removed that file and still the same behavior.
>
> Looks a bit strange :(
>
>>>
>>>> Ideas / pointers?
>>>
>>> Please update that .bbappend file or provide a "reasonable"(which works
>>> with the latest xinput_calibrator) set of default values in the
>>> pointercal.xinput file.
>>
>> Since the autocalibrate isn't working, can you give some guidance
>> what this looks like?  The one created by the [erroneous] .bbappend
>> looks like this:
>>   xinput set-int-prop "EETI eGalax Touch Screen" "Evdev Axis Calibration" 42060 2062 -8 -783544 1 1549 65536
>>   xinput set-int-prop "EETI eGalax Touch Screen" "Evdev Axes Swap" 8 0
>>
>> Note: the reason you didn't see my error when you built for imx28 was
>> that this specific file is i.MX6 specific.
>
> Oh, ok.
>
>> Also, in the past I used a [manually crafted] file:
>>     ================= /etc/X11/xorg.conf.d/11-touchscreen.conf
>>     Section "InputClass"
>>     Identifier "tsc2004"
>>     MatchProduct "tsc2004"
>>     MatchDevicePath "/dev/input/event*"
>>     Driver "evdev"
>>     Option "InvertX" "true"
>>     Option  "Calibration"   "85 4045 166 3991"
>>     EndSection
>>
>> The touchscreen still works if I include this but I was trying to play
>> by the new rules and use the new configuration tools, so I removed it
>> and /etc/pointercal*
>
> Good to hear that it works with the manually created file. To debug the problem
> further, is it possible to share the output from the target ?
> # xinput_calibrator --list

This is what I get:
   root at nitrogen6x:~# xinput_calibrator --list
   Device "tsc2004" id=7

This video shows what my system looks like when I boot:
   http://www.mlbassoc.com/misc/bad.mp4

You can see that it comes up and runs the calibration tool but
then immediately switches to the matchbox desktop.  Note that
I currently do not have an /etc/pointercal.xinput file

n.b. sorry for the slow reply - I was away on a short holiday :-)

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------



More information about the yocto mailing list