Latest Kernel update renders my touchpad useless

I am using Kubuntu 18.04 LTS on a Dell XPS 13 7390. Recently I got the update needed notification and, as any other user, updated my system promptly. When I rebooted my laptop my touchpad does not work properly anymore.

KDE settings do show that I have enabled "click emulation" and "inverse vertical scrolling" but what the settings show is just not true. Neither click emulation nor inverse scrolling are enabled. I have tried to restore default settings and then to set them again, to no avail.

$ cat ~/.config/touchpadrc 
[parameters]
InvertVertScroll=true
Tapping=true

My current kernel is 5.4.0-84-generic #94~18.04.1-Ubuntu. The last kernel when my touchpad settings worked was 5.4.0-81-generic.


To figure out what was the last working kernel, I needed to reboot into each of the kernels currently installed on my system and make sure whether my touchpad works properly or not.

To get GRUB menu showing on each startup I needed to change the following two lines in my /etc/defaults/grub:

# GRUB_TIMEOUT_STYLE=hidden
# GRUB_TIMEOUT=0
GRUB_TIMEOUT=-1

Solution 1:

You have found a bug in the kernel!

Consider filing a bug report. See How do I report a bug?

Test

When you boot Ubuntu, go to the Advanced Options for Ubuntu part of the grub menu. If you don't see GRUB when Ubuntu boots, you may have to press and hold the ESC or the SHIFT key to see the grub menu. There you will be able to select at least one older version of the kernel to boot from.

A Workaround

Read all the answers to the question:

How can I boot with an older kernel version?

You can change: GRUB_DEFAULT=0 to GRUB_DEFAULT=2 in the file /etc/default/grub

sudo nano /etc/default/grub

to edit the file. When done, press Ctrl+O to save the file and Ctrl+X to exit nano. Then use:

sudo update-grub

command to make the change take effect. This will set grub to boot from the older kernel without going through the menu every time.

In a few days or weeks there will be an updated kernel. When that happens boot to the new kernel using the grub menu and check if the touchpad works in the new kernel. If it works, reverse the changes described above.

Hope this helps