I have recently bought a new Lenovo Ideapad Gaming laptop. On my old Lenovo laptop, when I move my finger against the touchpad, the cursor will move smoothly, a few pixels each time. But on the new laptop, the cursor will skip hundreds of pixels each time. It's like if it updated with 5 FPS. The touchpad also don't feel responsive at all. It's very hard and painful to position cursor when it jumps that way. The direction of movement seems correct, as well as distance.

OS is Ubuntu 20.4. I have tried mtrack and synaptics drivers in addition to normal libinput, they make matters worse: mtrack is more jumpy and synaptics will not even respond to some touches (I understand it's no longer supported). I have fiddled with some of mtrack settings with no apparent effect.

The device is reported as MSFT0001:00 06CB:CE2D Touchpad. Googling reveals a lot of posts about Legion 5 touchpad not working, which is not relevant since it sort of works in my case.

Update: When I boot into UEFI, the touchpad works flawlessly there.

  • So, if it works with UEFI, apparently that's a firmware problem and you know how to fix it. I think it theoretically might be possible to somehow figure out which exactly difference in hw initialization makes it work correctly, and then to craft up a Linux kernel patch and send it upstream, so future owners of such laptop would have touchpad working even on non-UEFI setup. But that's up to you really. Other than that there is nothing to say about this issue. I think you can post yourself an answer about the fix and accept it.
    – Hi-Angel
    Jun 29, 2021 at 18:41
  • Also, yeah, libinput sure would work better than the deprecated synaptics with "jumpy motion". There's a special algorithm for detecting it which tries to smooth it out, Idk if there was anything similar in synaptics driver. Anyway, in your case apparently that doesn't help much because jumps are too big if I understand correctly.
    – Hi-Angel
    Jun 29, 2021 at 18:45
  • 1
    @Hi-Angel I mean that the touchpad works just fine in the GUI BIOS (UEFI) which can be activated by pressing F2 at startup. No obvious way to make it also work in Ubuntu. Actual system is also installed via UEFI partition.
    – alamar
    Jun 29, 2021 at 19:04
  • 1
    evemu-record shows a lot of events but very few of these are of type ABS_X/ABS_Y. I think this may be why the cursor does not readily respond.
    – alamar
    Jun 29, 2021 at 19:32
  • 1
    I'm certain your problem needs to be solved inside the kernel driver. Your best bet currently is reporting a bug, and perhaps if you have motivation for that, trying to research what could be the problem with how driver uses the touchpad. E.g. I dunno, perhaps that touchpad has two: modes "normal" and "glitchy". I'm kidding, but there's a truth in that joke: for some reason, the touchpad can't be used "normally" as most touchpads, and to make it behave some special quirk is required.
    – Hi-Angel
    Jul 2, 2021 at 23:05

2 Answers 2


The issue went away completely once I have upgraded to Ubuntu 21.04, which has newer Linux 5.11 kernel.


It probably is a X11 settings problem. It's easily manageable.

In a terminal, run the command xinput list to list your input devices, you should find a device called "Touchpad" or similar.

Then you can set the touchpad's settings with xinput list-props "Touchpad" or whatever its full name is, or xinput list-props id with its ID showed on the left.

You may find some option related to mouse acceleration and its respective value. Try lowering that value to see if that setting suits better for your needs.

More details can be found, for instance, in this blog post I just looked up, and this other one as well.

  • I have tried adjusting these properties. Setting them to low value makes cursor go very slow but still not responsive, setting to high values lead to huge leaps around the screen.
    – alamar
    Jun 29, 2021 at 18:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.