You are not logged in.

#1 2017-12-25 12:41:45

symon
Member
Registered: 2014-06-25
Posts: 18

Thinkpad, i3 and libinput

Hello everyone,
I really struggle with getting a reliable persistent configuration for my touchpad that came with my thinkpad x240. The goal is simple: Change the resolution of the touchpad, enable two-finger-scrolling and tap-to-click. And: Get this persistant. Simple, huh?
Anyhow first thing I notice is that in "xinput list" it is in some boots listed as "Synaptics TM2749-001" and gets the "id=14", sometimes it is listed as "SynPS/2 Synaptics TouchPad" and "id=12".
Why does this happen?
Second: the wiki article on libinput states, that config files in /etc/X11/xorg.conf.d/ are still fine and this should work brilliantly:

Section "InputClass"
	Identifier "touchpad"
        Driver "libinput"
	MatchProduct "SynPS/2 Synaptics TouchPad"
        Option "tapping" "on"
        Option "ClickMethod" "clickfinger"
        Option "NaturalScrolling" "true"
        Option "ScrollMethod" "edge"
EndSection

But it doesn't. Sometimes two-finger-scrolling is enabled on boot, sometimes it isnt. And tapping is never enabled. I am using gdm for login purposes and then log into i3 from gdm.
As stated in the setup guide I removed xf86-input-synaptics and installed libinput.
Any ideas on how to get it persistent and working?
Thank you

Offline

#2 2017-12-25 18:34:04

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,075

Re: Thinkpad, i3 and libinput

GDM is likely operating on wayland and using libinput directly?
=> Try to bypass that and use startx instead.

It's no wonder that the config applies randomly when the product is only matched randomly.
Also look at your xorg log, not sure whether that matters by "Tapping" is supposed to be upcased.

Offline

#3 2017-12-25 23:10:24

justasug
Member
Registered: 2014-08-03
Posts: 174

Re: Thinkpad, i3 and libinput

If you're having trouble with the changing identifier, try using: MatchIsTouchpad "on".

Offline

#4 2017-12-26 10:00:18

symon
Member
Registered: 2014-06-25
Posts: 18

Re: Thinkpad, i3 and libinput

Cheers guys. That really seems to have solved it.
Merry christmas everybody.

Offline

#5 2017-12-26 16:03:19

symon
Member
Registered: 2014-06-25
Posts: 18

Re: Thinkpad, i3 and libinput

Ok nvm. It worked exactly once. Maybe you have more hints?
I got this in my .local/share/xorg/Xorg.0.log:

   257.970] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event18)
[   257.970] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "libinput touchpad catchall"
[   257.970] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad catchall"
[   257.970] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "Default clickpad buttons"
[   257.970] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad"
[   257.970] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "libinput touchpad catchall"
[   257.970] (II) Using input driver 'libinput' for 'SynPS/2 Synaptics TouchPad'
[   257.971] (II) systemd-logind: got fd for /dev/input/event18 13:82 fd 28 paused 0
[   257.971] (**) SynPS/2 Synaptics TouchPad: always reports core events
[   257.971] (**) Option "Device" "/dev/input/event18"
[   257.971] (**) Option "_source" "server/udev"
[   257.971] (II) event18 - (II) SynPS/2 Synaptics TouchPad: (II) is tagged by udev as: Touchpad
[   257.971] (II) event18 - (II) SynPS/2 Synaptics TouchPad: (II) device is a touchpad
[   257.971] (II) event18 - (II) SynPS/2 Synaptics TouchPad: (II) device removed
[   257.971] (**) Option "Tapping" "on"
[   257.971] (**) Option "NaturalScrolling" "true"
[   257.971] (**) Option "ClickMethod" "clickfinger"
[   257.971] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio1/input/input6/event18"
[   257.971] (II) XINPUT: Adding extended input device "SynPS/2 Synaptics TouchPad" (type: TOUCHPAD, id 11)
[   257.971] (**) Option "AccelerationScheme" "none"
[   257.971] (**) SynPS/2 Synaptics TouchPad: (accel) selected scheme none/0
[   257.971] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration factor: 2.000
[   257.971] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration threshold: 4
[   257.971] (II) event18 - (II) SynPS/2 Synaptics TouchPad: (II) is tagged by udev as: Touchpad
[   257.971] (II) event18 - (II) SynPS/2 Synaptics TouchPad: (II) device is a touchpad
[   257.972] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/mouse0)
[   257.972] (**) SynPS/2 Synaptics TouchPad: Ignoring device from InputClass "touchpad ignore duplicates"

That seems really strange to me because my /etc/X11/xorg.conf.d/20-synaptics.conf looks like this:

Section "InputClass"
	Identifier "touchpad"
        Driver "libinput"
	MatchIsTouchpad "on"
        Option "Tapping" "on"
        Option "ClickMethod" "clickfinger"
        Option "NaturalScrolling" "true"
        #Option "ScrollMethod" "edge"
	Option "PalmDetect" "True"
	Option "ClickPad" "True"
	#Option "SoftButtonAreas" "67% 100% 0 0 30% 67% 0 0"
	# Ganz aus: BottomEdge 10 TopEdge 0
	#Option "AreaTopEdge" "0"
	#Option "AreaBottomEdge" "1"
	#Option "CircularScrolling" "False"
	#Option "CircScrollingDelta" "0"
	Option "VertResolution" "100"
	Option "HorizResolution" "65"
	#Option "MinSpeed" "1"
	#Option "MaxSpeed" "1"
	#Option "AccelerationProfile" "1"
	#Option "AdaptiveDecelration" "16"
	#Option "ConstantDecelration" "16"
	#Option "VelocityScale" "1"
	#Option "HasSecondarySoftButtons" "False"
EndSection

And there is this 40-libinput.conf:

# Match on all types of devices but joysticks
Section "InputClass"
        Identifier "libinput pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Section "InputClass"
        Identifier "libinput keyboard catchall"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Section "InputClass"
        Identifier "libinput touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Section "InputClass"
        Identifier "libinput tablet catchall"
        MatchIsTablet "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Any more ideas?
After another reboot its working again. And it seems: once the touchpad is recognzed as "Synaptics TM2749-001" everything works fine. Once it goes as the other thing everything does not work. I disabled GDM. (using systemctl disable...).

Edit2:
journalctls first appearance of "Synaptics" in this (working) boot is this:

  1 Nov 09 20:11:08 tunnels kernel: rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics, product: TM2749-001, fw id: 0
  2 Nov 09 20:11:08 tunnels kernel: input: Synaptics TM2749-001 as /devices/rmi4-00/input/input20

In the last (non-working) it is this:

4 Dez 26 12:37:35 tunnels kernel: psmouse serio1: synaptics: queried max coordinates: x [..5710], y [..4696]
  5 Dez 26 12:37:35 tunnels kernel: psmouse serio1: synaptics: queried min coordinates: x [1232..], y [1156..]
  6 Dez 26 12:37:35 tunnels kernel: psmouse serio1: synaptics: Trying to set up SMBus access
  7 Dez 26 12:37:35 tunnels kernel: psmouse serio1: synaptics: SMbus companion is not ready yet
  8 Dez 26 12:37:35 tunnels kernel: psmouse serio1: synaptics: Touchpad model: 1, fw: 8.1, id: 0x1e2b1, caps: 0xd001a3/0x940300/0x127c    00/0
  9 Dez 26 12:37:35 tunnels kernel: psmouse serio1: synaptics: serio: Synaptics pass-through port at isa0060/serio1/input0
 10 Dez 26 12:37:35 tunnels kernel: input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input7
 11 Dez 26 12:37:35 tunnels kernel: mousedev: PS/2 mouse device common for all mice

Is it possible the kernel module rmi4_f01 is racing some other module?

Last edited by symon (2017-12-26 16:50:29)

Offline

#6 2017-12-26 16:51:17

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,075

Re: Thinkpad, i3 and libinput

[   257.970] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "libinput touchpad catchall" # evdev in /usr/share
[   257.970] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad catchall" # what's this?
[   257.970] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "Default clickpad buttons" # what's this?
[   257.970] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad" # /etc/X11/xorg.conf.d/20-synaptics.conf
[   257.970] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "libinput touchpad catchall" # evdev in /etc/X11/ ??

Also compare dmesg when it's registered as "Synaptics TM2749-001" with dmesg when it's registered as "SynPS/2 Synaptics TouchPad" (the input id number doesn't matter)

Offline

Board footer

Powered by FluxBB