DIGImend / digimend-kernel-drivers

DIGImend graphics tablet drivers for the Linux kernel
GNU General Public License v2.0
1.17k stars 173 forks source link

XP-Pen Artist 12 Pen Display (2nd Gen) #578

Open Grissess opened 2 years ago

Grissess commented 2 years ago

Hello, folks!

Presented here are diagnostics as instructed for an XP-Pen Artist 12 (2nd Gen), 28bd:094a, and its product page. The "2nd Gen" appears to be a significant revision--I couldn't find the VID:PID here.

They provide "a driver" download, though it appears to my untrained eye to depend on X, and doesn't work with Wayland. Dumping its handshake, however, led me to make my own evdev, uinput proof of concept, which you're welcome to crib for other important values. In particular: the layout of bytes coming from Interface 2 is pretty transparent, but the exact sequence of bytes used to kick it into a mode where it communicates over the endpoints in Interface 2 is quite opaque (to me, at least).

While doing the collection, I also attempted to collect dumps after sending the handshake from the program above--however (and this could just be my naivete) the usbhid-dump program invariably terminated with an EIO, Failed to set report protocol (even with -i 2). I included the descriptors again, just in case there's a variance: they're in the "special" file set.

Without further ado, the files in the default operating mode:

... also available as a gzipped tarball.

After the handshake--note that the captures were done on usbmon0, with Wireshark, due to the aforementioned issue with usbhid-dump:

...apologies that they're pcapng.gz--that's the format GitHub will accept. Here's the tarball, without those files compressed.

Let me know if you need anything else!

kurikaesu commented 2 years ago

Thanks for the report. While I haven't updated my PR (https://github.com/DIGImend/digimend-kernel-drivers/pull/557) to include this model yet, I have added the necessary code to my own userspace drivers here: https://github.com/kurikaesu/userspace-tablet-driver-daemon

My driver works under wayland however you will have issues mapping the pen/stylus to the pen display if you are using multiple displays as no compositor except sway is able to do so at the moment. Works fine if you are using X11 of course.