Bug involving touchpad gesture support on GNOME distribution

Hello there!

I encountered a bug which rendered touchpad gestures on my X270 extremely erratic, and nigh-useless in terms of usage. Input detection was sporadic, and the normal method of switching between desktops with the touchpad would barely work, and when it did, it would be jittery and laggy.
Turns out that removing the packages for Touche solved this issue completely, and the experience is now far, far better.

tl;dr: I think Touche might be interfering with GNOME’s native gesture input system. Disabling it solves any problems with interference between the two.

Hope this helps anyone else that’s had the same issue, and helps inform the team at large.

Thanks for the great distro!

Conor

Edit: just for clarification, I’m making this post because Touchegg is packaged with the GNOME ISO by default.

Touchegg recommends installing this extension alongside it for compatibility.

The Manjaro Team has nothing to do with this, it’s between Touchegg and GNOME.

1 Like

Thanks for your reply, but I think it’s quite a bold statement to say that the Manjaro team has nothing to do with this when they choose to package Touchegg with its GNOME distribution (unless I am mistaken, in which case feel free to correct me). With this in mind, I thought my experience may be useful for them to know or for other users who have had similar issues, so future users can help themselves have a smoother experience, and the team could potentially aware of an easy UX improvement. Thanks for your reply though.

old post

The GNOME distribution doesn’t have different packages from all the other ones, it’s just a copy of Manjaro with GNOME preinstalled.

Manjaro’s ideology is to not bend over backwards to smooth over every rough edge its users may encounter, in favor of providing a more “stock” experience that emphasizes user agency. Also, forcing users to install the accompanying extension on GNOME alongside the package would be quite a bit of work.

Edit: Sorry, I was under the impression that Touchegg was not included by default in the ISO. Apparently it is. So yeah, this is something that could be taken under consideration.

Ah! Your replies make more sense to me with that edit in mind. Perhaps we could see Touchegg being removed from the GNOME release ISO if that serves to help people.
Here’s to hoping that this post will make things better for a few touchpad GNOME users!

You could try making a post in Feature Request to have the extension included in the default ISO, that is the best way to get a Team Member’s attention on this issue.

Well as I know touchegg works only in xorg, but not in wayland. Where does not work for you?

Oh, this was on the Wayland release. I definitely had to remove the packages. If it’s being packaged with the Wayland GNOME ISO while being known for not working properly with Wayland, then maybe that’s another reason why it’s an issue?

Good idea, I may do so soon, but I’m already distracting myself from uni work right now simply by writing this post. I’ll consider it if I get a break tomorrow though!

Sorry, there is no “Wayland release”. Both are available, but on open-source drivers (Intel/Amd) it defaults to wayland. When you use nvidia or a hybrid gpu with nvidia, then it will default to xorg. Therefore, some users need it.

Anyway… you can switch any time on the login screen (bottom right).

Then it may be better to suggest the removal of Touchegg by default?

Oh hey me too.

Myself I am not competent enough to suggest removing it. It needs further investigations, but I myself don’t have a touch display.

Since touchegg only works in xorg, it would be good to check the current display-server and stop the service on wayland. That would be the best approach.


EDIT: Just as a sidenote:

File: /usr/lib/systemd/system/touchegg.service

[Unit]
Description=Touchégg Daemon
Documentation=https://github.com/JoseExposito/touchegg/tree/master/installation#readme

[Service]
Type=simple
Group=input
ExecStart=/usr/bin/touchegg --daemon
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target

There you can add: ConditionEnvironment=XDG_SESSION_TYPE=x11 and switch to WantedBy=graphical.target.

Like this:

[Unit]
Description=Touchégg Daemon
Documentation=https://github.com/JoseExposito/touchegg/tree/master/installation#readme

[Service]
Type=simple
Group=input
ConditionEnvironment=XDG_SESSION_TYPE=x11
ExecStart=/usr/bin/touchegg --daemon
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=graphical.target

Now it should only start when x11 is running. But not tested. Could anyone test it?

This is for trackpad gestures.