How to Fix a Touchpad Not Working in Linux

Fix Touchpad Not Working Linux Featured

Over the years since its inception, Linux has gotten easier and easier to use. It used to be that even getting it to run at all was a victory, and now we take that for granted. That said, not everything runs as flawlessly as it could.

Laptops, especially newer laptops, can still be problematic with Linux. Part of this comes down to Wi-Fi and battery management, but the touchpad is often to blame as well. Unfortunately, these touchpad issues can be tough to diagnose and fix.

Before You Start

If your touchpad is not working and you are connected to an external mouse, check in your System Settings that you have not enabled the “disabled touchpad when mouse is connected” option.

Basic Troubleshooting

Assuming your touchpad doesn’t work at all, you can check to see if the system recognizes it. Try running the following:

If the output is too long, you can use less instead of cat. You can also run the following:

You should see something similar to the following:

If you don’t get any output similar to the above, you’re either dealing with a kernel bug or completely unrecognized hardware. On the other hand, if you do see a message relating to your touchpad, try the following:

If you get results from xinput, that’s good news. This means either you need to install the proper driver or simply configure it.

Fix Touchpad Not Working Linux Xinput

Before you move on, you might want to hook up a mouse and use it to try the graphical touchpad settings menu. Where this is will depend on your desktop. It’s possible that your touchpad simply isn’t enabled. If that’s the case, just tick the box to enable it.

Figure Out Which Driver You Need

Once you have a clue from xinput, you may need to install the proper driver. Common touchpad suppliers include Synaptics, ALPS, and Elantech.

On some modern Linux systems, installing the following packages will include support for the above touchpads:

In some cases, you may need to install another driver package like xserver-xorg-input-synaptics.

Other Troubleshooting

The vast majority of Linux touchpad issues come down to missing drivers. That said, there are a few other options you may need to check.

Fix Touchpad Not Working Linux Gui Settings

On some laptops it’s possible to disable the touchpad completely in the BIOS. You may see it listed by xinput, but it won’t work. Make sure to check this before tossing your laptop in the trash.

Many laptops contain a hardware switch to disable the touchpad. Often this works by holding down the “Fn” key plus one of the function keys on the keyboard. This will cause similar issues to a BIOS switch, so be sure to check for it.

Touchpad Still Not Working?

There is one final thing you can try if your touchpad isn’t working and you’re using an older distribution. Try a newer Linux distro. It takes time and effort, yes, but newer distros have newer kernels which means better hardware support.

If you’re already using an up-to-date distribution and your touchpad isn’t working, you may just have to tough it out. A wireless mouse with a dongle isn’t ideal, but it’s better than having no mouse support at all. If you want to go one step further, take a look at our list of the best gaming mice for Linux.

Kris Wouk Kris Wouk

Kris Wouk is a writer, musician, and whatever it's called when someone makes videos for the web.


  1. “cat /proc/bus/input/devices | grep -I touchpad” should be “cat /proc/bus/input/devices | grep -i touchpad” (lowercase -i).

  2. Thank you so much. In my case, the reason it wasn’t working was because it was disabled by keyboard. As simple as [fn]+[f7]. It might be helpful for someone as silly as me.

  3. What if xinput list dispays wayland

    Virtual core pointer id=2 [master pointer (3)]
    ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
    ⎜ ↳ xwayland-pointer:16 id=6 [slave pointer (2)]
    ⎜ ↳ xwayland-relative-pointer:16 id=7 [slave pointer (2)]
    ⎜ ↳ xwayland-touch:16 id=9 [slave pointer (2)]
    ⎜ ↳ xwayland-stylus:16 id=10 [slave pointer (2)]
    ⎜ ↳ xwayland-eraser:16 id=11 [slave pointer (2)]
    ⎜ ↳ xwayland-cursor:16 id=12 [slave pointer (2)]
    ⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ xwayland-keyboard:16 id=8 [slave keyboard (3)]

  4. Hi,
    thank you for the informations.
    However, my touchpad not recognized at all comes with a new linux ubuntu distribution while it was perfectly functional with a very old fedora distrib.
    I wanted to change and update my laptop and for a few aspects it is a failure (bugs, not recognized hardware).
    I am a bit disappointed by ubuntu.

  5. Hi! thanks a lot it really helps me a lot. Helped me to feel stupid xD
    Just enable some settings on graphical “Touchpad settings” on Debian KDE.

    Thanks and take care!

Comments are closed.