Bug 979554 - Since switch to libinput, circular scrolling doesn't work
Since switch to libinput, circular scrolling doesn't work
Status: RESOLVED FIXED
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: X.Org
Current
x86-64 SUSE Other
: P2 - High : Normal (vote)
: ---
Assigned To: Stefan Dirsch
E-mail List
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2016-05-11 17:04 UTC by Ivan Topolsky
Modified: 2018-06-21 21:37 UTC (History)
0 users

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Topolsky 2016-05-11 17:04:06 UTC
Hello,

since Tunbleweed switched from "synaptics" to "libinput" driver for touchpads a few week back, "Circular Scrolling" isn't available anymore for the "AlpsPS/2 ALPS DualPoint TouchPad" on my Dell Lattitude e6510.

> libinput Scroll Methods Available (291):        1, 1, 0
> libinput Scroll Method Enabled (292):   0, 1, 0
> libinput Scroll Method Enabled Default (293):   1, 0, 0

It's either "Two fingers" by default,
or "Edge Scroll" after setting it in systemsettings5 (as in the above exemple).

No circular scrolling available anymore as it used to be the case with the synaptics driver.



What's the best course of action for me ?

- revert/downgrade back to synaptics driver ? 
- or is there some beta version of libinput *with* circular scrolling that I can try ?
Comment 1 Egbert Eich 2016-05-12 16:30:43 UTC
You can still use the synaptics driver:
If you look at /etc/X11/xorg.conf.d/ you will find a file 50-synaptics.conf and a file 90-libinput.conf. The 90-* file is loaded later, thus overrides devices that match its selection rules. Since 90-libinput.conf has a 'catc all' rule, it will override all previous rules (including the ones from 50-synaptics.conf).
If you rename the file so that the 50 is replaced by a number >90 the synaptics driver should work again.

We cannot do this on the distro as 50-synaptics.conf contains a catch all rule for touchpads. So this driver would be used for touchpads even if they cannot be driven by the synaptics driver.

This is more a support question than a real bug.
Comment 2 Stefan Dirsch 2016-05-13 08:00:53 UTC
Just found an interesting upstream change for libinput and wacom driver.

libinput:
commit 3f569ec493e738242da97afe30f7dd2a3b2b834d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 26 15:45:18 2016 +1000

    conf: rename to 60-libinput.conf
    
    60 sorts higher than the other drivers (evdev has 10, synaptics, wacom and
    others have 50) so we keep the same order.
    
    This is part of a two-step solution, the other half is renaming the
    xf86-input-wacom's config snippet to sort higher than libinput's.
    
    Currently libinput picks up devices that are (for now) destined to the wacom
    driver. Since the wacom driver is more of a leaf package than libinput, the
    best option here is to make the wacom driver sort higher and let users
    uninstall it when not needed. To avoid crowding the 90-* space where users
    usually have custom config snippets, drop libinput down to 60 and bump wacom
    up.

wacom:
    
commit 0da5cd545e38079b62656a23835c4943af05dc92
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Apr 27 10:10:27 2016 -0700

    conf: rename to 70-wacom.conf
    
    This is part of a two-step solution, the other half is renaming the
    xf86-input-libinput config snippet to sort lower than ours.
    
    Currently libinput picks up devices that are (for now) destined to the wacom
    driver. Since the wacom driver is more of a leaf package than libinput, the
    best option here is to make the wacom driver sort higher and let users
    uninstall it when not needed. To avoid crowding the 90-* space where users
    usually have custom config snippets, libinput will drop down to 60 and
    wacom will bump up to 70.
    
    Fixes: https://sourceforge.net/p/linuxwacom/bugs/315/
    Fixes: https://github.com/linuxwacom/xf86-input-wacom/issues/4

Egbert, do you think it would make sense to do the same for synaptics snippet, i.e. move from 50-synaptic.conf to 70-synapticts.conf? What should we do with evdev idling on 10-evdev.conf?
Comment 3 Stefan Dirsch 2016-05-13 08:07:56 UTC
Reopen in order to track which input drivers being installed by default and with which priority these are chosen by X. Reassigning to myself.
Comment 4 Egbert Eich 2016-05-14 12:31:05 UTC
(In reply to Stefan Dirsch from comment #3)
> Reopen in order to track which input drivers being installed by default and
> with which priority these are chosen by X. Reassigning to myself.

Stefan, I'm not sure if this is a good idea. 
For Wacom we can do this as we have a pretty good idea about device IDs which are supported by the xf86-input-wacom driver.
As mentioned in comment #1 Synaptics only has the 'catch all' rule 'MatchIsTouchpad'. So all devices with the 'touchpad' property will match. Which may include some touchpad devices which are not Synaptics.

What we could do howeer, is to give *-synaptics.conf an higher priority than libinput and no longer install the synaptics driver by default. This way, whoever wants to take advantage of the additional features of the Synaptics driver can just go and install it to get them without renaming any files or changing any config files.
Comment 5 Stefan Dirsch 2016-05-14 18:50:30 UTC
(In reply to Egbert Eich from comment #4)
> (In reply to Stefan Dirsch from comment #3)
> > Reopen in order to track which input drivers being installed by default and
> > with which priority these are chosen by X. Reassigning to myself.
> 
> Stefan, I'm not sure if this is a good idea. 
> For Wacom we can do this as we have a pretty good idea about device IDs
> which are supported by the xf86-input-wacom driver.
> As mentioned in comment #1 Synaptics only has the 'catch all' rule
> 'MatchIsTouchpad'. So all devices with the 'touchpad' property will match.
> Which may include some touchpad devices which are not Synaptics.
> 
> What we could do howeer, is to give *-synaptics.conf an higher priority than
> libinput and no longer install the synaptics driver by default. This way,
> whoever wants to take advantage of the additional features of the Synaptics
> driver can just go and install it to get them without renaming any files or
> changing any config files.

This would have been my plan. Only install libinput by default. And give also synaptics and evdev a higher conf priority. If one installs one of these drivers manually he should get it. Another pro is that users updating the system won't get migrated to libinput, which obviously has a different set of features. Current conf priority plan:

  libinput: 060 (upstream prio)
  evdev: 065 (patch), remove Supplements: xorg-x11-server
  wacom: 070 (upstream prio), remove Supplements: xorg-x11-server
  synaptics: 070 (patch), remove Supplements: xorg-x11-server
Comment 6 Egbert Eich 2016-05-15 05:05:24 UTC
(In reply to Stefan Dirsch from comment #5)
> 
>   libinput: 060 (upstream prio)
>   evdev: 065 (patch), remove Supplements: xorg-x11-server
>   wacom: 070 (upstream prio), remove Supplements: xorg-x11-server
                                                     Don't remove.
The matching rules are precise enough to only get you the Wacom driver for
Wacom devices. This driver gives you a considerable advantage over libinput.

>   synaptics: 070 (patch), remove Supplements: xorg-x11-server

I would not use a patch either. I'd use 'mv' in the install section ;)
Comment 7 Stefan Dirsch 2016-05-17 08:34:47 UTC
(In reply to Egbert Eich from comment #6)
> (In reply to Stefan Dirsch from comment #5)
> > 
> >   libinput: 060 (upstream prio)
> >   evdev: 065 (patch), remove Supplements: xorg-x11-server
> >   wacom: 070 (upstream prio), remove Supplements: xorg-x11-server
>                                                      Don't remove.
> The matching rules are precise enough to only get you the Wacom driver for
> Wacom devices. This driver gives you a considerable advantage over libinput.

Ok. Convinced.

> >   synaptics: 070 (patch), remove Supplements: xorg-x11-server
> 
> I would not use a patch either. I'd use 'mv' in the install section ;)

The intention of the patch is to push it also upstream with the same reasoning
as with wacom. So everybody can benefit - or suffer;-) - from it. ;-)
Comment 8 Egbert Eich 2016-05-17 09:22:21 UTC
(In reply to Stefan Dirsch from comment #7)
> The intention of the patch is to push it also upstream with the same
> reasoning
> as with wacom. So everybody can benefit - or suffer;-) - from it. ;-)

Sure, you can give it a try. Not sure if this will be successful, though. Most users seem to be content with the features the libinput driver offers for touchpads.
Comment 9 Stefan Dirsch 2016-05-19 15:45:25 UTC
Changes done for obs://X11:XOrg and submitrequested for factory/TW. evdev and synaptics patches pushed for discussion upstream.

evdev:
https://lists.x.org/archives/xorg-devel/2016-May/049783.html

synaptics:
https://lists.x.org/archives/xorg-devel/2016-May/049782.html 

Closing.

Ivan, for you this means for the future in TW. Install the xf86-input-synaptics driver package and you're fine. ;-)
Comment 10 Stefan Dirsch 2016-05-20 13:03:20 UTC
I reverted the changes for evdev driver, since some devices are still only supported by that driver.
Comment 11 Stefan Dirsch 2016-05-20 13:34:50 UTC
tagged synaptics driver now as SUSE specific, since it has not been accepted upstream.
Comment 12 Stefan Dirsch 2016-05-23 09:08:05 UTC
(In reply to Stefan Dirsch from comment #11)
> tagged synaptics driver now as SUSE specific, since it has not been accepted
> upstream.

In the end Peter Hutterer pushed my patch. So retagged again, this time as upstreamed. ;-)