It took a lot of fiddling to make a Huion Kamvas 13 Pro work in Linux but it simple once you know what to do. Don't bother searching as it is unlkely there is a guide out there that will actually make your tablet work.
It mainly comes down to the fact that the hid_uclogic kernel module is buggy or doesn't support MANY of these wacom based/Huion tablets properly.
What was happening with me is that I had the Kamvas 13 Huion setup as a secondary screen/monitor. If I tried to draw it would control the mouse on the original screen so there was a HUGE offset and it was impossible to make it work and draw.
A lot of blogs will say use "xsetwacom" but this will not work if your driver (hid_uclogic.ko) is buggy like me. The solution is to make and install the updated kernel module and then use xsetwacom to map the stylus so it is tied to our tablet and not our main screen.
1. First of all identify your device using lsusb (which will probably not show you the name but you will know by the identifier).
Bus 002 Device 019: ID 256c:006d
If it starts with 256c you've probably found your device ID which is important for the X11 conf file that will be added to /usr/share/X11/xorg.conf.d
2.) Now we need the digimend drivers that will provide a proper working driver
Download the latest from here: https://github.com/DIGImend/digimend-kernel-drivers/archive/master.zip
make; make install
3.) Make sure that your tablet was correctly added or list here:
If your ID is not there you can always try to add it manually by adding a | and then your ID like the example in bold which represents my Kamvas 13.
Identifier "Huion tablets with Wacom driver"
4.) Remove the bad driver and insert the new one
sudo rmmod hid-uclogic
sudo modprobe hid-uclogic
5.) Use xsetwacom so the stylus works only on our tablet:
Remember HEAD is specifying which monitor ID so it's important to choose the right one.
Remember that 11 is the ID in xsetwacom of your stylus.
How to find your stylus ID
We can see below the ID is 11
Tablet Monitor Pen stylus id: 11 type: STYLUS
Tablet Monitor Pad pad id: 12 type: PAD
Tablet Monitor Touch Strip pad id: 13 type: PAD
*Note that each time you unplug or replug the tablet that its ID will change and increase. Generally the highest number ID is going to be the correct one.
HEAD-1 = monitor 2 (if you wanted monitor 3 it would be HEAD-2 or if you wanted monitor 1 it would be HEAD-0)
This command maps the stylus to your tablet. The advantage here is that there is no need to get or set area, the command below does it for us so there's no math involved to make our tablet work!
xsetwacom --verbose set 11 MapToOutput HEAD-1
... 'set' requested for '11'.
... Checking device 'Virtual core pointer' (2).
... Checking device 'Virtual core keyboard' (3).
... Checking device 'Virtual core XTEST pointer' (4).
... Checking device 'Virtual core XTEST keyboard' (5).
... Checking device 'Power Button' (6).
... Checking device 'Power Button' (7).
... Checking device 'PixArt Lenovo USB Optical Mouse' (8).
... Checking device 'Logitech USB Keyboard' (9).
... Checking device 'Logitech USB Keyboard' (10).
... Checking device 'Tablet Monitor Pen stylus' (11).
... Checking device 'Tablet Monitor Pad pad' (12).
... Checking device 'Tablet Monitor Touch Strip pad' (13).
... Checking device 'Tablet Monitor Dial' (14).
... Device 'Tablet Monitor Pen stylus' (11) found.
... RandR extension not found, too old, or NV-CONTROL extension is also present.
... Setting xinerama head 1
... Remapping to output area 1024x768 @ 1600,0.
... Transformation matrix:
... [ 0.390244 0.000000 0.609756 ]
... [ 0.000000 0.853333 0.000000 ]
... [ 0.000000 0.000000 1.000000 ]
huion, wacom, tablets, install, linux, mint, ubuntu, stylus, properlyit, fiddling, kamvas, unlkely, tablet, mainly, hid_uclogic, kernel, module, buggy, doesn, secondary, offset, blogs, quot, xsetwacom, ko, updated, lsusb, identifier, ve, conf, usr, xorg, digimend, drivers, download, https, github, archive, zip, unzip, correctly, manually, adding, bold, represents, inputclass, matchusbid, matchdevicepath, dev, input, matchiskeyboard, endsection, vi, insert, sudo, rmmod, uclogic, modprobe, specifying, pad, unplug, replug, generally, maps, verbose, maptooutput, requested, virtual, pointer, keyboard, xtest, pixart, lenovo, usb, optical, logitech, randr, extension, nv, xinerama, remapping, output, transformation, matrix,