Bug 112791
Summary: | HID multitouch: pointer jumping when palm is rejected on Dell XPS 13 | ||
---|---|---|---|
Product: | Drivers | Reporter: | Cyril Yab (cyril.yab) |
Component: | Input Devices | Assignee: | drivers_input-devices |
Status: | NEW --- | ||
Severity: | normal | CC: | allen_hung, cbay, marci_r, mario.diraimondo |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 4.5-rc5 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: | Patch |
Description
Cyril Yab
2016-02-21 18:55:50 UTC
A couple of precisions: the laptop model is 9350 (late 2015), and that issue doesn't happen under Windows 10. Same laptop and same problem using Arch Linux and kernel 4.6rc2. The problem exists since early rc releases of 4.5. Created attachment 220311 [details]
Patch
Hi Cyril,
I am the author of 25a84db15b3f3a24d3ea7d2baf90693bcff34b0c. The attach is my patch to fix the bug you reported here. I have verified it on Dell XPS13. Could you help to verify the patch? If the result is positive, I will submit it to upstream.
Allen
Hi Allen, Actually I cannot reproduce the issue on a vanilla kernel 4.6, so I guess something must have changed since 4.5? Do you still want me to test your patch on a 4.6? Hi Cyril, I can still reproduce the issue on Ubuntu 16.04 with vanilla kernel 4.6.0 on XPS13. The file "drivers/hid/hid-multitouch.c" is where my patch applied on and it has no relevant changes between 4.5 and 4.6. Maybe the change has been made in some other where. The root cause is that the touch reports with (confidence=0) are directly dropped by hid-multitouch driver, without sending to upward layers. If there is a palm touch, says touch A, that is initially detected as a finger (confidence=1) and soon after is detected as a palm (conf=0) then the system is not aware of the latter change. The system still thinks there was a finger touch but then no reports were received. Once you make a new finger touch, says touch B, on a different position than where the palm has previously touched on, the system will treat touch A and touch B as in a continuous touch then the jumping occurs. As I saw the problem is still there in 4.6 I will try to get this fix upstream. Dear Allen, as you can read from comment #2 in this report, I had these kind of problems with the XPS 13 (9350) touchpad since early rc releases of kernel 4.5. They are still present in kernel 4.6.2. As workaround I was used to switch on psmouse modules blacklisting i2c_hid one. This implied a different (less sensible) feedback but at least it worked. I'm using your patch on a 4.6.2 kernel built on my Arch Linux (Gnome desktop) with i2c_hid module. It is greatly working for me since at least 2 hours. I guess it fixes the regression introduced in kernel 4.5. Thank you for restoring the love for my touchpad! ;) Please, push this patch upstream ASAP. |