Bug 214715 - x11-drivers/xf86-input-synaptics: update to 1.9.0
Summary: x11-drivers/xf86-input-synaptics: update to 1.9.0
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: freebsd-x11 (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-11-21 18:44 UTC by Matthew Rezny
Modified: 2017-02-15 10:01 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (x11)


Attachments
update xf86-input-synaptics to 1.9.0 (1.59 KB, patch)
2016-11-21 18:44 UTC, Matthew Rezny
no flags Details | Diff
x11-drivers.xf86-input-synaptics-evdev.patch (4.09 KB, patch)
2016-11-21 20:12 UTC, Vladimir Kondratyev
no flags Details | Diff
x11-drivers.xf86-input-synaptics-evdev.patch (with user selectable evdev support) (4.12 KB, patch)
2017-01-22 22:22 UTC, Vladimir Kondratyev
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Matthew Rezny freebsd_committer freebsd_triage 2016-11-21 18:44:04 UTC
Created attachment 177246 [details]
update xf86-input-synaptics to 1.9.0

Update xf86-input-synaptics to 1.9.0, which is compatible with xorg-server 1.19.

QA: stage-qa and check-orphans are clean on 11 amd64 with xorg-server 1.18
Comment 1 Vladimir Kondratyev freebsd_committer freebsd_triage 2016-11-21 20:12:42 UTC
Created attachment 177249 [details]
x11-drivers.xf86-input-synaptics-evdev.patch

May be it`s better to enable evdev protocol support in synaptics driver?

I have evdev patches for synaptics and elan touchpads in psm driver which will be available for public testing soon.

Updated version with evdev support enabled is attached
Comment 2 Matthew Rezny freebsd_committer freebsd_triage 2016-11-22 11:06:19 UTC
(In reply to Vladimir Kondratyev from comment #1)

I know there is a separate evdev DDX, but was unaware the synaptics DDX may use evdev as well. As I have no synaptics hardware, I cannot say which may be the better option. The use of evdev should probably be an option unless the non-evdev path can be chosen at runtime.

If you could test all possibilities (input-synaptics as-is, input-synaptics with evdev patch, input-evdev, etc) and share your results, that would be most helpful. You should be able to test the newer DDXes without updating xorg-server.
Comment 3 Vladimir Kondratyev freebsd_committer freebsd_triage 2016-11-23 00:21:02 UTC
(In reply to matthew from comment #2)
> I cannot say which may be the better option.

xf86-input-evdev is not intended to handle touchpads. No gestures etc.

> The use of evdev should probably be an option unless
> the non-evdev path can be chosen at runtime.

evdev is default protocol for synaptics and psm can be enabled by adding `Option "Protocol" "psm"` to mouse`s InputDevice section of xorg.conf at runtime

> If you could test all possibilities (input-synaptics as-is,
> input-synaptics with evdev patch, input-evdev, etc) and
> share your results, that would be most helpful.

Yes, I tested all of them with modified psm(4) driver and with synaptics and elantech touchpads, but should retest to be sure. I will try on weekend.

Currently no touchpad drivers in base supports absolute touch reporting through evdev, so that change may be useless till this support appeared.
Comment 4 Vladimir Kondratyev freebsd_committer freebsd_triage 2016-11-27 16:34:17 UTC
(In reply to matthew from comment #2)
> If you could test all possibilities (input-synaptics as-is,
> input-synaptics with evdev patch, input-evdev, etc)
> and share your results, that would be most helpful.

I had tried both my elan and synaptics laptops with several DDX and got following results:

xf86-input-evdev - partially works. Touchpad is recognized as touchpad but handled as touchscreen (driver does direct mapping of finger position to screen pointer position)
xf86-input-synaptics with evdev interface - works 
xf86-input-synaptics with psm interface - partially works but synaptic-protocol support is toooo outdated. I had to patch driver to enable multi-finger recognition.
xf86-input-libinput (not in tree, uses evdev interface) - works
Comment 5 Matthew Rezny freebsd_committer freebsd_triage 2017-01-19 20:52:44 UTC
(In reply to Vladimir Kondratyev from comment #4)

I had mis-remembered, it is the libinput driver that is meant to be the all encompassing solution with touchpad support, not the evdev driver, but we do not yet have the libinput diver in tree and I have not investigated what it would require.

It sounds like the evdev option would be of definite benefit to the synaptics driver, but it should be conditional on kernel support.
Comment 6 Vladimir Kondratyev freebsd_committer freebsd_triage 2017-01-22 22:22:41 UTC
Created attachment 179229 [details]
x11-drivers.xf86-input-synaptics-evdev.patch (with user selectable evdev support)

Knob to switch evdev support on/off added.

It is defaulted to "off" now and this should be changed to "on" when kernel support for touchpads hits the source tree (based on kernel version)