Touchpad Scrolling and Gestures Troubleshooting

Diagnose and stabilize inconsistent two-finger scrolling and multi-touch gestures on Ubuntu 24.04-based laptops, especially ThinkPads with SynPS/2 Synaptics touchpads on Linux Mint Cinnamon X11.

Intermediate Partially Resolved Updated 6 min read Tested on Linux Mint 22.3 Cinnamon (Ubuntu 24.04 Noble base, X11) Hardware Lenovo ThinkPad L14 Gen 2 (SynPS/2 Synaptics TouchPad, TPPS/2 Elan TrackPoint, Linux 6.17.0-35-generic when tested)

Overview

This guide documents how to troubleshoot a touchpad that sometimes feels unreliable on Linux Mint Cinnamon: two-finger scrolling becomes laggy or stops responding, and three-finger gestures may feel inconsistent compared with Windows.

The tested case happened on a Lenovo ThinkPad L14 Gen 2 running Linux Mint 22.3 Cinnamon on X11. The touchpad appeared as:

SynPS/2 Synaptics TouchPad

The practical fix that improved the situation was:

  1. Temporarily reset the touchpad with xinput.
  2. Install the older Xorg Synaptics driver.
  3. Reboot.
  4. Keep Touchégg/Cinnamon gestures enabled for Windows-like workspace gestures.

After rebooting with the Synaptics driver active, the issue did not immediately return. Because this may be hardware, kernel, driver, or suspend/resume related, this guide keeps the deeper fixes as escalation steps instead of applying everything at once.


When This Guide Applies

Use this guide if you are on an Ubuntu 24.04-based distro such as Linux Mint, Zorin OS, Ubuntu, Pop!_OS, or similar, and you see one or more of these symptoms:

SymptomExample
Two-finger scrolling becomes unreliableScrolling a webpage up/down sometimes does nothing or feels jumpy
Gestures stop after sleepTouchpad works after reboot but misbehaves after waking the laptop
Gestures fail randomly mid-sessionThree-finger workspace gestures or two-finger scrolling suddenly become inconsistent
A reset fixes it temporarilyxinput disable + xinput enable makes the touchpad work again

This guide is especially relevant if your touchpad appears as SynPS/2 Synaptics TouchPad and your system uses X11.


Tested System

ComponentTested Detail
LaptopLenovo ThinkPad L14 Gen 2
Primary OSLinux Mint 22.3 Cinnamon
BaseUbuntu 24.04 Noble
SessionX11 / Xorg
Kernel when checked6.17.0-35-generic
TouchpadSynPS/2 Synaptics TouchPad
TrackPointTPPS/2 Elan TrackPoint
Gesture daemontouchegg
Active touchpad Xorg driver after fixsynaptics

This exact setup is ThinkPad-specific, but the diagnostic flow is useful for other Ubuntu-based laptops too.


Important Idea: Do Not Stack Fixes Too Quickly

Touchpad problems can come from several layers:

hardware/firmware → kernel module → Xorg input driver → desktop settings → gesture daemon

If you change all layers at once, it becomes hard to know what fixed the issue or what made it worse. The safer approach is:

  1. Identify the current device and driver.
  2. Apply a temporary reset when needed.
  3. Change only one persistent thing at a time.
  4. Reboot and observe for a few days.
  5. Escalate only if the issue returns.

Step 1 - Check Your Session Type

First check whether you are running X11 or Wayland:

echo $XDG_SESSION_TYPE

Expected on Linux Mint Cinnamon:

x11

Why this matters:

SessionNotes
X11Uses xinput; common on Linux Mint Cinnamon
Waylandxinput may not control devices the same way; gestures are handled differently

Linux Mint Cinnamon currently defaults to X11, so the xinput commands in this guide apply to the tested Mint setup.


Step 2 - Identify the Touchpad

List input devices:

xinput --list

On the tested ThinkPad, the relevant part looked like this:

⎡ Virtual core pointer                     id=2  [master pointer  (3)]
⎜   ↳ SynPS/2 Synaptics TouchPad           id=11 [slave  pointer  (2)]
⎜   ↳ TPPS/2 Elan TrackPoint               id=12 [slave  pointer  (2)]

The ID number can change after reboot or sleep. The device name is more stable, so prefer the name in scripts and shortcuts:

SynPS/2 Synaptics TouchPad

Step 3 - Quick Temporary Reset

If scrolling or gestures stop working, reset the touchpad without rebooting:

xinput disable "SynPS/2 Synaptics TouchPad"
xinput enable "SynPS/2 Synaptics TouchPad"

If this immediately fixes scrolling, the hardware is probably not fully dead. The issue is likely somewhere in the input driver/session stack.

Tip: Avoid hardcoding xinput disable 11 in long-term scripts. Device IDs can change. The name-based command is safer.


Step 4 - Check Which Driver Is Active

List touchpad properties:

xinput list-props "SynPS/2 Synaptics TouchPad"

If you see many properties starting with Synaptics, the old Synaptics Xorg driver is active:

Synaptics Two-Finger Scrolling
Synaptics Scrolling Distance
Synaptics Palm Detection
Synaptics Gestures

If you see properties starting with libinput, the modern libinput driver is active:

libinput Natural Scrolling Enabled
libinput Tapping Enabled
libinput Scroll Methods Available

You can also confirm from the Xorg log:

grep -i -E 'synaptics|libinput|touchpad' /var/log/Xorg.0.log

On the tested system after installing the Synaptics driver, the key line was:

Using input driver 'synaptics' for 'SynPS/2 Synaptics TouchPad'

Step 5 - Check Touchégg Gestures

Linux Mint Cinnamon uses Touchégg for multi-touch gestures on X11.

Check whether the service is running:

systemctl status touchegg --no-pager

Expected:

Active: active (running)

Check recent gesture/input warnings:

journalctl -u touchegg -b --no-pager -l | grep -i -E 'error|touchpad|SynPS'

On the tested system, Touchégg logged:

libinput error: event5 - SynPS/2 Synaptics TouchPad: kernel bug: Touch jump detected and discarded.

This does not automatically mean the touchpad is broken. It means the input stack saw suspicious jumpy coordinates and discarded them. If this appears occasionally but the touchpad works, observe first. If it appears frequently during real symptoms, continue with the later steps.


Step 6 - Configure Mouse, Touchpad, and Gestures in Cinnamon

Before changing drivers or kernel parameters, make sure the desktop settings are sane. Bad gesture mappings can make a healthy touchpad feel unreliable.

Mouse and Touchpad Settings

Open:

Menu → System Settings → Mouse and Touchpad → Touchpad

Recommended baseline:

SettingRecommended ValueNotes
Touchpad isEnabledRequired for touchpad input
Tap to clickOn, if you like tap-clickPersonal preference
Disable touchpad while typingOnPrevents accidental palm movement while typing
Click actionsDefault device behaviorGood default for ThinkPad clickpads
Reverse scrolling directionPersonal preferenceKeep it if the direction feels natural to you
Scrolling methodTwo-finger scrollingBest Windows-like default
SpeedMiddle or slightly slowerIncrease only if the pointer feels sluggish

Note: Disable touchpad while typing can make the touchpad feel temporarily blocked immediately after keyboard input. If the touchpad only feels delayed right after typing, test this setting both on and off before assuming the driver is broken.

The Mouse tab can usually stay at defaults:

SettingRecommended Value
Left handedOff, unless needed
Middle-click emulationOff, unless needed
Pointer speedMiddle-ish
AccelerationAdaptive

Gesture Settings

Open:

Menu → System Settings → Gestures

Keep gestures enabled:

Settings → Enable gestures → On

A clean Windows-like setup is:

GestureSuggested Action
3-finger swipe leftSwitch to adjacent workspace
3-finger swipe rightSwitch to adjacent workspace
3-finger swipe upShow workspace selector / Expo
3-finger swipe downShow window selector / Scale

The left/right direction is personal. If swiping left feels backwards, swap the left and right workspace actions.

If your goal is reliable scrolling plus workspace gestures, keep the gesture setup simple:

AreaRecommendationWhy
2-finger swipeDisable, if possibleTwo fingers should mainly mean scrolling on a touchpad
3-finger swipeKeep for workspace/window navigationThis gives the Windows-like multitasking feel
3-finger tapDisable unless you use Play/PausePrevents accidental media toggles
4-finger left/rightOptional: move window to workspaceUseful if you intentionally use it
4-finger up/downDisable unless intentionally usedVolume actions here are unusual and can trigger accidentally
Pinch gesturesDisabled unless you need zoomKeeps the setup simpler

On Linux Mint, some 2-finger swipe entries may be labeled Touchscreen only. If you do not use a touchscreen, they may not affect the touchpad. Still, disabling unused 2-finger swipe actions keeps the configuration easier to reason about.

Gesture Activation Thresholds

Open:

Gestures → Settings

A good starting point is:

Swipe threshold: 40%
Pinch threshold: 40%

Adjust only if needed:

ProblemAdjustment
Gestures trigger accidentallyIncrease swipe threshold to 50-60%
Gestures are hard to triggerDecrease swipe threshold to around 30%
Pinch is unusedLeave pinch disabled; threshold does not matter much

For the tested setup, 40% is a reasonable default.


Step 7 - Install the Synaptics Xorg Driver

Note: This is the step that changed the tested system. After installing this package and rebooting, the touchpad used the synaptics Xorg driver instead of the default Xorg libinput touchpad driver.

Install the driver:

sudo apt update
sudo apt install xserver-xorg-input-synaptics

Reboot:

sudo reboot

After reboot, verify:

xinput list-props "SynPS/2 Synaptics TouchPad"

Look for Synaptics properties. You can also verify with:

grep -i "Using input driver 'synaptics'" /var/log/Xorg.0.log

Why This May Help

libinput is the modern default and is usually recommended. However, on some older or PS/2-routed Synaptics/ThinkPad touchpads, the classic Xorg Synaptics driver can feel smoother or more stable.

Tradeoff

The Synaptics driver is older. If three-finger gestures become worse after switching, or if the touchpad feels less modern, you can revert to libinput.

Rollback:

sudo apt remove xserver-xorg-input-synaptics
sudo reboot

Step 8 - Create a Manual Keyboard Shortcut

If the issue returns randomly, a manual shortcut is safer than an automatic sleep script.

Open:

Menu → Keyboard → Shortcuts → Custom Shortcuts

Add a new shortcut:

FieldValue
NameFix Touchpad
Commandsh -c 'xinput disable "SynPS/2 Synaptics TouchPad" && xinput enable "SynPS/2 Synaptics TouchPad"'

Bind it to something memorable, for example:

Ctrl + Alt + Z

Now, if scrolling or gestures freeze, press the shortcut instead of opening a terminal.


Step 9 - Avoid This Sleep Script Unless You Know It Works

Some online advice suggests creating a file like:

/lib/systemd/system-sleep/reset-touchpad

with xinput disable and xinput enable commands.

I do not recommend doing that as the first automatic fix.

Reason: systemd sleep hooks run outside your normal graphical session. A plain xinput command may fail there because it may not have the correct DISPLAY and XAUTHORITY environment. That means the script can look correct but not actually reset the touchpad.

Use a keyboard shortcut first. Only build a sleep hook if the problem reliably happens after resume and you are prepared to test the graphical-session environment carefully.


Step 10 - Deeper Kernel-Level Clue: psmouse.synaptics_intertouch

On the tested ThinkPad, the kernel log showed this message:

psmouse serio1: synaptics: Your touchpad (PNP: LEN0416 PNP0f13) says it can support a different bus.
If i2c-hid and hid-rmi are not used, you might want to try setting psmouse.synaptics_intertouch to 1

Check the current setting:

cat /sys/module/psmouse/parameters/synaptics_intertouch

On the tested system it returned:

-1

That means the kernel is using the default/automatic behavior.

Only Try This If the Problem Keeps Returning

If the touchpad continues to freeze after sleep or logs frequent touch-jump errors, try forcing intertouch mode.

Create a config file:

sudo nano /etc/modprobe.d/psmouse.conf

Add:

options psmouse synaptics_intertouch=1

Update initramfs and reboot:

sudo update-initramfs -u
sudo reboot

After reboot, check again:

cat /sys/module/psmouse/parameters/synaptics_intertouch

Rollback

If the touchpad becomes worse, remove the config:

sudo rm /etc/modprobe.d/psmouse.conf
sudo update-initramfs -u
sudo reboot

Warning: Make a Timeshift snapshot before changing kernel module parameters. This is not the first fix to try; it is an escalation step for recurring problems.


Troubleshooting Checklist

CheckCommandGood Sign
Session typeecho $XDG_SESSION_TYPEx11 on Linux Mint Cinnamon
Touchpad namexinput --listSynPS/2 Synaptics TouchPad appears
Temporary resetxinput disable "SynPS/2 Synaptics TouchPad" && xinput enable "SynPS/2 Synaptics TouchPad"Scrolling works again
Active driverxinput list-props "SynPS/2 Synaptics TouchPad"Shows either Synaptics or libinput properties
Xorg driver proofgrep -i 'Using input driver' /var/log/Xorg.0.logShows which driver owns the device
Gesture servicesystemctl status touchegg --no-pageractive (running)
Touchégg errorsjournalctl -u touchegg -b --no-pager -lFew or no repeated touchpad errors
Kernel clue`journalctl -k -b —no-pager -lgrep -i synaptics`

Touchpad glitch happens
        |
        v
Run xinput reset by device name
        |
        v
Works again?
        |
        +-- yes → create optional keyboard shortcut and observe
        |
        +-- no  → reboot and check xinput/journal logs

If problem returns often:
        |
        v
Install xserver-xorg-input-synaptics and reboot
        |
        v
Observe for a few days
        |
        +-- stable → keep this setup
        |
        +-- gestures worse → remove synaptics package and return to libinput
        |
        +-- still broken after sleep → consider psmouse.synaptics_intertouch=1 with Timeshift snapshot

Final Current-State Recommendation

For the tested ThinkPad L14 Gen 2 setup, the current best state is:

  • Keep xserver-xorg-input-synaptics installed if scrolling feels stable after reboot.
  • Keep Touchégg enabled for Cinnamon gestures.
  • Do not add an automatic sleep reset script yet.
  • Use a manual keyboard shortcut if the issue appears randomly.
  • Only try psmouse.synaptics_intertouch=1 if the problem repeatedly returns after sleep or during normal use.

This keeps the system simple while preserving a clear escalation path if the touchpad problem comes back.

Discussion