How to switch from libinput to synaptics in Ubuntu 18.04

88,209

Solution 1

I had the same problem and basically solved it by following Ryko's advice.

sudo apt install xserver-xorg-input-synaptics

... did the trick. I didn't uninstall libinput like Pilot6 said and libinput is still happily handling my keyboard, etc.

Solution 2

If you're running an HWE release (like 18.04.2) then you'll actually want:

sudo apt install xserver-xorg-input-synaptics-hwe-18.04

You don't need to remove any packages, just add this and once it's active you can make adjustments to your taste. (as others have indicated above)

Hint: The suffix "-hwe-18.04" needs to be appended to any pkg that HWE impacts. Read up on HWE and you'll understand why and the scope of the packages impacted.

Solution 3

I ran into problem after installing synaptics touchpad in ubuntu 18.04. My keyboard stopped working. So, I booted into the system (keyboard was working on login screen), mouse was working properly so I opened my mails from the history (I saved the commands in the mails using my mobile), I copied the following commands with enter (empty line after the commands):

sudo apt install xserver-xorg-input-all xserver-xorg-input-synaptics

This fixed boot the keyboard and mouse. No need to remove libinput or anything else. Reboot and everything is working now.

Note: Save the commands with an empty line using enter at the end of commands. This will help commands to execute directly without pressing enter while copy pasting in terminal, if the keyboard is not working.

Solution 4

can you give instructions on how to do the override?

The synaptics config file can be copied to /etc/X11/xorg.conf.d and given a higher number than the /usr/share/X11/xorg.conf.d synaptics.conf default. Then the synaptics touchpad driver overrides the libinput touchpad driver by having a higher priority.

There is an option that could be added to libinput.conf to prevent the libinput touchpad driver from being considered. After "MatchIsTouchpad" add:

Option "Ignore" "true"

Check with xinput:

xinput list
xinput --list-props "whatever touchpad from above list"

That will show either the libinput or the synaptics properties if the touchpad is using libinput or synaptics respectively. The synaptics touchpad driver should show output something like this:

Device 'ELAN1300:00 04F3:3057 Touchpad':
Device Enabled (152):   1
Coordinate Transformation Matrix (154): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (280): 1
Device Accel Constant Deceleration (281):   1.000000
Device Accel Adaptive Deceleration (282):   1.000000
Device Accel Velocity Scaling (283):    1.000000
Synaptics Edges (284):  0, 3208, 0, 2210
Synaptics Finger (285): 1, 70, 0
Synaptics Tap Time (286):   180
Synaptics Tap Move (287):   171
Synaptics Tap Durations (288):  180, 180, 100
Synaptics ClickPad (289):   1
Synaptics Middle Button Timeout (290):  0
Synaptics Two-Finger Pressure (291):    282
Synaptics Two-Finger Width (292):   7
Synaptics Scrolling Distance (293): 154, 77
Synaptics Edge Scrolling (294): 0, 0, 0
Synaptics Two-Finger Scrolling (295):   1, 0
Synaptics Move Speed (296): 1.000000, 1.000000, 0.000000, 0.000000
Synaptics Off (297):    0
Synaptics Locked Drags (298):   0
Synaptics Locked Drags Timeout (299):   5000
Synaptics Tap Action (300): 0, 0, 0, 0, 0, 0, 0
Synaptics Click Action (301):   1, 3, 2
Synaptics Circular Scrolling (302): 0
Synaptics Circular Scrolling Distance (303):    0.100000
Synaptics Circular Scrolling Trigger (304): 0
Synaptics Circular Pad (305):   0
Synaptics Palm Detection (306): 1
Synaptics Palm Dimensions (307):    10, 200
Synaptics Coasting Speed (308): 20.000000, 50.000000
Synaptics Pressure Motion (309):    30, 160
Synaptics Pressure Motion Factor (310): 1.000000, 1.000000
Synaptics Grab Event Device (311):  1
Synaptics Gestures (312):   1
Synaptics Capabilities (313):   1, 0, 0, 1, 1, 0, 0
Synaptics Pad Resolution (314): 32, 31
Synaptics Area (315):   0, 0, 0, 0
Synaptics Soft Button Areas (316):  1604, 0, 1800, 0, 0, 0, 0, 0
Synaptics Noise Cancellation (317): 50, 50
Device Product ID (276):    1267, 12375
Device Node (275):  "/dev/input/event15"

The synaptics touchpad driver allows for adjusting many settings when the libinput driver just turns a few things on or off and so is not useful for my touchpad.

Solution 5

The problem is not necessarily the missing Synaptics drivers, it is more the fact that the libinput driver settings are purposefully left generic so that the user or hardware OEM can adjust them as desired.

Rather than simply uninstalling libinput and installing Synaptics, you can still add Synaptics but to keep everything working you need to provide an "override" by removing/updating references to libinput specifically in relation to your touchpad ONLY and adding in a rule for Synaptics.

A major part of the problem is that there doesn't appear to be any proper GUI tool and few of the hardware OEMs (Dell/HP/Lenovo/etc) provide customized configs optimized to their hardware outside the possible exception of their own preinstalled Ubuntu versions (Dell provides this option at least). I haven't grabbed the latest Dell Ubuntu image and unpacked it to see if they supply any customizations, but it wouldn't surprise me if they did. If not I definitely think it is something they should see about adding, since the XPS13/XPS15 and their business brothers the Precision 55x0 models are amazingly fast running Ubuntu compared to Windows.

This article by Dell has a good start on how to potentially fix the issue (and doesn't necessarily only apply to their systems or their touchpads), https://www.dell.com/support/article/us/en/19/sln308258/precision-xps-ubuntu-general-touchpad-mouse-issue-fix?lang=en

Share:
88,209

Related videos on Youtube

Zephyr Zephyroff
Author by

Zephyr Zephyroff

Updated on September 18, 2022

Comments

  • Zephyr Zephyroff
    Zephyr Zephyroff over 1 year

    There is a problem with my laptop — jumping cursor. I think the hardware is the source of the problem. Maybe toucpad is just very inaccurate when getting finger coordinates and touching events.

    On Ubuntu 14.04 I just set vertical and horizontal hysteresis and high and low finger pressure to make touchpad feel smooth and nice. When I installed 18.04 I found that I can't adjust my touchpad any more (except a few options that are not too helpful in my case).

    So, can anybody of you, guys, help me with getting back that beautiful synaptics driver?

    • Ryko
      Ryko about 6 years
      run this command: " sudo apt install xserver-xorg-input-synaptics ", after that run this command: " synclient TapButton1=1 TapButton2=3 TapButton3=2"
    • Zephyr Zephyroff
      Zephyr Zephyroff about 6 years
      Is that enough to switch driver? I tried the answer below and nearly broke my system. Keyboard stopped working.
    • Ryko
      Ryko about 6 years
      Have you tried both of my commands, This command will not remove any package, so this is not going to break your system. If the above command works for you, then I will tell you the further process. I am just checking if the synaptics driver is working for you.
    • Zephyr Zephyroff
      Zephyr Zephyroff about 6 years
      Couldn't find synaptics properties. No synaptics driver loaded?
    • Ryko
      Ryko about 6 years
      Then you have to install synaptic driver. Run this command without quotes "sudo apt install xserver-xorg-input-synaptics". Then after installation run this command without quotes: "synclient TapButton1=1 TapButton2=3 TapButton3=2".
    • Ryko
      Ryko about 6 years
      See if the problem still persists...
    • Zephyr Zephyroff
      Zephyr Zephyroff about 6 years
      This output was right after I performed those commands from your first comment: with installed xserver-xorg-input-synaptics both synclient TapButton1=1 ... and synclient -l produce the same output that I posted above.
    • orodbhen
      orodbhen over 5 years
      I'm surprised by your post. I had never-ending issues with synaptics, such as the touchpad freezing all the time. At first I could just reload the driver, but later only a reboot would fix it. After a few years of this, I was about to give up on my Linux laptop and buy a MacBook, then I switched to libinput and everything's worked perfectly since. I guess it depends on your hardware.
    • Zephyr Zephyroff
      Zephyr Zephyroff over 5 years
      I have some issues with synaptics as well. I have even written a script that every minute sets desired settings because they're sometimes dropped for an unknown reason. BUT I know these settings are there and I can reset them. In case of libinput there are no such settings. And no possibility to prevent cursor from jumping and no option to adjust sensibility.
  • Zephyr Zephyroff
    Zephyr Zephyroff almost 6 years
    It's not working in my case. Probably there is something missed. Some package or configuration. I'm always seeing the same Couldn't find synaptics properties. No synaptics driver loaded?. I don't know how to get rid of this.
  • Zephyr Zephyroff
    Zephyr Zephyroff almost 6 years
    Eventually it started working. I installed xserver-xorg-input-synaptics then rebooted the system. And it worked. Thanks!
  • David
    David almost 6 years
    Make sure to run sudo apt update first to avoid getting an 'Unable to locate package' error - doh!
  • jvdh
    jvdh over 5 years
    can you give instructions on how to do the override?
  • Swapnil Rustagi
    Swapnil Rustagi over 5 years
    Thanks a lot!!! This worked for me instantly on my Dell Vostro with Ubuntu 18.04.
  • RjPiston
    RjPiston almost 5 years
    This hasn't worked for me. Tried removing and installing and rebooting a number of times.
  • RjPiston
    RjPiston almost 5 years
    All this did was disable my touchpad, which leads me to believe that the synaptics drivers aren't even loading.
  • FairMiles
    FairMiles over 4 years
  • kevinkayaks
    kevinkayaks over 4 years
    does not work for me. synaptics just exists alongslide libinput and is not selected for use.
  • Saeed Baig
    Saeed Baig over 4 years
    Thanks, this worked for me on Kubuntu 18.04.3! Installing the non-hwe package from the accepted answer crashed the DE. Installing this hwe package worked fine though.
  • AveryFreeman
    AveryFreeman over 4 years
    Wow, I installed xserver-xorg-input-synaptics on Ubuntu 19.10 and rebooted and my touchpad works SO much better. Thinkpad T460s. It's like a dream come true.