You are not logged in.
Pages: 1
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
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.
The line of least resistance at this point might be to carry on using synaptics, at least on Bullseye/Beryllium.
Maybe revisit with Boron?
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 )
Offline
Perhaps have synaptics as default in the live session and then in BL-Welcome perhaps give users a choice?
Real Men Use Linux
Offline
^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 )
Offline
What about default to what Debian defaults to? Is that a possibility?
Offline
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 )
Offline
Yup - go with debian default.
Offline
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 )
Offline
libinput is no longer as awful as people were saying it was in 2020 or so.
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...
No, he can't sleep on the floor. What do you think I'm yelling for?!!!
Offline
^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 )
Offline
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
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:
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 )
Offline
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
^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 )
Offline
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.
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 )
Offline
^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
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. I'm sticking with synaptics for now.
No, he can't sleep on the floor. What do you think I'm yelling for?!!!
Offline
^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 )
Offline
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 )
Offline
Pages: 1