24

I updated ubuntu 18.04 to 20.04. All worked fine for weeks until today. Touchpad on lenovo y580 stopped working just like that. I didn't install any new updates yesterday.

Xinput log:

Virtual core pointer                        id=2    [master pointer  (3)]
↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
↳ PS/2 Synaptics TouchPad                   id=14   [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)]
↳ Video Bus                                 id=10   [slave  keyboard (3)]
↳ Lenovo EasyCamera: Lenovo EasyC           id=11   [slave  keyboard (3)]
↳ Ideapad extra buttons                     id=12   [slave  keyboard (3)]
↳ AT Translated Set 2 keyboard              id=13   [slave  keyboard (3)]
3
  • 1
    Do you have errors in output of dmesg | grep psmouse? Does it work before you log in? Can you check if it works in openbox session?
    – int_ua
    Commented May 5, 2020 at 18:17
  • Seems related to this bug Commented Dec 18, 2020 at 17:52
  • 2
    doing sudo rmmod psmouse followed by sudo modprobe psmouse reloads a driver which sometimes helps to quickly get the mouse working again
    – Mladen B.
    Commented Jan 10, 2023 at 10:01

12 Answers 12

31

This is solution, that has worked for me:

sudo rmmod psmouse
sudo modprobe psmouse proto=imps

or

sudo modprobe -r psmouse && sudo modprobe psmouse proto=imps

To make it permanent, edit:

sudo gedit /etc/modprobe.d/options

and add line:

options psmouse proto=imps

NOTE:

This fix will make the touchpad be recognized as a mouse instead, which might remove some features specific to touchpads such as disable while typing and scroll gestures.

Hope this helps.

11
  • 2
    @monkut you can try this to add the command to be executed at startup: stackoverflow.com/a/9683384/12731060 Commented Sep 7, 2020 at 4:05
  • 1
    Hmmm... Just re-installed 20.04 and have the same issue. I guess some update messed up the system. My hw works fine in my windows boot.
    – monkut
    Commented Sep 8, 2020 at 2:27
  • 2
    Looks like the problem may have been introduced in the kernel, 5.4.0-47-generic. I selected the previous, 5.4.0-42-generic, at grub boot load and the trackpad/trackpoint work fine now.
    – monkut
    Commented Sep 8, 2020 at 12:35
  • 1
    That was it @monkut! I think that deserves to be an answer, so that more can see this simple solution instead of the 2h of complex commands I had to live through
    – oma
    Commented Sep 10, 2020 at 20:17
  • 1
    @GopalS wow, how did I miss the fact that you put note in bold. My fault haha!
    – joshpetit
    Commented Dec 17, 2020 at 11:33
9

I've been using 20.04 since august and just and at the end of August 2020, suddenly the touchpad/trackpoint stopped working on my Lenovo Thinkpad X1 extreme.

After struggling, getting it partially working, and eventually trying to re-install 20.04 3 or 4 times to fix the issue (initial install was fine), I found that the problem may have been introduced in the kernel 5.4.0-47-generic.

To work around this, I select the older kernel 5.4.0-42-generic at boot time by accessing the GRUB menu and going to Advanced Options.

Now I'm able to use the trackpad/trackpoint as before.

I still have a bit of a display issue with suspend, but at least I can work on my laptop again.

To configure the kernels and defaults to set, this Ask Ubuntu question is a good resource.

UPDATE

I raised a bug with ubuntu, and managed to resolve the issue in my case by changing the Config->Graphics Device value from Discrete Graphics to Hybrid Graphics. With Hybrid Graphics set in BIOS and running the lastest kernal/updates as of 2020-11-6 I'm able to use my trackpad/trackpoint.

6
  • 2
    This worked for me, way simpler and fast to test. None of the other commands worked for me, touchpad was not showing in /proc/bus/input/devices list when booting on new linux kernel. I'm also on ubuntu 20.04. Thanks monkut
    – oma
    Commented Sep 11, 2020 at 7:19
  • That also worked for me, my two cents here is to save the last kernel you have previously run, changing the file /etc/default/grub adding the entries: GRUB_DEFAULT=saved and GRUB_SAVEDEFAULT=true. After that, executing sudo update-grub. Source: askubuntu.com/questions/216398/… Commented Nov 6, 2020 at 8:17
  • 1
    Could you link the bug you reported to Ubuntu? I'm having a similar issue, but it's not solved with the steps here. Commented Dec 5, 2020 at 16:27
  • Hybrid graphics seemed to be the issue for me too on an Extreme Gen1, weird Commented Jan 8, 2021 at 15:57
  • Had the issue also with hybrid graphic. 5.8.0-36-generic kernel version fixed all issues for me.
    – wasserholz
    Commented Feb 15, 2021 at 12:19
8

You can try reinstalling touchpad driver (synaptics in your case):

sudo apt purge xserver-xorg-input-synaptics
sudo apt autoremove
sudo apt update
sudo apt install xserver-xorg-input-synaptics

Restart and check.

6
  • I did that. After restart on the screen where you choose user i try to move cursor but he weirdly and fast jumps all over the screen and after few moments touchpad stop working. Also in xinput log now "PS/2 Synaptics TouchPad " is not visible.
    – scof93
    Commented May 4, 2020 at 8:48
  • Issue this command to see if libinput is installed: sudo apt list --installed | grep libinput, if it's not there, you have to install the xserver-xorg-input-libinput package
    – Calico Cat
    Commented May 4, 2020 at 8:56
  • Among other things I got: libinput-bin/focal,now 1.15.5-1 amd64 [installed], libinput10/focal,now 1.15.5-1 amd64 [installed], xserver-xorg-input-libinput/focal,now 0.29.0-1 amd64 [installed,automatic]
    – scof93
    Commented May 4, 2020 at 9:01
  • 1
    Looks like reinstalling xserver-xorg-input-libinput works for me on Yoga 13 and Ubuntu 20.04.
    – ZhukovRA
    Commented Aug 17, 2020 at 21:24
  • 1
    This is dangerous if one has already removed xserver-xorg-input-libinput (askubuntu.com/a/783734/89062), as it will render the machine entirely unresponsive to all inputs.
    – MRule
    Commented Oct 4, 2021 at 8:24
7

I solved my touchpad problem on Ubuntu 20.04 with this:

  1. Edit (create it if doesn't exist) the psmouse.conf file:

    sudo gedit /etc/modprobe.d/psmouse.conf
    
  2. Add the line:

    options psmouse synaptics_intertouch=1
    
  3. Then run:

    sudo modprobe -r psmouse && sudo modprobe psmouse
    
3
  • Which touchpad?
    – jmunsch
    Commented Jul 20, 2021 at 22:58
  • It Worked for me. Commented Nov 2, 2021 at 5:15
  • after everytime restarting or logging out, i need to again run sudo modprobe -r psmouse && sudo modprobe psmouse Commented Nov 2, 2021 at 8:19
3

Disabling and enabling the touchpad in Settings somehow solves the problem.

4
  • 2
    Not seeing any settings like that Commented Apr 3, 2022 at 18:27
  • Go to Settings >> Mouse & Touchpad >> Toggle Touchpad to disable or enable. NOTE: You might need a mouse to control the pointer when the touchpad is disabled. Commented Apr 4, 2022 at 9:43
  • Didn't work for me :( Commented May 20, 2022 at 13:35
  • @AlikElzin-kilaka perhaps actually close the settings window and reopen, then it worked for me.
    – devunder
    Commented Oct 8, 2022 at 13:34
3

Well, all I did was to get to the “settings” and enabled the touchpad which surprisingly was disabled. I will check for the next few days if there is an issue and I will report here.

This touchpad issue happened on my ASUS N550JK and I think after I did “dist-upgrade” and my Linux distribution was upgraded.

enter image description here

2

Here's an easy and quick way to do solve the problem:

Just press Alt+F2 and enter the command r. This will be restarting your environment for a while and then everything will work properly.

1

I'm running into this situation every now and then on my Lenovo laptop. Trackpad suddenly stops working; sometimes the keyboard stops too. I can rescue things a bit with the virtual keyboard. ALt-F-R doesn't solve the problem. Reboots usually restore mouse/keyboard function. Recently, none of this worked, but plugging in the dongle of a Bluetooth mouse (I think) forced a bus rescan and restored mouse/keyboard function.

1

This just happened to me today with Ubuntu 20.04 5.4.0-100-generic kernel: just restarting the system with "shutdown -r now" fixed the issue.

2
  • Strange after that update on all 6 of my machines the update required a restart. So are you saying a second restart fixed it?
    – David
    Commented Feb 18, 2022 at 15:27
  • 1
    This was my problem showup use case: i was playing normally with ubuntu, then suddenly, for no apparent reason, the touchpad was like inexistent. The "sudo rmmod psmouse sudo modprobe psmouse proto=imps" suggested solution was transforming the touchpad in a mouse ie disablind the multitouch features so I didn't like it. Before trying more solutions I just restarted the system for double check and the problem was gone. My 2 cents Commented Feb 21, 2022 at 15:10
0

I was facing the issue on elementary OS 6.1 (based on Ubuntu 20.04), and the problem seemed to be related to ignore while typing option getting apparently stuck. Toggling this option from System Settings > Mouse & Touchpad > Device > Touchpad > Ignore While typing got it working back on.

0

this answer is just an extension of the answer by @ubuntovative is here

simply to get trackpad accessed as mouse we need to use this command
sudo modprobe -r psmouse && sudo modprobe psmouse proto=imps
This command will basically unload the psmouse kernel module and load it with an extra parameter proto=imps, which will make the kernel to treat the touchpad as mouse.

Make command permanent

There are various ways for it, the one that is used in general is to create a .conf file(any name can be used such as psmouse.conf, just .conf is required as file-extension) in /etc/modeprobe.d/ directory with the command options psmouse proto=imps, which will basically load the kernel module psmouse with parameter proto=imps at first place.

The problem with these approaches is they are not working all the time, for me it is not working in debian 12 based distro.

The approach that always work for me

For me using cron jobs works all the time, which will run this command at every boot, for this do the following:

  1. create a file /etc/crontab if not already created,
  2. Then add this line at end of this file @reboot root modprobe -r psmouse && modprobe psmouse proto=imps

Issue with the command

As mentioned in the above answers, using trackpad as mouse will result in loss of some of its features, for me the scrolling is not available anymore.

Workaround to get scrolling back

To get scrolling back i am using "button" scrolling method in libinput driver, what this will do is when you press the set button(the one we would set among the two trackpad buttons to be recognized as scroll button) then any finger movement on trackpad will be considered as scroll while the button is being pressed.

How to do this

First note that i am using libinput driver(recommended and available by default on most distros) than the synaptic driver.

Now do the following:

  1. open file /usr/share/X11/xorg.conf.d/40-libinput.conf (number can be different, smaller number means higer priority as compared to other scripts present in the directory) as root user.
  2. Now look for the para
Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Change this to

Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
        Option "ScrollMethod" "button"
        Option "ScrollButton" "3"
EndSection

Explanation

The line MatchIsTouchpad "on" has been removed to apply these setting to pointer device also(which in this case your touchpad has already become after loading the psmouse with proto=imps option).

The line Option "ScrollMethod" "button" is used to set the "scrollmethod" to "button" (other available options are "twofinger", "none", and "edge" none of which are working in my case).

The line Option "ScrollButton" "3" is used to set the bottom right button on the touchpad as scrollbutton basically the button which when down will make any finger movement on touchpad as corresponding scroll.

The number "3" is generally the number assigned to the bottom right button, for bottom left button it is "1", you can also check the number assigned to each button via command xinput get-button-map <device-id> (for example xinput get-button-map 10), where device-id is the device id of your touchpad which you can get via command xinput list.

After all this you should have a working touchpad with button scroll enabled.

0

In my case few years ago I turned off touchpad, after updating to kernel 6.5 (ubutnu 22.04 xfce lenovo x230) the ID of touchpad changed and my startup script was turning off trackpoint instead of touchpad :-)

xinput list #pick correct ID for trackpoint and enable it
xinput set-prop 11 "Device Enabled" 1 #then i disabled touchpad again with proper id

Hope this helps someone.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .