backends/x11: Support input-synaptics, if present.
Add support for configuring the Xorg synaptics touchpad driver.
Turns out it's very simple to support both libinput and synaptics simultaneously, both under the heading of XI2.
-
changed the description
Toggle commit list -
Developer
IIRC we had support for synaptics in the past but it was removed in favor of supporting libinput as it's burden to maintain. Adding a new option must be tested on all backends, and requiring the developer and maintainer to go around and messing with Xorg input drivers for a deprecated technology is not worth the effort.
-
1
Adding a new option must be tested on all backends
Already done. The changes only affect the X11 backend.
requiring the developer and maintainer to go around and messing with Xorg input drivers
Already done. Hence this proposal.
We would like to use this in Ubuntu 18.04. As people upgrade from older systems they will still have synaptics installed, so we get complaints when the Settings panel shows no settings. Simply removing synaptics right now is a bit premature while we work through touchpad bugs in libinput. We would like synaptics to be available as a workaround while we also work through the libinput issues.
-
1
Reminder: It's an X11/XI2 backend, not a libinput backend. So it should support common XI2 drivers.
-
Developer
Adding a new option must be tested on all backends
Already done. The changes only affect the X11 backend.
What I meant is future additions must be tested on different backends (now: native, x11(libinput), with this MR: native, x11(libinput), x11(synaptics). The fact that you have tested the current options does not change that.
requiring the developer and maintainer to go around and messing with Xorg input drivers
Already done. Hence this proposal.
I don't understand. How does this impact not the mutter maintainers need to install and test multiple Xorg input backends for future options? Remember, we removed the support for altering synaptics options for a reason.
-
Developer
FTR, this is the same than https://bugzilla.gnome.org/show_bug.cgi?id=780027.
That patch was done just like your case for a downstream, but I didn't get it pushed (and think this one shouldn't get either) because:
- Adds maintenance burden. You now don't have a single path to test, but 2 spread around a myriad of functions, with the subsequent cyclomatic complexity.
- Creates expectations around it. Not just current but also future settings should be made to work with both drivers, presumably to a point where synaptics will actually drag us.
- Introduces subtle differences, pointer acceleration, ...
Back when this was discussed, it was decided that upstream gnome would stay dependent on modern technologies, and libinput belongs in the package.
I would recommend that Ubuntu does the same downstream patching, after all, all issues brought up here belong to distro QA :)
-
1
I don't mind if we have to distro patch this for one cycle or so. It seems both sides of the argument are fairly fixed. So go ahead and reject this one.
But I do think it would be wiser to support existing technology for a bit longer. Citing future potential problems, which may never eventuate, in favor of solving the problems at hand is a poor decision IMHO.
-
closed
Toggle commit list -
1
after all, all issues brought up here belong to distro QA :)
That's not entirely correct. The problems with libinput touchpad support are everybody's problems and not distro-specific. That said, I have been actively working with libinput to get touchpad bugs fixed ASAP so that libinput will soon be as good as (and hopefully better than) synaptics.