How To Fix A Touchpad Not Working In Linux
Basic Troubleshooting Steps
If your touchpad is not working in Linux, the first step is to ensure that the system recognizes the touchpad. Here are some basic steps to troubleshoot the issue:
-
Check System Recognition:
- Run the command
cat /proc/bus/input/devices | grep -i touchpad
to see if the system recognizes your touchpad. If the output looks similar to the following, it indicates that the touchpad is recognized:I: Bus=0011 Vendor=0002 Product=0007 Version=01b1 N: Name="SynPS/2 Synaptics TouchPad" P: Phys=isa0060/serio2/input0 S: Sysfs=/devices/platform/i8042/serio2/input/input8 U: Uniq= H: Handlers=mouse2 event8 B: EV=b B: KEY=420 0 70000 0 0 0 0 0 0 0 0 B: ABS=11000003
- If the touchpad is not listed, it may indicate a hardware or kernel issue.
- Run the command
-
Use
xinput
Command:- Run
xinput list
to see if the touchpad is listed. This command will show all input devices recognized by the system. If the touchpad is listed but not working, you may need to configure or install drivers.
- Run
-
Check BIOS Settings:
- Ensure that the touchpad is not disabled in the BIOS settings. Restart your laptop and press the key to enter the BIOS settings (common keys include F2, Del, or similar). Look for an entry called Internal Pointing Device, Touchpad, or Trackpad, and make sure it is enabled.
Driver Installation and Configuration
-
Install Necessary Drivers:
- Common touchpad suppliers include Synaptics, ALPS, and Elantech. You may need to install specific driver packages:
xserver-xorg-input-libinput
xserver-xorg-input-evdev
xserver-xorg-input-mouse
- For some touchpads, you may need
xserver-xorg-input-synaptics
.
- Common touchpad suppliers include Synaptics, ALPS, and Elantech. You may need to install specific driver packages:
-
Configure Touchpad Settings:
- Go to your system settings and select “Mouse & Touchpad.” Ensure that the touchpad is enabled and that the scrolling speed is set high enough to register. If the mouse and touchpad settings are combined, adjust the mouse speed as well.
-
Tweaking Configuration Files:
- For advanced users, you can tweak the
30-touchpad.conf
file in/etc/X11/xorg.conf.d/
to customize touchpad behavior. This can include disabling the touchpad when a mouse is connected or adjusting other settings not available in the GUI.
Advanced Troubleshooting
-
Check for Hardware Switches:
- Some laptops have a hardware switch to disable the touchpad, often accessed by holding down the
Fn
key plus one of the function keys. Check your laptop manual for instructions.
- Some laptops have a hardware switch to disable the touchpad, often accessed by holding down the
-
System Journal and Event Testing:
- Use
journalctl -b | grep -i touchpad
to check the system journal for any errors or warnings related to the touchpad. - Run
evtest
to see if the touchpad registers any input events. This can help determine if the issue is hardware-related.
- Use
-
Boot from a Live USB:
- If the touchpad works when booting from a live USB, it may indicate a configuration issue with your installed system rather than a hardware problem.
Specific Hardware Considerations
-
Compatibility Issues:
- Some touchpads, especially those on newer laptops or AMD-based systems, may have compatibility issues with Linux. For example, ELAN touchpads have been known to cause issues. You may need to try different drivers or kernel versions to resolve the problem.
-
Kernel Version:
- Ensure you are using a recent kernel version, as older kernels may not support newer hardware. For instance, the 5.10 LTS kernel might resolve issues that persist in newer kernels.
-
Boot Process Interaction:
- In some cases, using the touchpad during the boot process can make it discoverable and functional. This involves pressing the touchpad buttons and touching the touchpad during boot.
By following these steps, you can systematically troubleshoot and often resolve issues with a non-functional touchpad in Linux.
I have a strange situation: My touchpad does appear in the input list(ELAN touchpad), but not only do all of the ‘xserver-org-input-‘ commands say “command not” found even when my touchpad is working(after having to reboot my device), but ‘/etc/X11/xorg.conf.d/’ does not have any files in that folder on my device. It’s empty. Even stranger is that when I run the ‘journalctl -b | grep -i’ command, terminal gives no output, even though it’s in the input list as I said earlier. I also tried restarting Drivers with ‘sudo mobprobe -reset mouse’ and then ‘sudo mobprobe mouse’. That command doesn’t look like it works because using it(when my touchpad does work) does not require installing to enable my touchpad(using ‘sudo modprobe mouse’).
I have a strange situation: My touchpad does appear in the input list(ELAN touchpad), but not only do all of the xserver-org-input- commands say “command not” found, even when my touchpad is working(after having to reboot my device), but /etc/X11/xorg.conf.d/ does not have any files in that folder on my device. It’s empty.