Touchpad Gestures Not Working on Zorin OS (Xorg/Wayland)

I’m facing an issue with my touchpad on Zorin OS, where the touchpad gestures (such as two-finger scrolling) are not working, and I cannot find any settings for it in the system settings.

System Information:

  • OS: Zorin OS Core 17
  • Graphics: Intel HD Graphics (Integrated)
  • Touchpad Model: DLLC6AD:00 06CB:75BF Touchpad

Steps Taken So Far:

  1. I have verified that my touchpad is detected (used sudo libinput list-devices command)

I tried editing the scroll methods by 90-libinput.conf (Tried ChatGPT before posting.)

Device:           DLLC6AD:00 06CB:75BF Touchpad
Kernel:           /dev/input/event6
Group:            7
Seat:             seat0, default
Size:             102x77mm
Capabilities:     touch 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      identity matrix
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a
  1. I used the Touchegg tool to enable gestures, but the gestures (two-finger scroll, etc.) are not functioning.

  2. I have confirmed that the touchpad is working for basic pointing, but the gestures are not responsive in both Wayland and Xorg sessions.

  3. In the Xorg session, I checked logs and found nothing.

  4. I attempted to reinstall touchpad drivers (xserver-xorg-input-libinput).

Additional Information: (This did not work)

This is what ChatGPT said:

It looks like you've noticed that the touchpad settings for scrolling and click methods are listed as none, which could be why gestures and scrolling aren't working. These settings suggest that the touchpad may not be fully configured for multitouch gestures or scrolling.

To resolve this issue, you can try the following:

  1. Install the necessary touchpad drivers:
    Ensure that you have the necessary libinput or synaptics drivers installed.

    Run this command to reinstall the drivers:

    sudo apt install --reinstall xserver-xorg-input-libinput
    
  2. Check and enable scrolling:
    You can configure the touchpad for scrolling and tapping via libinput. To check if scrolling can be enabled, try modifying its configuration.

    Edit or create a 90-libinput.conf file in /etc/X11/xorg.conf.d/:

    sudo nano /etc/X11/xorg.conf.d/90-libinput.conf
    

    Add this section for enabling scroll methods and tapping:

    Section "InputClass"
      Identifier "touchpad"
      MatchIsTouchpad "on"
      Driver "libinput"
      Option "Tapping" "on"
      Option "NaturalScrolling" "on"
      Option "ScrollMethod" "twofinger"
      Option "ClickMethod" "buttonareas"
    EndSection
    

    Save the file and reboot.

  3. Check libinput settings:
    After rebooting, check if the touchpad settings reflect the changes:

    sudo libinput list-devices
    

    This should list the touchpad with options like Tap-to-click, Scroll methods, etc. If these options are still set to none, it indicates the driver isn't fully enabling them.

  4. Check GNOME or Wayland settings:
    In some environments, like GNOME or Wayland, you may need to enable touchpad gestures through the settings app (if available) or through tools like Touchegg.

Thank you!

UPDATE:

I spent a lot of time browsing forums to fix my touchpad issue, and I finally found a solution. I'm sharing this post to document my journey and help anyone facing a similar problem resolve it easily.

Initially, my earlier description of the issue was misleading (it wasn't related to touchegg)—apologies for that. The real problem was that my touchpad was being recognized as a mouse by my system.

dell@dell-Inspiron-5558:~$ xinput list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Logitech Wireless Mouse                 	id=10	[slave  pointer  (2)]
⎜   ↳ DLLC6AD:00 06CB:75BF Mouse              	id=11	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Video Bus                               	id=7	[slave  keyboard (3)]
    ↳ Power Button                            	id=8	[slave  keyboard (3)]
    ↳ Sleep Button                            	id=9	[slave  keyboard (3)]
    ↳ Dell WMI hotkeys                        	id=12	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=13	[slave  keyboard (3)]
    ↳ DELL Wireless hotkeys                   	id=14	[slave  keyboard (3)]
    ↳ Logitech Wireless Mouse                 	id=15	[slave  keyboard (3)]

Clearly the DLLC6AD:00 06CB:75BF is being detected as a Mouse instead of a touchpad.

Here’s what I tried and what eventually worked:

1. Kernel

I came across this post by Aravisian, where they suggested backporting the kernel. I switched from 6.8.0-52-generic to 6.8.0-40-generic, but unfortunately, this did not solve the issue.

2. Changing Drivers

I attempted to switch from libinput to Synaptics, but I wasn’t sure how to do it properly. As a result, I decided not to try it.

3. Blacklisting Drivers (The Fix)

While searching for solutions, I found this Arch Linux forum post. However, I didn’t completely understand what needed to be done, so I asked ChatGPT for guidance. Based on the response, I blacklisted certain drivers, which finally fixed the issue!

Here is the exactly what i did to fix this issue:

2. Blacklist i2c_hid_acpi and i2c_hid

If your touchpad isn't working properly, blacklist the incorrect driver:

  1. Open the blacklist file:
    sudo nano /etc/modprobe.d/blacklist.conf
    
  2. Add these lines:
    blacklist i2c_hid_acpi
    blacklist i2c_hid
    
  3. Save the file (CTRL + X, then Y, then ENTER).

3. Install and Load the Correct Driver

  1. Install Synaptics and Elan drivers:
    sudo apt install xserver-xorg-input-synaptics xserver-xorg-input-libinput -y
    
  2. Try loading the Elan driver manually:
    sudo modprobe hid_elan
    
  3. If Elan doesn’t work, try:
    sudo modprobe hid_multitouch
    

After running the above commands here is the result :
It is being recognized as a touchpad. (id 17)

dell@dell-Inspiron-5558:~$ xinput list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Logitech Wireless Mouse                 	id=10	[slave  pointer  (2)]
⎜   ↳ DLLC6AD:00 06CB:75BF Mouse              	id=11	[slave  pointer  (2)]
⎜   ↳ DLLC6AD:00 06CB:75BF Touchpad           	id=17	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Video Bus                               	id=7	[slave  keyboard (3)]
    ↳ Power Button                            	id=8	[slave  keyboard (3)]
    ↳ Sleep Button                            	id=9	[slave  keyboard (3)]
    ↳ Dell WMI hotkeys                        	id=12	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=13	[slave  keyboard (3)]
    ↳ DELL Wireless hotkeys                   	id=14	[slave  keyboard (3)]
    ↳ Logitech Wireless Mouse                 	id=15	[slave  keyboard (3)]
    ↳ Rockerz Bliss (AVRCP)                   	id=16	[slave  keyboard (3)]

Thank you to everyone who took the time to read my post.
Any of the above 3 solutions might fix your issue. Good luck.
Hopefully, this helps someone who runs into the same frustration I did!

3 Likes

Well, nice troubleshooting right there. Thanks for sharing!

1 Like

Your post will help others fix their issue, if they are facing the same thing. Thank you for posting the issue, as well as the solution.

"When knowledge is shared, everyone benefits."


2 Likes

I've managed to solve this annyoance by creating a custom GNOME plugin disable-gestures-wayland

This GNOME Shell extension completely disables all touchpad gestures on Wayland.
Inspired by the approach taken on Swap Finger Gestures (3 to 4) - GNOME Shell Extensions
by GitHub - icedman/swap-finger-gestures-3-4

Features

  • Disables all touchpad gestures (swipes, pinches, etc.)
  • Works specifically on Wayland - and it disables the newly introduced 3-finger swipe gestures!
  • Preserves keyboard shortcuts and mouse functionality
  • You can install Touchegg/Touche and use gestures like you would normally do.
1 Like