My touchpad has mysteriously stopped working after I upgraded my kernel, despite having now downgraded my kernel and even tried to restore a previous snapshot using Timeshift.

I have one of the new Purism Librem 13 laptops.

I upgraded the kernel because I realised that bluetooth didn't seem to be working (the whole panel was greyed out when selected in System Settings). I had previously upgraded my kernel to 4.1.20 because the touchpad was only detected as a mouse on 3.19 and ignored all settings (enabling/disabling "Tap to click" etc.)

So in an effort to fix the bluetooth I tried a few kernel upgrades (going as high as 4.5). At some point the touchpad just totally stopped responding. So I tried downgrading and even restoring a Timeshift snapshot but nothing seems to fix it. Also bizarrely, the System Settings seem to be out of sync with the kernel. Previously on 4.1.20, the option for "Two finger scroll" was greyed out, but now it remains selectable right down to 3.19 (not that it does anything).

I've tried the suggestions on a number of sites. If I type xinput list I get this, so the touchpad is apparently recognised (I'm also currently using an old USB mouse):

Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ ImPS/2 BYD TouchPad                       id=13   [slave  pointer  (2)]
⎜   ↳ Logitech USB-PS/2 Optical Mouse           id=10   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ USB 2.0 Camera                            id=11   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=12   [slave  keyboard (3)]

Someone has also created a very handy dkms package for Purism's driver for this touchpad. With or without that installed, the touchpad was working fine before my kernel fiddling. :(

I have tried a number of other suggestions like:

sudo modprobe -r psmouse
sudo modprobe psmouse

I would really appreciate any ideas anyone has here.

Incidentally, as a new convert to Linux and Elementary OS, I just want to say I love this distro!

  • I've got the same issue, and I'am also new Linux user. I would appreciate every hint how to deal with it (and some links that explains the GRUB thing etc.) Thanks.
    – user4626
    Mar 30, 2016 at 16:56

2 Answers 2


Well, thanks to some assistance on the Purism forums I found the answer to this. (Unfortunately, not before paving the OS, returning to PureOS, and wasting a lot of time tearing my hair out.)

The solution is extremely straightforward, so much so it made me feel very stupid.

Pressing Fn + F1 enables/disables the touchpad on the Purism Librem 13. So at some point it seems as though I accidentally pressed that combination. Obviously around the same time I was upgrading my kernel. False alarm, sorry folks.

  • Thanks for providing your solution here. I had the same issue in NixOS and was soooo confused. I'm blown away that this is preserved between restarts. Bad decision, I believe.
    – monokrome
    Apr 23, 2019 at 10:11

Try dkms autoinstall, that will rebuild the modules for your new kernel and may help.

  • Thanks for the suggestion. Alas, this didn't work.
    – Jack Lenox
    Mar 30, 2016 at 7:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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