Fresh install of Linux Mint 22.3 Cinnamon on a ThinkPad T490 (20N3S2U800). The touchpad behaves very differently depending on whether an external HDMI monitor is connected.
Symptoms (without external monitor):
Pointer movement is jittery/laggy. It works fine for the first few seconds, then becomes increasingly unresponsive after ~10–30 seconds of use.
If I stop touching the touchpad for a while, it sometimes works smoothly again at first, then degrades.
Physical click buttons only register reliably when I press at the edges of the touchpad.
This is consistent: it happens immediately after a fresh boot with no external monitor attached, not just after disconnecting one. The scaling is also of, I had to change it to 125% for it to be normal.
With external HDMI monitor connected: Touchpad works perfectly. No jitter, all clicks register correctly.
Setup:
External monitor connected directly via HDMI cable (not through a dock).
Original Linux Mint installation was done with the external monitor connected throughout, but the issue persists across full shutdowns and cold boots without HDMI attached.
What I have already verified:
xrandr shows only eDP-1 connected primary 1920x1080 when the external monitor is unplugged (no ghost outputs).
System load is very low (CPU under 7%, memory 4 GB / 32 GB used) when the issue occurs.
BIOS is N2IET97W 1.75 (2021-10-09).
Touchpad is detected correctly: SynPS/2 Synaptics TouchPad via libinput.
Cinnamon scaling settings have been adjusted (fractional scaling enabled, 125% on the internal display) but this had no effect on the touchpad behaviour.
All system updates from Update Manager are applied.
inxi -Fxxxrz output:
[code]benji@benji-ThinkPad-T490:~$ inxi -Fxxxrz
System:
Kernel: 6.17.0-23-generic arch: x86_64 bits: 64 compiler: gcc v: 13.3.0
clocksource: tsc
Desktop: Cinnamon v: 6.6.7 tk: GTK v: 3.24.41 wm: Muffin v: 6.6.3 vt: 7
dm: LightDM v: 1.30.0 Distro: Linux Mint 22.3 Zena base: Ubuntu 24.04 noble
Machine:
Type: Laptop System: LENOVO product: 20N3S2U800 v: ThinkPad T490
serial: <superuser required> Chassis: type: 10 serial: <superuser required>
Mobo: LENOVO model: 20N3S2U800 v: SDK0J40697 WIN
serial: <superuser required>
part-nu: LENOVO_MT_20N3_BU_Think_FM_ThinkPad T490
uuid: <superuser required> UEFI: LENOVO v: N2IET97W (1.75 )
date: 10/09/2021
Battery:
ID-1: BAT0 charge: 44.1 Wh (100.0%) condition: 44.1/50.5 Wh (87.4%)
volts: 12.9 min: 11.5 model: SMP 5B10W13906 type: Li-poly serial: <filter>
status: not charging cycles: 258
CPU:
Info: quad core model: Intel Core i7-8665U bits: 64 type: MT MCP
smt: enabled arch: Comet/Whiskey Lake note: check rev: C cache: L1: 256 KiB
L2: 1024 KiB L3: 8 MiB
Speed (MHz): avg: 650 high: 800 min/max: 400/4800 cores: 1: 800 2: 400
3: 800 4: 800 5: 400 6: 800 7: 400 8: 800 bogomips: 33599
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
Device-1: Intel WhiskeyLake-U GT2 [UHD Graphics 620] vendor: Lenovo
driver: i915 v: kernel arch: Gen-9.5 ports: active: eDP-1 empty: DP-1,
DP-2, HDMI-A-1, HDMI-A-2 bus-ID: 00:02.0 chip-ID: 8086:3ea0 class-ID: 0300
Device-2: Lite-On Integrated Camera driver: uvcvideo type: USB rev: 2.0
speed: 480 Mb/s lanes: 1 bus-ID: 1-8:2 chip-ID: 04ca:7070 class-ID: 0e02
Display: x11 server: X.Org v: 21.1.11 with: Xwayland v: 23.2.6 driver: X:
loaded: modesetting unloaded: fbdev,vesa dri: iris gpu: i915 display-ID: :0
screens: 1
Screen-1: 0 s-res: 3072x1728 s-dpi: 120 s-size: 650x366mm (25.59x14.41")
s-diag: 746mm (29.37")
Monitor-1: eDP-1 model: BOE Display 0x07c9 res: 3072x1728 hz: 60 dpi: 253
size: 309x173mm (12.17x6.81") diag: 345mm (13.6") modes: 1920x1080
API: EGL v: 1.5 hw: drv: intel iris platforms: device: 0 drv: iris
device: 1 drv: swrast gbm: drv: iris surfaceless: drv: iris x11: drv: iris
inactive: wayland
API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa
v: 25.2.8-0ubuntu0.24.04.1 glx-v: 1.4 direct-render: yes renderer: Mesa
Intel UHD Graphics 620 (WHL GT2) device-ID: 8086:3ea0
API: Vulkan v: 1.3.275 layers: 3 surfaces: xcb,xlib device: 0
type: integrated-gpu driver: N/A device-ID: 8086:3ea0 device: 1 type: cpu
driver: N/A device-ID: 10005:0000
Audio:
Device-1: Intel Cannon Point-LP High Definition Audio vendor: Lenovo
driver: snd_hda_intel v: kernel bus-ID: 00:1f.3 chip-ID: 8086:9dc8
class-ID: 0403
API: ALSA v: k6.17.0-23-generic status: kernel-api
Server-1: PipeWire v: 1.0.5 status: active with: 1: pipewire-pulse
status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
Network:
Device-1: Intel Cannon Point-LP CNVi [Wireless-AC] driver: iwlwifi v: kernel
bus-ID: 00:14.3 chip-ID: 8086:9df0 class-ID: 0280
IF: wlp0s20f3 state: up mac: <filter>
Device-2: Intel Ethernet I219-LM vendor: Lenovo driver: e1000e v: kernel
port: N/A bus-ID: 00:1f.6 chip-ID: 8086:15bd class-ID: 0200
IF: enp0s31f6 state: down mac: <filter>
Bluetooth:
Device-1: Intel Bluetooth 9460/9560 Jefferson Peak (JfP) driver: btusb
v: 0.8 type: USB rev: 2.0 speed: 12 Mb/s lanes: 1 bus-ID: 1-10:4
chip-ID: 8087:0aaa class-ID: e001
Report: hciconfig ID: hci0 rfk-id: 1 state: up address: <filter> bt-v: 5.1
lmp-v: 10 sub-v: 100 hci-v: 10 rev: 100 class-ID: 7c010c
Drives:
Local Storage: total: 476.94 GiB used: 33.76 GiB (7.1%)
ID-1: /dev/nvme0n1 vendor: Western Digital model: PC SN730
SDBQNTY-512G-1001 size: 476.94 GiB speed: 31.6 Gb/s lanes: 4 tech: SSD
serial: <filter> fw-rev: 11170101 temp: 39.9 C scheme: GPT
Partition:
ID-1: / size: 467.89 GiB used: 33.75 GiB (7.2%) fs: ext4 dev: /dev/nvme0n1p2
ID-2: /boot/efi size: 511 MiB used: 6.1 MiB (1.2%) fs: vfat
dev: /dev/nvme0n1p1
Swap:
ID-1: swap-1 type: file size: 2 GiB used: 0 KiB (0.0%) priority: -2
file: /swapfile
Sensors:
System Temperatures: cpu: 49.0 C mobo: N/A
Fan Speeds (rpm): N/A
Repos:
Packages: 1978 pm: dpkg pkgs: 1968 pm: flatpak pkgs: 10
No active apt repos in: /etc/apt/sources.list
Active apt repos in: /etc/apt/sources.list.d/official-package-repositories.list
1: deb https://mirror.retropc.se/linuxmint/packages zena main upstream import backport
2: deb http://ftp.lysator.liu.se/ubuntu noble main restricted universe multiverse
3: deb http://ftp.lysator.liu.se/ubuntu noble-updates main restricted universe multiverse
4: deb http://ftp.lysator.liu.se/ubuntu noble-backports main restricted universe multiverse
5: deb http://security.ubuntu.com/ubuntu/ noble-security main restricted universe multiverse
Active apt repos in: /etc/apt/sources.list.d/brave-browser-release.sources
1: deb [arch=amd64 arm64] https://brave-browser-apt-release.s3.brave.com stable main
Active apt repos in: /etc/apt/sources.list.d/google-chrome.sources
1: deb https://dl.google.com/linux/chrome-stable/deb/ stable main
Active apt repos in: /etc/apt/sources.list.d/vscode.sources
1: deb [arch=amd64] https://packages.microsoft.com/repos/code stable main
Info:
Memory: total: 32 GiB note: est. available: 30.98 GiB used: 3.92 GiB (12.7%)
Processes: 294 Power: uptime: 2m states: freeze,mem suspend: deep
wakeups: 0 hibernate: disabled Init: systemd v: 255 target: graphical (5)
default: graphical
Compilers: gcc: 13.3.0 Shell: Bash v: 5.2.21 running-in: gnome-terminal
inxi: 3.3.34[/code]
xinput list-props "SynPS/2 Synaptics TouchPad":
[code]benji@benji-ThinkPad-T490:~$ xinput list-props "SynPS/2 Synaptics TouchPad"
Device 'SynPS/2 Synaptics TouchPad':
Device Enabled (189): 1
Coordinate Transformation Matrix (191): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Tapping Enabled (320): 1
libinput Tapping Enabled Default (321): 0
libinput Tapping Drag Enabled (322): 1
libinput Tapping Drag Enabled Default (323): 1
libinput Tapping Drag Lock Enabled (324): 0
libinput Tapping Drag Lock Enabled Default (325): 0
libinput Tapping Button Mapping Enabled (326): 1, 0
libinput Tapping Button Mapping Default (327): 1, 0
libinput Natural Scrolling Enabled (328): 1
libinput Natural Scrolling Enabled Default (329): 0
libinput Disable While Typing Enabled (330): 1
libinput Disable While Typing Enabled Default (331): 1
libinput Scroll Methods Available (332): 1, 1, 0
libinput Scroll Method Enabled (333): 1, 0, 0
libinput Scroll Method Enabled Default (334): 1, 0, 0
libinput Click Methods Available (335): 1, 1
libinput Click Method Enabled (336): 1, 0
libinput Click Method Enabled Default (337): 1, 0
libinput Middle Emulation Enabled (338): 0
libinput Middle Emulation Enabled Default (339): 0
libinput Accel Speed (340): 0.000000
libinput Accel Speed Default (341): 0.000000
libinput Accel Profiles Available (342): 1, 1, 1
libinput Accel Profile Enabled (343): 1, 0, 0
libinput Accel Profile Enabled Default (344): 1, 0, 0
libinput Accel Custom Fallback Points (345): <no items>
libinput Accel Custom Fallback Step (346): 0.000000
libinput Accel Custom Motion Points (347): <no items>
libinput Accel Custom Motion Step (348): 0.000000
libinput Accel Custom Scroll Points (349): <no items>
libinput Accel Custom Scroll Step (350): 0.000000
libinput Left Handed Enabled (351): 0
libinput Left Handed Enabled Default (352): 0
libinput Send Events Modes Available (305): 1, 1
libinput Send Events Mode Enabled (306): 0, 0
libinput Send Events Mode Enabled Default (307): 0, 0
Device Node (308): "/dev/input/event4"
Device Product ID (309): 2, 7
libinput Drag Lock Buttons (353): <no items>
libinput Horizontal Scroll Enabled (354): 1
libinput Scrolling Pixel Distance (355): 15
libinput Scrolling Pixel Distance Default (356): 15
libinput High Resolution Wheel Scroll Enabled (357): 1\[/code\]
Has anyone seen this pattern on a T490 or similar ThinkPad? I'm not sure whether to suspect a kernel/libinput interaction with the i915 graphics driver, a power management quirk that only triggers when no external display is present, or something else entirely. Any pointers appreciated.