Bug 34806

Summary: vertical scrolling and tapping behave differently with kernel 2.6.32 vs 2.6.37
Product: xorg Reporter: Klaus Doering <klaus.doering999>
Component: Input/synapticsAssignee: Peter Hutterer <peter.hutterer>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: chris
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
logfile after repair with 42-synaptics.conf applied none

Description Klaus Doering 2011-02-27 12:55:54 UTC
Created attachment 43899 [details]
logfile after repair with 42-synaptics.conf applied

Hi, first time bug-reporter here...

Submitted this report at bugs.debian.org first, #615582, but they (KiBi) suggested to report it here instead. Here goes:

Sid saw a kernel upgrade from 2.6.32 to 2.6.37 two weeks ago
(?). Since then the touchpad on my Acer Travelmate 8571 doesn't work
as before: the vertical scroll action sometimes works for one stroke,
and then doesn't respond anymore. Single-tapping doesn't reliably
generate TapButton1 events, but most often TapButton3.
After booting back into kernel 2.6.32, everything is fine again.

Using "synclient -l" after booting one or the other kernel, I find different settings:

$ diff synclient_2.6.32.log synclient_2.6.37.log 
2,5c2,5
<     LeftEdge                = 1752
<     RightEdge               = 5192
<     TopEdge                 = 1620
<     BottomEdge              = 4236
---
>     LeftEdge                = 1762
>     RightEdge               = 5338
>     TopEdge                 = 1654
>     BottomEdge              = 4682
10c10
<     MaxTapMove              = 221
---
>     MaxTapMove              = 239
17,19c17,19
<     EmulateTwoFingerMinW    = 7
<     VertScrollDelta         = 100
<     HorizScrollDelta        = 100
---
>     EmulateTwoFingerMinW    = 6
>     VertScrollDelta         = 108
>     HorizScrollDelta        = 108
27c27
<     AccelFactor             = 0.0398089
---
>     AccelFactor             = 0.0367242
32c32
<     EdgeMotionMaxSpeed      = 401
---
>     EdgeMotionMaxSpeed      = 435
52c52
<     PalmMinWidth            = 10
---
>     PalmMinWidth            = 9

I have no /etc/X11/xorg.conf, i.e. all settings are read from
/usr/share/X11/xorg.conf.d/50-synaptics.conf:

Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
EndSection

The surprising finding (to me) was in /var/log/Xorg.o.log. 

for kernel 2.6.32
(--) SynPS/2 Synaptics TouchPad: x-axis range 1472 - 5472
(--) SynPS/2 Synaptics TouchPad: y-axis range 1408 - 4448

whereas for kernel 2.6.37
(--) SynPS/2 Synaptics TouchPad: x-axis range 1472 - 5628
(--) SynPS/2 Synaptics TouchPad: y-axis range 1408 - 4928
  

So, the big question is: how are these different touchpad sizes "probed"?
I guess that the differnces reported by synclient are follow-up errors.
Manually setting the values back to what they were with 2.6.32
restores the desired behaviour. (e.g synclient "RightEdge" "5192") 
Or more permanenty by creating a conf file:

$ cat /etc/X11/xorg.conf.d/42-synaptics.conf
Section "InputClass"
    Identifier "touchpad tweaked catchall"
    MatchIsTouchpad "on"
    Driver "synaptics"
    Option "LeftEdge" "1752"
    Option "RightEdge" "5192"
    Option "MaxTapMove" "221"
    Option "EmulateTwoFingerMinW" "7"
    Option "PalmMinWidth" "10"
EndSection
 
Any help / advice appreciated!
Klaus
Comment 1 Stepan Zastupov 2011-03-21 02:55:34 UTC
I have the same issue after upgrade from fedora 13 to 14 (https://bugzilla.redhat.com/show_bug.cgi?id=653071). In my case, I fixed the tap behavior by manually setting TapButton2=1. Anyway, the defaults worked fine on 2.6.33 and I think it's a synaptics driver issue.
(In reply to comment #0)
> generate TapButton1 events, but most often TapButton3.
Comment 2 Chris Bagwell 2011-05-22 18:42:50 UTC
The difference between those 2 kernels is older version reported pressure and width maximum values as 0 and 0.  Newer one informs with real values.

That causes some logic in xf86-input-wacom to kick in and some rounding errors occured that made to usable on Acer's.

It should be working again with newer xf86-input-synaptics as of this commit:

http://cgit.freedesktop.org/xorg/driver/xf86-input-synaptics/commit/?id=4aa16879bd5084f061a55e5b8a0754e1b037212a

The down side is that 2-finger emulation will not be working by default any more.  You'll have to manual set the EmulateTwoFingerMinZ value.

Once you upgrade to kernel 2.6.38, you'll no longer need to do any emulation of 2 fingers luckly.
Comment 3 Peter Hutterer 2012-04-19 18:21:28 UTC
Closing as fixed as per comment 2

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.