Touchpad on lenovo works quite badly

Last weekend I have installed Manjaro on a Lenovo Ideapad Gaming, Ryzen 5, Radeon and Nvidia Graphics GTX 1650 Ti mobile.
All is working ok but the touchpad is not good. It jumps and it is quite sensitive with tapping. Almost unusable. It is also marking text by moving the arrow. When I deactivate the tapping this will not happen but the movement is still sluggish and unpredicable. You cannot work fast.
A mouse works very well.
I have read a few posts and all of it was not really conclusive. It seems I am not the only one. Last one used tape to reduce sensitivity.

@manjaro xorg.conf.d]$ cat 30-touchpad.conf
Section “InputClass”
Identifier “touchpad”
Driver “libinput”
MatchIsTouchpad “on”
Option “Tapping” “on”
[@manjaro xorg.conf.d]$

manjaro xorg.conf.d]$ grep -e “Using input driver ‘libinput’” /var/log/Xorg.0.log
[ 7.726] (II) Using input driver ‘libinput’ for ‘Power Button’
[ 7.791] (II) Using input driver ‘libinput’ for ‘Video Bus’
[ 7.877] (II) Using input driver ‘libinput’ for ‘Video Bus’
[ 7.970] (II) Using input driver ‘libinput’ for ‘Power Button’
[ 8.012] (II) Using input driver ‘libinput’ for ‘PIXART USB OPTICAL MOUSE’
[ 8.078] (II) Using input driver ‘libinput’ for ‘Integrated Camera: Integrated C’
[ 8.220] (II) Using input driver ‘libinput’ for ‘Ideapad extra buttons’
[ 8.335] (II) Using input driver ‘libinput’ for ‘MSFT0001:00 06CB:CE2D Mouse’
[ 8.527] (II) Using input driver ‘libinput’ for ‘MSFT0001:00 06CB:CE2D Touchpad’
[ 8.636] (II) Using input driver ‘libinput’ for ‘MSFT0001:00 06CB:CE2D Touchpad’
[ 9.242] (II) Using input driver ‘libinput’ for ‘AT Translated Set 2 keyboard’
[ 9.333] (II) Using input driver ‘libinput’ for ‘Integrated Camera: Integrated C’

This is probably relevant information. I didn’t find errors or anything special when I compared my outpot to what I read in docs, for example here
It was linked in an arch wiki article. It was not helpful (yet)

manjaro xorg.conf.d]$ sudo libinput measure touchpad-pressure
Error: No module named ‘libevdev’
One or more python modules are missing. Please install those modules and re-run this tool.
[@manjaro xorg.conf.d]$ sudo find / -iname libevdev
find: ‘/run/user/1000/gvfs’: Keine Berechtigung

If someone found a good solution or has a hint how to continue I would appreciate. Sometimes I would like to use a touchpad.

Please post the output of inxi -Fazy, and cat /proc/bus/input/devices.

@manjaro xorg.conf.d]$ inxi -Fazy

Kernel: 5.10.2-2-MANJARO x86_64 bits: 64 compiler: gcc v: 10.2.0
parameters: BOOT_IMAGE=/boot/vmlinuz-5.10-x86_64
root=/dev/mapper/vg0-lv–root ro
cryptdevice=UUID=09f375a7-d33a-4f6c-bbcb-53a917c29c1d:arc quiet
Desktop: KDE Plasma 5.20.4 tk: Qt 5.15.2 wm: kwin_x11 dm: SDDM
Distro: Manjaro Linux
Type: Laptop System: LENOVO product: 82EY v: IdeaPad Gaming 3 15ARH05
serial: Chassis: type: 10 v: IdeaPad Gaming 3 15ARH05
Mobo: LENOVO model: LNVNB161216 v: NO DPK serial: UEFI: LENOVO
v: FCCN13WW date: 06/29/2020
ID-1: BAT0 charge: 44.2 Wh condition: 46.2/45.5 Wh (102%) volts: 12.7/11.4
model: Sunwoda L19D3PF4 type: Li-poly serial: status: Discharging
cycles: 7
Info: 6-Core model: AMD Ryzen 5 4600H with Radeon Graphics bits: 64
type: MT MCP arch: Zen 2 family: 17 (23) model-id: 60 (96) stepping: 1
microcode: 8600104 L2 cache: 3 MiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
bogomips: 71897
Speed: 1397 MHz min/max: 1400/3000 MHz boost: enabled Core speeds (MHz):
1: 1397 2: 1396 3: 1397 4: 1397 5: 1397 6: 1397 7: 1397 8: 1397 9: 1397
10: 1396 11: 1397 12: 1396
Vulnerabilities: Type: itlb_multihit status: Not affected
Type: l1tf status: Not affected
Type: mds status: Not affected
Type: meltdown status: Not affected
Type: spec_store_bypass
mitigation: Speculative Store Bypass disabled via prctl and seccomp
Type: spectre_v1
mitigation: usercopy/swapgs barriers and __user pointer sanitization
Type: spectre_v2 mitigation: Full AMD retpoline, IBPB: conditional, IBRS_FW,
STIBP: conditional, RSB filling
Type: srbds status: Not affected
Type: tsx_async_abort status: Not affected
Device-1: NVIDIA TU117M [GeForce GTX 1650 Ti Mobile] vendor: Lenovo
driver: nvidia v: 455.45.01 alternate: nouveau,nvidia_drm bus ID: 01:00.0
chip ID: 10de:1f95
Device-2: AMD Renoir vendor: Lenovo driver: amdgpu v: kernel bus ID: 05:00.0
chip ID: 1002:1636
Device-3: Syntek Integrated Camera type: USB driver: uvcvideo bus ID: 1-3:3
chip ID: 174f:244c serial:
Display: x11 server: X.Org 1.20.10 compositor: kwin_x11
driver: amdgpu,ati,nvidia unloaded: modesetting,nouveau
alternate: fbdev,nv,vesa display ID: :0 screens: 1
Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.0x11.2")
s-diag: 582mm (22.9")
Monitor-1: eDP res: 1920x1080 hz: 120 dpi: 142 size: 344x193mm (13.5x7.6")
diag: 394mm (15.5")
OpenGL: renderer: AMD RENOIR (DRM 3.40.0 5.10.2-2-MANJARO LLVM 11.0.0)
v: 4.6 Mesa 20.3.1 direct render: Yes
Device-1: AMD Raven/Raven2/FireFlight/Renoir Audio Processor vendor: Lenovo
driver: N/A alternate: snd_pci_acp3x, snd_rn_pci_acp3x bus ID: 05:00.5
chip ID: 1022:15e2
Device-2: AMD Family 17h HD Audio vendor: Lenovo driver: snd_hda_intel
v: kernel bus ID: 05:00.6 chip ID: 1022:15e3
Sound Server: ALSA v: k5.10.2-2-MANJARO
Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
vendor: Lenovo driver: r8169 v: kernel port: 3000 bus ID: 03:00.0
chip ID: 10ec:8168
IF: eno1 state: down mac:
Device-2: Realtek RTL8822CE 802.11ac PCIe Wireless Network Adapter
vendor: Lenovo driver: rtw_8822ce v: N/A modules: rtw88_8822ce port: 2000
bus ID: 04:00.0 chip ID: 10ec:c822
IF: wlp4s0 state: up mac:
Local Storage: total: 476.94 GiB used: 10.51 GiB (2.2%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung model: MZALQ512HALU-000L2
size: 476.94 GiB block size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
lanes: 4 serial: rev: AL2QFXV7 temp: 23.9 C
ID-1: / raw size: 120 GiB size: 120 GiB (100.00%) used: 8.96 GiB (7.5%)
fs: btrfs dev: /dev/dm-1 maj-min: 254:1 mapped: vg0-lv–root
ID-2: /boot/efi raw size: 977 MiB size: 975.1 MiB (99.80%)
used: 872 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
ID-3: /home raw size: 355.98 GiB size: 349.39 GiB (98.15%)
used: 1.55 GiB (0.4%) fs: ext4 dev: /dev/dm-2 maj-min: 254:2
mapped: vg0-lv–home
Alert: No Swap data was found.
System Temperatures: cpu: 34.8 C mobo: N/A gpu: amdgpu temp: 34.0 C
Fan Speeds (RPM): N/A
Processes: 314 Uptime: 4m wakeups: 1 Memory: 15.08 GiB
used: 2.05 GiB (13.6%) Init: systemd v: 247 Compilers: gcc: 10.2.0 Packages:
pacman: 1252 lib: 369 flatpak: 0 Shell: Bash v: 5.1.0 running in: konsole
inxi: 3.2.01

manjaro xorg.conf.d]$ cat /proc/bus/input/devices
I: Bus=0019 Vendor=0000 Product=0005 Version=0000
N: Name=“Lid Switch”
P: Phys=PNP0C0D/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0
U: Uniq=
H: Handlers=event0
B: EV=21
B: SW=1

I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name=“Power Button”
P: Phys=PNP0C0C/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1
U: Uniq=
H: Handlers=kbd event1
B: EV=3
B: KEY=10000000000000 0

I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name=“Power Button”
P: Phys=LNXPWRBN/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input2
U: Uniq=
H: Handlers=kbd event2
B: EV=3
B: KEY=10000000000000 0

I: Bus=0011 Vendor=0001 Product=0001 Version=ab83
N: Name=“AT Translated Set 2 keyboard”
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input3
U: Uniq=
H: Handlers=sysrq kbd leds event3
B: EV=120013
B: KEY=a0000702100000 83803078f800d001 feffffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7

I: Bus=0003 Vendor=093a Product=2510 Version=0111
P: Phys=usb-0000:05:00.3-2/input0
S: Sysfs=/devices/pci0000:00/0000:00:08.1/0000:05:00.3/usb1/1-2/1-2:1.0/0003:093A:2510.0001/input/input4
U: Uniq=
H: Handlers=event4 mouse0
B: EV=17
B: KEY=70000 0 0 0 0
B: REL=903
B: MSC=10

I: Bus=0019 Vendor=0000 Product=0006 Version=0000
N: Name=“Video Bus”
P: Phys=LNXVIDEO/video/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/LNXVIDEO:00/input/input5
U: Uniq=
H: Handlers=kbd event5
B: EV=3
B: KEY=3e000b00000000 0 0 0

I: Bus=0019 Vendor=0000 Product=0006 Version=0000
N: Name=“Video Bus”
P: Phys=LNXVIDEO/video/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:0e/LNXVIDEO:01/input/input6
U: Uniq=
H: Handlers=kbd event6
B: EV=3
B: KEY=3e000b00000000 0 0 0

I: Bus=0019 Vendor=0000 Product=0000 Version=0000
N: Name=“Ideapad extra buttons”
P: Phys=ideapad/input0
S: Sysfs=/devices/pci0000:00/0000:00:14.3/PNP0C09:00/VPC2004:00/input/input7
U: Uniq=
H: Handlers=kbd event7 rfkill
B: EV=13
B: KEY=81000800100c03 4400000000300000 0 2
B: MSC=10

I: Bus=0010 Vendor=001f Product=0001 Version=0100
N: Name=“PC Speaker”
P: Phys=isa0061/input0
S: Sysfs=/devices/platform/pcspkr/input/input11
U: Uniq=
H: Handlers=kbd event10
B: EV=40001
B: SND=6

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name=“HD-Audio Generic Mic”
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:08.1/0000:05:00.6/sound/card0/input12
U: Uniq=
H: Handlers=event11
B: EV=21
B: SW=10

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name=“HD-Audio Generic Headphone”
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:08.1/0000:05:00.6/sound/card0/input13
U: Uniq=
H: Handlers=event12
B: EV=21
B: SW=4

I: Bus=0018 Vendor=06cb Product=ce2d Version=0100
N: Name=“MSFT0001:00 06CB:CE2D Mouse”
P: Phys=i2c-MSFT0001:00
S: Sysfs=/devices/platform/AMDI0010:03/i2c-0/i2c-MSFT0001:00/0018:06CB:CE2D.0002/input/input14
U: Uniq=
H: Handlers=event8 mouse1
B: EV=17
B: KEY=30000 0 0 0 0
B: REL=3
B: MSC=10

I: Bus=0018 Vendor=06cb Product=ce2d Version=0100
N: Name=“MSFT0001:00 06CB:CE2D Touchpad”
P: Phys=i2c-MSFT0001:00
S: Sysfs=/devices/platform/AMDI0010:03/i2c-0/i2c-MSFT0001:00/0018:06CB:CE2D.0002/input/input15
U: Uniq=
H: Handlers=event9 mouse2
B: EV=1b
B: KEY=e520 10000 0 0 0 0
B: ABS=2e0800000000003
B: MSC=20

I: Bus=0003 Vendor=174f Product=244c Version=0013
N: Name=“Integrated Camera: Integrated C”
P: Phys=usb-0000:05:00.3-3/button
S: Sysfs=/devices/pci0000:00/0000:00:08.1/0000:05:00.3/usb1/1-3/1-3:1.0/input/input17
U: Uniq=
H: Handlers=kbd event13
B: EV=3
B: KEY=100000 0 0 0

Thank you, I am curious if you spot something.

You can maybe try to set the kernel parameter psmouse.synaptics_intertouch to 1 in /etc/default/grub. Or if that doesn’t work, then to 0. Touchpad support seems to be quite buggy recently, I am also having a troubles with the touchpad on HP Elitebook 745 G6, but nothing works for me. I have seen in other forums, that the intertouch parameter sometimes fixes the issue for Lenovo laptops.

Try another driver. I changed from libinput to xf86-input-mtrack and it is better but not perfect.

Thank you, so basically I could try synaptics (which uses this parameter) or mtrack. Likely I need to compile it and change it in xserver. From what I read I would give it a try with mtrack. Only question- what do I need to download since it is not a package? Sorry, I haven’t compiled for ages.

You can install it from the AUR: AUR (en) - xf86-input-mtrack. That should take care of compiling and getting all the dependencies.

Ok, installing the package was easy indeed. There were 2, the one with kernel mt protocol did not work but today, reading again I tried the one you linked.
However, after reboot the xorg says still libinput for driver. Is there anything else I must do to change the driver to mtrack? Or maybe it is changed and I do not see?

Thank you!

cat 30-touchpad.conf
Section “InputClass”
Identifier “touchpad”
Driver “libinput”
MatchIsTouchpad “on”
Option “Tapping” “on”

That package should’ve created the file /etc/X11/xorg.conf.d/10-mtrack.conf, which should be sufficient. I suggest you rename 30-touchpad.conf to 30-touchpad.conf.bak or delete it altogether, and reboot; the two configuration files are possibly clashing, and 30 is greater than 10, so that has priority.

Hello, thank you- that was it. the downside is that the Settings in the gui do not recognise the touchpad. So I looked around and tried a few configurations in 10-mtrack.conf. By default no options were set. Overall it is an improvement and I will tune the file until the pad does what I want. The goal is in reach.

Thank you all- I consider this as solved by using mtrack.

You can do that, but I find it easier to use a script for rapid testing of different settings. I use i3 so I use the startup options in the i3 config file, but you could use a regular script.

Use xinput --list-props "ZNT0001:00 14E5:E545 Touchpad" (look up your touchpad id and replace it for mine) to see what options are available and what you are currently using.

You can then test settings on the fly with: xinput --set-prop "ZNT0001:00 14E5:E545 Touchpad" "Trackpad Touch Pressure" 40, 30 , or set them each boot with a script.

mtrack is better than the default one in manjaro in my experience, but the best driver I’ve used is the one ported to linux from chromeos: xf86-input-cmt. There is an AUR for that but it didn’t build for me. I’m using that driver with another non-manjaro distribution on another laptop, and it’s head and shoulders above the rest (flawless I would say).

So if you could get that driver to work that would be my recommendation.