Bug 95315

Summary: Huion tablet (1060pro) pen not working with xf86-input-evdev2.10.2-1
Product: xorg Reporter: Quiralta <rjquiralte>
Component: Input/evdevAssignee: Peter Hutterer <peter.hutterer>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: high CC: benjamin.tissoires, chipviled, peter.hutterer, rjquiralte
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
i915 platform: i915 features:
Description Flags
xorg log file
xorg log file (second)
evemu-record output
dmesg output
hid-recorder output none

Description Quiralta 2016-05-08 15:38:02 UTC
Huion pen stop drawing completely in all programs (gimp, krita, mypaint, etc.) it can click, move the cursor, and all buttons work accordingly but it can't draw.

First experience this issue three days ago after updating my main system (archlinux), today I can confirm it has something to do with this package as it was the only one (thinking it may be at fault) I updated in my testing system (kaos). Any other live distro (kaos, manjaro, chakra) using the previous package has no problem.
Comment 1 Peter Hutterer 2016-05-08 21:39:08 UTC
Got an Xorg.log for me? and the output of xinput list-props <device name>.
Did you update libwacom recently? I wonder if the new udev rule we have there for HUION devices goes wrong.

Please attach an evemu-describe output for that device too, thanks.
Comment 2 Quiralta 2016-05-09 16:39:20 UTC
Created attachment 123575 [details]
xorg log file
Comment 3 Quiralta 2016-05-09 16:39:48 UTC
Created attachment 123576 [details]
xorg log file (second)
Comment 4 Quiralta 2016-05-09 16:40:13 UTC
Created attachment 123577 [details]
Comment 5 Quiralta 2016-05-09 16:40:35 UTC
Created attachment 123578 [details]
Comment 6 Quiralta 2016-05-09 16:46:49 UTC
Thank you for checking on this, I am not that literate on software thus I hope I got the correct logs and outputs in the attachments, the libwacom in my system was last installed on march, no updates since, nor I'm sure if I need that package, I was going to use the wacom drivers (thus I think it got installed) but went back to the Kernel stock.

One think I notice in the xinput is that there is no "stylus" anymore, I remember seeing it there before. Let me know if something else is needed. Thanks!
Comment 7 Peter Hutterer 2016-05-10 05:02:50 UTC
did you use the xorg wacom driver before? the evdev driver doesn't generate a stylus device. the logs look ok from a glance, it'll be easier to figure out what's happening when I replay this here.

Please run evemu-record against the HUION PenTablet Pen device and make one short drawing motion (just pen down and a short line is sufficient). Then attach the output here.
Comment 8 Quiralta 2016-05-10 05:21:39 UTC
Created attachment 123590 [details]
evemu-record output
Comment 9 Quiralta 2016-05-10 05:26:49 UTC
Yes I tried to use it hopping to remap my tablet buttons, but since didn't work (aparently works with huion h610 but not with my model 1060pro) maybe that's why I remember seen the ximput stylus device.

Attached the evemu-record with the motions requested.

Note, to rule out other sofware piece, today I had installed a new kaos system on a different partition, updated everything except xf86-input-evdev, my tablet is working normal there.
Comment 10 Peter Hutterer 2016-05-12 05:26:37 UTC
afaict this is a kernel bug, the BTN_TOOL_PEN event is never sent but we require this to detect the actual tool coming into proximity, at least in libinput. evdev doesn't though which is why this worked in the first place. it also rings a bell, Benjamin, didn't this get fixed recently?

either way, bisected to:
commit d24431a1863c49aa9edcabf535ffa64bfa87053c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jan 14 10:41:46 2016 +1000

    Restore wheel emulation for absolute devices

the last hunk is the problem here. While we always update x and y now, we dropped the updates for other valuators (e.g. pressure) completely. I get a patch out for this asap
Comment 11 Peter Hutterer 2016-05-12 05:30:28 UTC
Comment 12 Benjamin Tissoires 2016-05-12 08:07:49 UTC
(In reply to Peter Hutterer from comment #10)
> afaict this is a kernel bug, the BTN_TOOL_PEN event is never sent but we
> require this to detect the actual tool coming into proximity, at least in
> libinput. evdev doesn't though which is why this worked in the first place.
> it also rings a bell, Benjamin, didn't this get fixed recently?

Oh boy... The tablet shares the same VID/PID with the one I have here and which works correctly.

Could you also attach the dmesg, and the output of "sudo hid-recorder /dev/hidraw*" [1] when you use the stylus and touch the buttons on the tablet. 

(please make sure to launch the command, do the tests and Ctrl-C immediately. Do not type anything with your keyboard while recording the events as they might come to us as clear text).

[1] http://bentiss.github.io/hid-replay-docs/
Comment 13 Quiralta 2016-05-12 16:17:14 UTC
Created attachment 123647 [details]
dmesg output
Comment 14 Quiralta 2016-05-12 16:17:51 UTC
Created attachment 123648 [details]
hid-recorder output
Comment 15 Quiralta 2016-05-12 16:20:13 UTC
I hope I did those two last attachment correctly.
Comment 16 Peter Hutterer 2016-05-30 02:10:34 UTC
commit 9a6952dafe7241d4987eedd4637e5a9785d7ec23
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 12 15:22:19 2016 +1000

    Restore non-xy axes updates
Comment 17 Peter Hutterer 2016-05-30 02:13:08 UTC
*** Bug 96256 has been marked as a duplicate of this bug. ***
Comment 18 Benjamin Tissoires 2016-06-03 07:38:58 UTC
Thanks for the logs.

So after an analysis, it looks like the tablet doesn't send the "In Range 0" event at the end of the sequence. So either your stylus is always in proximity of your sensor, either there is a firmware bug.

I think I'm going to punt this to the DIGImend[1] project, which handles most of the updates of those tablets.

[1] https://digimend.github.io/
Comment 19 Benjamin Tissoires 2016-06-03 07:48:10 UTC
question asked on digimend-devel mailing list:
Comment 20 Quiralta 2016-06-04 14:30:57 UTC
The newer xf86-input-evdev-2.10.3-1 (on Arch Linux) has resolved this problem, I'm guessing is the version with Peter's patch. Thanks for looking into this, if there is more information need it, please let me know.
Comment 21 Peter Hutterer 2016-11-13 21:36:38 UTC
Closing as per comment 20

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.