Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
M
mutter
  • Overview
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 52
    • Issues 52
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 15
    • Merge Requests 15
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • GNOME
  • mutter
  • Merge Requests
  • !37

Closed
Opened Feb 26, 2018 by Daniel van Vugt@vanvugt 1
  • Report abuse
Report abuse

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.

Edited Feb 27, 2018 by Daniel van Vugt
×

Check out, review, and merge locally

Step 1. Fetch and check out the branch for this merge request

git fetch https://gitlab.gnome.org/vanvugt/mutter.git add-synaptics-v1
git checkout -b vanvugt/mutter-add-synaptics-v1 FETCH_HEAD

Step 2. Review the changes locally

Step 3. Merge the branch and fix any conflicts that come up

git checkout master
git merge --no-ff vanvugt/mutter-add-synaptics-v1

Step 4. Push the result of the merge to GitLab

git push origin master

Note that pushing to GitLab requires write access to this repository.

Tip: You can also checkout merge requests locally by following these guidelines.

  • Discussion 7
  • Commits 1
  • Changes 2
{{ resolvedDiscussionCount }}/{{ discussionCount }} {{ resolvedCountText }} resolved
  • Daniel van Vugt @vanvugt

    changed the description

    Feb 27, 2018

    changed the description

    changed the description
    Toggle commit list
  • Jonas Ådahl @jadahl commented Mar 12, 2018
    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.

    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.
  • Daniel van Vugt @vanvugt commented Mar 12, 2018
    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.

    > 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.
  • Daniel van Vugt @vanvugt commented Mar 12, 2018
    1

    Reminder: It's an X11/XI2 backend, not a libinput backend. So it should support common XI2 drivers.

    Reminder: It's an X11/XI2 backend, not a libinput backend. So it should support common XI2 drivers.
  • Jonas Ådahl @jadahl commented Mar 12, 2018
    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.

    > > 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.
  • Carlos Garnacho @carlosg commented Mar 12, 2018
    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 :)

    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 :)
  • Daniel van Vugt @vanvugt commented Mar 12, 2018
    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.

    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.
  • Jonas Ådahl @jadahl

    closed

    Mar 12, 2018

    closed

    closed
    Toggle commit list
  • Daniel van Vugt @vanvugt commented Mar 12, 2018
    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.

    > 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.
  • Write
  • Preview
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment
Assignee
No assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
0
Labels
None
Assign labels
  • View labels
Reference: GNOME/mutter!37