Bug 470156 - xorg-x11-drv-synaptics breaks ALPS touchpad config on Thinkpad R61
xorg-x11-drv-synaptics breaks ALPS touchpad config on Thinkpad R61
Product: Fedora
Classification: Fedora
Component: xorg-x11-drv-synaptics (Show other bugs)
x86_64 Linux
medium Severity medium
: ---
: ---
Assigned To: Peter Hutterer
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2008-11-05 20:31 EST by Will Kemp
Modified: 2009-07-14 13:13 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2009-07-14 13:13:21 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
xorg.conf with SHMConfig enabled (834 bytes, text/plain)
2008-11-07 21:06 EST, Will Kemp
no flags Details
Xorg.0.log for xorg.conf in attachment number 322921 (29.51 KB, text/plain)
2008-11-07 21:09 EST, Will Kemp
no flags Details
Output of 'synclient -l' after editing xorg.conf to configure RightEdge and BottomEdge (2.04 KB, text/plain)
2008-11-10 03:54 EST, Will Kemp
no flags Details

  None (edit)
Description Will Kemp 2008-11-05 20:31:13 EST
Description of problem:
The package update system obsoleted the old synaptics package and replaced it with xorg-x11-drv-synaptics on 2008-11-03. This broke my previously working ALPS touchpad configuration. Up to that point, i'd had no problems with the touchpad since installing F9 when it came out. But now i can't configure it to work how i want it to.

With no section for it in xorg.conf, i get edge scrolling and tapping. With any configuration for it in xorg.conf, i can't seem to get either. With SHMConfig set to "true", synclient works and gsynaptics works, but neither of them appear to be able to turn on edge scrolling. Synclient reports it as enabled:

    VertEdgeScroll          = 1
    HorizEdgeScroll         = 1

and gsynaptics says the same thing, but it doesn't work.

My problem is that i want scrolling but not tapping - and i can only have both (with nothing in xorg.conf) or neither.

I have tried explicitly enabling scrolling in xorg.conf, but that doesn't work either.

Version-Release number of selected component (if applicable):

How reproducible:
Editing xorg.conf does it for me.

Steps to Reproduce:
1. add section in xorg.conf for touchpad
2. enable SHMConfig
3. try and get scrolling to work
Actual results:
scrolling doesn't work

Expected results:
scrolling should work

Additional info:
Thinkpad R61
ALPS touchpad
worked fine with old 'synaptics' driver package
Comment 1 Matěj Cepl 2008-11-07 19:20:24 EST
Thanks for the bug report.  We have reviewed the information you have provided above, and there is some additional information we require that will be helpful in our diagnosis of this issue.

Please attach your X server config file (/etc/X11/xorg.conf) and X server log file (/var/log/Xorg.*.log) to the bug report as individual uncompressed file attachments using the bugzilla file attachment link below.

We will review this issue again once you've had a chance to attach this information.

Thanks in advance.
Comment 2 Will Kemp 2008-11-07 21:06:46 EST
Created attachment 322921 [details]
xorg.conf with SHMConfig enabled

This is the version of xorg.conf i hand edited to enable SHMConfig to try configuring using gsynaptics. With this configuration, neither scrolling nor tapping work (both are enabled in gsynaptics.

Note: gsynaptics gives the following warning:

** (gsynaptics:17807): WARNING **: Using synclient
Comment 3 Will Kemp 2008-11-07 21:09:39 EST
Created attachment 322922 [details]
Xorg.0.log for xorg.conf in attachment number 322921

This is the xorg.log produced by starting X with the hand edited version of xorg.conf with SHMConfig enabled (attachment 322921 [details]).
Comment 4 Matěj Cepl 2008-11-08 19:20:47 EST
BTW, you might find this http://who-t.blogspot.com/ interesting as well.
Comment 5 Peter Hutterer 2008-11-09 23:56:55 EST
A few things to try: maybe the right edge is reported wrong, so changing RightEdge to something lower may start triggering the scrolling.

Also, have you tried adjusting (increasing) MaxTapMove?
The server picks up the device in the xorg.conf, so any option you provide there should be passed to the driver.

Please post the complete output of synclient -l and the output of synclient -m 20 when moving up and down the right edge of the touchpad.
Comment 6 Will Kemp 2008-11-10 03:52:04 EST
Ah. Ok, i ran 'synclient -m 1' (as suggested in the man page) and got the x and y coordinates of the right and bottom edges and put them into xorg.conf and now scrolling works fine.

Tapping works too - i just had tapping time set to shortest in gsynaptics. If i set it slower, it works. (Which isn't what i want, of course, but just to confirm it does work.)

I won't bother with the output of 'synclient -m' unless you want it still. But the settings i've used are 900 for RightEdge and 700 for BottomEdge.

I'll attach the output of synclient -l anyway, in case you want it. That output is after i've edited xorg.conf and got scrolling working. Tap time is set to shortest.

Thanks for your help.
Comment 7 Will Kemp 2008-11-10 03:54:22 EST
Created attachment 323048 [details]
Output of 'synclient -l' after editing xorg.conf to configure RightEdge and BottomEdge

Output from 'synclient -l' with RightEdge and BottomEdge set in xorg.conf. "Tapping Time" is set to shortest with gsynaptics.
Comment 8 Peter Hutterer 2008-11-10 19:03:38 EST
(In reply to comment #6)
> Ah. Ok, i ran 'synclient -m 1' (as suggested in the man page) and got the x and
> y coordinates of the right and bottom edges and put them into xorg.conf and now
> scrolling works fine.

the touchpad reports 0-1023 and 0-767 for x/y as ranges. Does this mean it doesn't actually get up to these values?
what's the maximum value for x/y you got from the touchpad (with synclient -m)?

The reason I ask is that if the touchpad reports wrong axis ranges there isn't much we can do. If however it reports correctly but the automatic edge calculation is too tight, we can fix that.
Comment 9 Will Kemp 2008-11-11 05:35:53 EST
The highest i can get to is about 988/738 (x/y) - but there's those little strips in the corners that i can't get any part of my finger into, so i guess 1023/767 is probably about right.

I can get scrolling to work with a tighter edge zone, but it's a bit clunky. It works reasonably well with 900/700. 850 is actually a bit smoother - and seems to be about the best trade-off between between smoothness and size of the scroll-free area of the rest of the touchpad.

The thinkpad touchpad is relatively deeply recessed. I haven't got anything else handy to compare it with, but i'm sure some touchpads aren't as deep - which means the thinkpad probably needs a slightly wider edge zone to compensate.
Comment 10 Peter Hutterer 2008-11-12 20:06:05 EST
ok, I'll leave that be for a while now since we have found a solution for you.
I'll have a look at what's upstream now and whether we can make the auto-config a bit smarter.
Comment 11 Will Kemp 2008-11-12 22:13:26 EST
Thanks for your help.
Comment 12 Zdenek Kabelac 2008-12-04 05:41:27 EST
I'm also seeing some problems with synaptic driver - running T61.
As a workaround I've enable also Circular scrolling and selected start point on the right side - that seems to return the old behavior. But I'd be curious what is the proper solution.


Here is my Input Device section:

Section "InputDevice"
        Identifier  "Synaptics"
        Driver      "synaptics"
        Option      "Device" "/dev/input/mice"
        Option      "Protocol" "auto-dev"
        Option      "Emulate3Buttons" "yes"
        Option      "SHMConfig" "on"
        Option      "RTCornerButton" "2"
        Option      "RTCornerButton" "3"
        Option      "TapButton1" "1"
        Option      "TapButton2" "2"
        Option      "TapButton3" "3"

Here is portion of Xorg.log

(II) Synaptics touchpad driver version 0.99.1
(--) Synaptics auto-dev sets device to /dev/input/event7
(**) Option "Device" "/dev/input/event7"
(II) Synaptics: x-axis range 1472 - 5472
(II) Synaptics: y-axis range 1408 - 4448
(II) Synaptics: pressure range 0 - 255
(II) Synaptics: finger width range 0 - 0
(II) Synaptics: buttons: left right middle double triple
(**) Option "SHMConfig" "on"
(**) Option "RTCornerButton" "2"
(**) Option "TapButton1" "1"
(**) Option "TapButton2" "2"
(**) Option "TapButton3" "3"
(--) Synaptics touchpad found
(**) Option "CorePointer"
(**) Synaptics: always reports core events

And output of synaptic -l 
(it used to work with just Vertical and Horizontal scrolling)

Parameter settings:
    LeftEdge                = 1632
    RightEdge               = 5312
    TopEdge                 = 1575
    BottomEdge              = 4281
    FingerLow               = 24
    FingerHigh              = 29
    FingerPress             = 255
    MaxTapTime              = 180
    MaxTapMove              = 221
    MaxDoubleTapTime        = 180
    SingleTapTimeout        = 180
    ClickTime               = 100
    FastTaps                = 0
    EmulateMidButtonTime    = 75
    EmulateTwoFingerMinZ    = 280
    VertScrollDelta         = 5
    HorizScrollDelta        = 5
    VertEdgeScroll          = 0
    HorizEdgeScroll         = 0
    CornerCoasting          = 0
    VertTwoFingerScroll     = 1
    HorizTwoFingerScroll    = 0
    MinSpeed                = 0.4
    MaxSpeed                = 0.7
    AccelFactor             = 0.00995223
    TrackstickSpeed         = 40
    EdgeMotionMinZ          = 29
    EdgeMotionMaxZ          = 159
    EdgeMotionMinSpeed      = 1
    EdgeMotionMaxSpeed      = 401
    EdgeMotionUseAlways     = 0
    UpDownScrolling         = 1
    LeftRightScrolling      = 1
    UpDownScrollRepeat      = 1
    LeftRightScrollRepeat   = 1
    ScrollButtonRepeat      = 100
    TouchpadOff             = 0
    GuestMouseOff           = 0
    LockedDrags             = 0
    LockedDragTimeout       = 5000
    RTCornerButton          = 2
    RBCornerButton          = 0
    LTCornerButton          = 0
    LBCornerButton          = 0
    TapButton1              = 1
    TapButton2              = 2
    TapButton3              = 3
    ClickFinger1            = 1
    ClickFinger2            = 1
    ClickFinger3            = 1
    CircularScrolling       = 1
    CircScrollDelta         = 0.03
    CircScrollTrigger       = 3
    CircularPad             = 0
    PalmDetect              = 0
    PalmMinWidth            = 10
    PalmMinZ                = 199
    CoastingSpeed           = 0
    PressureMotionMinZ      = 29
    PressureMotionMaxZ      = 159
    PressureMotionMinFactor = 1
    PressureMotionMaxFactor = 1
    GrabEventDevice         = 1
Comment 13 Peter Hutterer 2008-12-04 18:16:44 EST
(In reply to comment #12)
> I'm also seeing some problems with synaptic driver - running T61.

Please open a separate bugreport for this issue, the T61s have a different touchpad model. Also, I'd need you to specify "some problems" in a bit more detail please.
Comment 14 Zdenek Kabelac 2009-01-26 05:08:08 EST
Ahh I think I'll add this still to this bugzilla - the problem is unrelated to T61 and at some point, Xorg disabled VertEdgeScroll and HorizEdgeScroll by default - I'm not sure why the gsynaptics shows them enabled (which in fact is wrong, and kind of confusing) - but the solution is to enable these two them in xorg.conf - though other distribution seems to be keeping the patch for Xorg compilation to enable them by default - maybe Fedora should do the same ?
Comment 15 Peter Hutterer 2009-03-19 19:55:09 EDT
This was disabled in rawhide, not F9. For the gsynaptics issue, see Bug #489648.
Comment 16 Zdenek Kabelac 2009-03-20 05:26:29 EDT
Yes - I know - see the Bug #481552 that was already reported by me in January - I think Bug #489648 should be marked as duplicate.
Comment 17 Bug Zapper 2009-06-09 23:11:06 EDT
This message is a reminder that Fedora 9 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 9.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '9'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 9's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 9 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
Comment 18 Bug Zapper 2009-07-14 13:13:21 EDT
Fedora 9 changed to end-of-life (EOL) status on 2009-07-10. Fedora 9 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.

Note You need to log in before you can comment on or make changes to this bug.