You are not logged in.

#1 2023-01-18 02:26:16

johnraff
nullglob
From: Nagoya, Japan
Registered: 2015-09-09
Posts: 12,550
Website

libinput vs synaptics

This is a discussion the BL devs had in Dec. 2021, but the topic is still unresolved, so I'm copying it here:

---
For years now people have been saying libinput is the way forward and synaptics+evdev is archaic.

But libinput still seems to have issues, and synaptics still seems to offer more configuration.
Shall we stay with synaptics for Beryllium?

Some discussions (not everyone liked libinput back then):
https://wiki.debian.org/SynapticsTouchp … Stretch.22
https://neosmart.net/blog/2020/multi-to … -on-linux/
https://www.askwoody.com/forums/topic/w … t-drivers/
https://wiki.archlinux.org/title/libinput
https://fedoraproject.org/wiki/Input_de … figuration
https://askubuntu.com/questions/1192638 … ics-driver

other dev1 wrote:

Personally I never got warm with libinput style touchpad steering but that has been a few years back. I'm not qualified to compare the two after all the alleged modernization libinput has received because for ergonomic reasons I'm only using mice now ... if libinput is the default, we could have a case for keeping it at libinput. However, configuration of libinput is much different from synaptics and we might have less experience and knowledge with it, making keeping synaptics preferable. As synaptics is deprecated however I wonder how long Xorg will automatically be able to load synaptics; IIRC it already outputs  a clear deprecated warning on my Arch system with the latest versions of Xorg.

What would be in favour of libinput is a good config GUI (perhaps lifted from xfce)! libinput can be configured without messing with configuration files (?) however it must be seen how true that is when not running under a full desktop environment.

johnraff wrote:

The line of least resistance at this point might be to carry on using synaptics, at least on Bullseye/Beryllium.
Maybe revisit with Boron?

other dev2 wrote:

I briefly tried libinput a year ago with poor results on my old hardware. synpatics ain't broke, so don't fix it. It's the way forward, though, so agreed to revisit come Boron/Bookworm.

Anyway, Boron is now coming up, so time to think again.

Any comments from anyone?


...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )

Introduction to the Bunsenlabs Boron Desktop

Offline

#2 2023-01-18 03:35:23

DeepDayze
Like sands through an hourglass...
From: In Linux Land
Registered: 2017-05-28
Posts: 1,897

Re: libinput vs synaptics

Perhaps have synaptics as default in the live session and then in BL-Welcome perhaps give users a choice?


Real Men Use Linux

Offline

#3 2023-01-18 04:04:58

johnraff
nullglob
From: Nagoya, Japan
Registered: 2015-09-09
Posts: 12,550
Website

Re: libinput vs synaptics

^possibility. But how many users will know which to choose? Is there some hardware test the script could do to help with the decision?


...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )

Introduction to the Bunsenlabs Boron Desktop

Offline

#4 2023-01-18 04:37:51

or1o9
Member
Registered: 2017-11-15
Posts: 246

Re: libinput vs synaptics

What about default to what Debian defaults to? Is that a possibility?

Offline

#5 2023-01-18 05:14:07

johnraff
nullglob
From: Nagoya, Japan
Registered: 2015-09-09
Posts: 12,550
Website

Re: libinput vs synaptics

I think Debian now defaults to libinput. That might be the best choice for Boron, but back in Dec. '21 there were still problems with libinput (see the OP links) that we need to check.


...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )

Introduction to the Bunsenlabs Boron Desktop

Offline

#6 2023-01-18 06:54:54

beaker
Unverified Muppet
Registered: 2016-03-06
Posts: 198

Re: libinput vs synaptics

Yup - go with debian default.

Offline

#7 2023-01-18 08:16:43

johnraff
nullglob
From: Nagoya, Japan
Registered: 2015-09-09
Posts: 12,550
Website

Re: libinput vs synaptics

Can we have any confirmation from somebody that libinput is no longer as awful as people were saying it was in 2020 or so?


...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )

Introduction to the Bunsenlabs Boron Desktop

Offline

#8 2023-01-18 10:18:42

hhh
Gaucho
From: High in the Custerdome
Registered: 2015-09-17
Posts: 16,032
Website

Re: libinput vs synaptics

libinput is no longer as awful as people were saying it was in 2020 or so. smile

On my fairly current IdeaPad running GNOME/Wayland/Ubuntu 22.04 the touchpad works perfectly.

That said, I don't know that users on old hardware will have the same success, and note that our syndaemon config in bl-autostart will be ignored by xserver-xorg-input-libinput...

https://wiki.debian.org/SynapticsTouchp … Stretch.22


No, he can't sleep on the floor. What do you think I'm yelling for?!!!

Offline

#9 2023-01-19 03:04:43

johnraff
nullglob
From: Nagoya, Japan
Registered: 2015-09-09
Posts: 12,550
Website

Re: libinput vs synaptics

^That Debian wiki page suggests that libinput will take precedence by default if both are installed (regardless of our attempt to use synaptics).
Sounds like a reasonable situation now anyway.

I haven't noticed any problems on my old Thinkpad with default Beryllium (so presumably using libinput) but I don't use it so much, and haven't explored things like two-finger tapping etc.

And we should comment-out the syndaemon commands in ~/.config/bunsen/autostart with instructions - or a link - how to enable synaptics for those who want it.


...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )

Introduction to the Bunsenlabs Boron Desktop

Offline

#10 2023-01-19 04:39:31

johnraff
nullglob
From: Nagoya, Japan
Registered: 2015-09-09
Posts: 12,550
Website

Re: libinput vs synaptics

Looking at the Arch wiki: https://wiki.archlinux.org/title/libinput
then on my system:

john@beryllium:~$ ls /usr/share/X11/xorg.conf.d/
10-amdgpu.conf  10-quirks.conf  40-libinput.conf   70-wacom.conf
10-evdev.conf   10-radeon.conf  70-synaptics.conf
john@beryllium:~$ ls /etc/X11/xorg.conf.d
90-xpra-virtual.conf
Arch wiki wrote:

If you have libinput and synaptics installed in parallel with default configuration (i.e. no files in /etc/X11/xorg.conf.d for either), synaptics will take precedence due to its higher numeric order 70- in the default installation directory.

but

One way to check which devices are managed by libinput is the xorg logfile. For example, the following:

$ grep -e "Using input driver 'libinput'" /path/to/Xorg.0.log

on my system:

john@beryllium:~$ grep -e "Using input driver 'libinput'" /var/log/Xorg.0.log
[     7.073] (II) Using input driver 'libinput' for 'Power Button'
[     7.114] (II) Using input driver 'libinput' for 'Power Button'
[     7.140] (II) Using input driver 'libinput' for 'USB Optical Mouse'
[     7.314] (II) Using input driver 'libinput' for 'Liteon Technology Corp. USB wired keyboard'
[     7.342] (II) Using input driver 'libinput' for 'Liteon Technology Corp. USB wired keyboard Consumer Control'
[     7.358] (II) Using input driver 'libinput' for 'Liteon Technology Corp. USB wired keyboard System Control'
[     7.387] (II) Using input driver 'libinput' for 'HP WMI hotkeys'
[     7.424] (II) Using input driver 'libinput' for 'Liteon Technology Corp. USB wired keyboard Consumer Control'

which says libinput is controlling all my devices, in spite of the file numbering in /usr/share/X11/xorg.conf.d/ which they say should give synaptics precedence.

Also:

john@beryllium:~$ synclient -l
Couldn't find synaptics properties. No synaptics driver loaded?

Meanwhile:

Debian Wiki wrote:

You can make the synaptics driver take precedence over libinput by copying /usr/share/X11/xorg.conf.d/50-synaptics.conf into /etc/X11/xorg.conf.d, so as to make it take precendence over the libinput configuration file found at /usr/share/X11/xorg.conf.d/90-libinput.conf.

(Those numbers are wrong btw.)

The current situation is fine but I'd like to know what mechanism is giving libinput precedence.

Hmm, this Ubuntu post says the priority for files in /usr/share/X11/xorg.conf.d is lower number takes precedence: https://askubuntu.com/a/1311104
Either Arch is wrong or xorg has changed its behaviour, but that would account for libinput being used over synaptics.

Last edited by johnraff (2023-01-19 05:14:19)


...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )

Introduction to the Bunsenlabs Boron Desktop

Offline

#11 2023-01-19 05:19:04

hhh
Gaucho
From: High in the Custerdome
Registered: 2015-09-17
Posts: 16,032
Website

Re: libinput vs synaptics

If we still use Xorg with Boron, and I assume we will since Openbox isn't Wayland compatible, maybe Synaptics is still the better choice?


No, he can't sleep on the floor. What do you think I'm yelling for?!!!

Offline

#12 2023-01-19 06:02:07

johnraff
nullglob
From: Nagoya, Japan
Registered: 2015-09-09
Posts: 12,550
Website

Re: libinput vs synaptics

^Possibly. But if we want synaptics as default we have to configure it over the Debian setup. Just installing the synaptics package (as we are already) isn't enough. Then OTOH, people with new hardware might prefer libinput now? Perhaps it needs to be a user option in bl-welcome after all? Or just a HOW-TO?

I'm on a desktop now, so when I tried to enable synaptics there was no touchpad and it still seemed not to be loaded.
Could you try this on your laptop?

ls /usr/share/X11/xorg.conf.d/
# check 70-synaptics.conf is there, then
sudo cp /usr/share/X11/xorg.conf.d/70-synaptics.conf /etc/X11/xorg.conf.d

reboot, and try:

grep -e "Using input driver" /var/log/Xorg.0.log

to see if synaptics is being used?


...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )

Introduction to the Bunsenlabs Boron Desktop

Offline

#13 2023-01-19 10:55:46

johnraff
nullglob
From: Nagoya, Japan
Registered: 2015-09-09
Posts: 12,550
Website

Re: libinput vs synaptics

Update from Thinkpad T420s (so not new) with recently installed default Beryllium (ie both xorg synaptics and libinput):

 john@beryllium-tp:~$ ls /usr/share/X11/xorg.conf.d
10-amdgpu.conf  10-quirks.conf  40-libinput.conf   70-wacom.conf
10-evdev.conf   10-radeon.conf  70-synaptics.conf
john@beryllium-tp:~$ ls /etc/X11/xorg.conf.d
john@beryllium-tp:~$ 
john@beryllium-tp:~$ grep 'Using input driver' /var/log/Xorg.0.log
[    30.540] (II) Using input driver 'libinput' for 'Power Button'
[    30.603] (II) Using input driver 'libinput' for 'Video Bus'
[    30.658] (II) Using input driver 'libinput' for 'Sleep Button'
[    30.686] (II) Using input driver 'libinput' for 'Integrated Camera: Integrated C'
[    30.743] (II) Using input driver 'libinput' for 'AT Translated Set 2 keyboard'
[    30.774] (II) Using input driver 'synaptics' for 'SynPS/2 Synaptics TouchPad'
[    30.848] (II) Using input driver 'libinput' for 'TPPS/2 IBM TrackPoint'
[    30.920] (II) Using input driver 'libinput' for 'ThinkPad Extra Buttons'
john@beryllium-tp:~$ synclient -l
Parameter settings:
    LeftEdge                = 1751
    RightEdge               = 5191
    TopEdge                 = 1624
    BottomEdge              = 4282
    FingerLow               = 25
    FingerHigh              = 30
    MaxTapTime              = 180
    MaxTapMove              = 222
    MaxDoubleTapTime        = 180
    SingleTapTimeout        = 180
    ClickTime               = 100
    EmulateMidButtonTime    = 75
    EmulateTwoFingerMinZ    = 282
    EmulateTwoFingerMinW    = 7
    VertScrollDelta         = 101
    HorizScrollDelta        = 101
    VertEdgeScroll          = 1
    HorizEdgeScroll         = 1
    CornerCoasting          = 0
    VertTwoFingerScroll     = 1
    HorizTwoFingerScroll    = 0
    MinSpeed                = 1
    MaxSpeed                = 1.75
    AccelFactor             = 0.0395883
    TouchpadOff             = 2
    LockedDrags             = 0
    LockedDragTimeout       = 5000
    RTCornerButton          = 0
    RBCornerButton          = 0
    LTCornerButton          = 0
    LBCornerButton          = 0
    TapButton1              = 1
    TapButton2              = 0
    TapButton3              = 0
    ClickFinger1            = 1
    ClickFinger2            = 1
    ClickFinger3            = 1
    CircularScrolling       = 0
    CircScrollDelta         = 0.1
    CircScrollTrigger       = 0
    CircularPad             = 0
    PalmDetect              = 0
    PalmMinWidth            = 10
    PalmMinZ                = 200
    CoastingSpeed           = 20
    CoastingFriction        = 50
    PressureMotionMinZ      = 30
    PressureMotionMaxZ      = 160
    PressureMotionMinFactor = 1
    PressureMotionMaxFactor = 1
    GrabEventDevice         = 0
    TapAndDragGesture       = 1
    AreaLeftEdge            = 0
    AreaRightEdge           = 0
    AreaTopEdge             = 0
    AreaBottomEdge          = 0
    HorizHysteresis         = 25
    VertHysteresis          = 25
    ClickPad                = 0

So synaptics is being used for the touchpad and libinput for everything else.
I guess that's what we wanted to happen?
(And the Arch Wiki was not wrong about numbering precedence.)

If OTOH for Boron we wanted to default to libinput for everything it would just mean dropping  xserver-xorg-input-synaptics (and maybe evdev) from the install list.

EDIT:
Just tested giving libinput priority by:

sudo cp /usr/share/X11/xorg.conf.d/40-libinput.conf /etc/X11/xorg.conf.d/

Reboot, and:

john@beryllium-tp:~$ synclient -l
Couldn't find synaptics properties. No synaptics driver loaded?
john@beryllium-tp:~$ grep 'Using input driver' /var/log/Xorg.0.log
[    24.192] (II) Using input driver 'libinput' for 'Power Button'
[    24.277] (II) Using input driver 'libinput' for 'Video Bus'
[    24.351] (II) Using input driver 'libinput' for 'Sleep Button'
[    24.378] (II) Using input driver 'libinput' for 'Integrated Camera: Integrated C'
[    24.435] (II) Using input driver 'libinput' for 'AT Translated Set 2 keyboard'
[    24.467] (II) Using input driver 'libinput' for 'SynPS/2 Synaptics TouchPad'
[    24.526] (II) Using input driver 'libinput' for 'TPPS/2 IBM TrackPoint'
[    24.580] (II) Using input driver 'libinput' for 'ThinkPad Extra Buttons'

So libinput has taken over the touchpad.

...and scrolling with the touchpad no longer works. neutral

So, at least on Debian Bullseye, it looks as if synclient is still the way to go (ie the way things are right now).

But let's keep an eye on how libinput works in Boron.

Last edited by johnraff (2023-01-19 11:08:53)


...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )

Introduction to the Bunsenlabs Boron Desktop

Offline

#14 2023-01-19 13:16:01

hhh
Gaucho
From: High in the Custerdome
Registered: 2015-09-17
Posts: 16,032
Website

Re: libinput vs synaptics

johnraff wrote:

^Possibly. But if we want synaptics as default we have to configure it over the Debian setup. Just installing the synaptics package (as we are already) isn't enough. Then OTOH, people with new hardware might prefer libinput now? Perhaps it needs to be a user option in bl-welcome after all? Or just a HOW-TO?

I'm on a desktop now, so when I tried to enable synaptics there was no touchpad and it still seemed not to be loaded.
Could you try this on your laptop?

ls /usr/share/X11/xorg.conf.d/
# check 70-synaptics.conf is there, then
sudo cp /usr/share/X11/xorg.conf.d/70-synaptics.conf /etc/X11/xorg.conf.d

reboot, and try:

grep -e "Using input driver" /var/log/Xorg.0.log

to see if synaptics is being used?

I get the same output as you...

roy@TyrellCorp:~$ grep -e "Using input driver" /var/log/Xorg.0.log
[   227.059] (II) Using input driver 'libinput' for 'Video Bus'
[   227.107] (II) Using input driver 'libinput' for 'Power Button'
[   227.139] (II) Using input driver 'libinput' for 'Integrated Camera: Integrated C'
[   227.180] (II) Using input driver 'libinput' for 'MSFT0001:01 06CB:CE2D Mouse'
[   227.222] (II) Using input driver 'synaptics' for 'MSFT0001:01 06CB:CE2D Touchpad'
[   227.291] (II) Using input driver 'libinput' for 'Ideapad extra buttons'
[   227.340] (II) Using input driver 'libinput' for 'AT Translated Set 2 keyboard'

Everything is working, and adding "ClickFinger2=3 TapButton2=3" to the synclient line in autostart has enabled two-finger right-click on the touchpad. I'll remove the synaptics.conf file now, reboot and post back, I'm guessing I'll lose two-finger click and will have to configure that via the libinput.conf file...


No, he can't sleep on the floor. What do you think I'm yelling for?!!!

Offline

#15 2023-01-19 13:26:45

hhh
Gaucho
From: High in the Custerdome
Registered: 2015-09-17
Posts: 16,032
Website

Re: libinput vs synaptics

Ah, didn't read your last post correctly, I get the same default behavior...

roy@TyrellCorp:~$ grep -e "Using input driver" /var/log/Xorg.0.log
[   260.716] (II) Using input driver 'libinput' for 'Video Bus'
[   260.751] (II) Using input driver 'libinput' for 'Power Button'
[   260.776] (II) Using input driver 'libinput' for 'Integrated Camera: Integrated C'
[   260.816] (II) Using input driver 'libinput' for 'MSFT0001:01 06CB:CE2D Mouse'
[   260.858] (II) Using input driver 'synaptics' for 'MSFT0001:01 06CB:CE2D Touchpad'
[   260.926] (II) Using input driver 'libinput' for 'Ideapad extra buttons'
[   260.975] (II) Using input driver 'libinput' for 'AT Translated Set 2 keyboard'

I'll remove the synaptics xorg package now and see what happens (I'll just edit this post with the follow-up)...

-edit- Touchpad is completely disabled. I started to create a libinput.conf file but realized it's a heck of a lot easier to mess with synclient in my autostart file and logout to see the changes than to work as root and reboot. tongue I'm sticking with synaptics for now.


No, he can't sleep on the floor. What do you think I'm yelling for?!!!

Offline

#16 2023-01-20 00:12:31

johnraff
nullglob
From: Nagoya, Japan
Registered: 2015-09-09
Posts: 12,550
Website

Re: libinput vs synaptics

^Thanks for checking it out!

If there's to be any case for enabling libinput by default, we need to find a user (perhaps on a newish machine) for whom synaptics isn't a good choice.

If anyone has a fairly modern laptop and cares to run the above tests, feedback will be appreciated!


...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )

Introduction to the Bunsenlabs Boron Desktop

Offline

#17 2023-01-20 00:15:27

johnraff
nullglob
From: Nagoya, Japan
Registered: 2015-09-09
Posts: 12,550
Website

Re: libinput vs synaptics

Both have bugs:
https://bugs.debian.org/cgi-bin/pkgrepo … st=testing
https://bugs.debian.org/cgi-bin/pkgrepo … st=testing

And from the synaptics changelog:

xserver-xorg-input-synaptics (1.8.3-2) unstable; urgency=medium

  * Cherry-pick upstream commit 59e5db, which renames 50-synaptics.conf
    to 70-synaptics.conf. This means the synaptic driver will be used
    instead of the libinput driver when both are installed.
  * Drop dbg package in favor of the dbgsym.

 -- Emilio Pozuelo Monfort <pochu@debian.org>  Thu, 26 May 2016 18:32:56 +0200

And, libinput goes from 1.16.4-3  in Bullseye to 1.22.0-1 in Bookworm; there are some changes.

Last edited by johnraff (2023-01-20 00:45:57)


...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )

Introduction to the Bunsenlabs Boron Desktop

Offline

Board footer

Powered by FluxBB