Huion and Wacom Tablets How To Install in Linux Mint / Ubuntu and make the stylus work properly

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).

lsusb

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

unzip master.zip

cd digimend-kernel-drivers

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.  

Section "InputClass"
    Identifier "Huion tablets with Wacom driver"
    MatchUSBID "5543:006e|256c:006e|256c:006d"
    MatchDevicePath "/dev/input/event*"
    MatchIsKeyboard "false"
    Driver "wacom"
EndSection

vi /usr/share/X11/xorg.conf.d/50-digimend.conf

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

 xsetwacom list
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 ]

 


Tags:

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,

Latest Articles

  • Grandstream Phone Vulnerability Security Issue Remote Backdoor Connection to 207.246.119.209:3478
  • Linux How to Check Which NIC is Onboard eth0 or eth1 Ubuntu Centos Debian Mint
  • VboxManage VirtualBox NAT Network Issues Managment Troubleshooting
  • Dell PowerEdge Server iDRAC Remote KVM/IP Default Username, Password Reset and Login Information Solution
  • Nvidia Tesla GPUs K40/K80/M40/P40/P100/V100 at home/desktop hacking, cooling, powering, cable solutions Tutorial AIO Solutions
  • Stop ls in Linux Debian Mint CentOS Ubuntu from applying quotes around filenames and directory names
  • Thunderbird Attachment Download Error Corrupt Wrong filesize of 29 or 27 bytes Solution
  • Generic IP Camera LAN Default IP Settings DVR
  • Ubuntu Debian Mint Linux How To Update Initramfs Manually update-initramfs
  • Enable Turbo Mode for CPU Ubuntu Linux Mint Debian Redhat
  • docker / kubernetes breaks Proxmox QEMU KVM Bridge VMs
  • How To Change Storage Location in Docker.io
  • RTL8812BU and RTL8822BU Linux Driver Ubuntu Setup Archer T3U Plus
  • Kazam video blank/high size and not working when recording solution
  • Cisco UC CME How To Enable Licensed Features
  • from pip._internal.cli.main import main File "/usr/local/lib/python3.5/dist-packages/pip/_internal/cli/main.py", line 60 sys.stderr.write(f"ERROR: {exc}") from pip._internal.cli.main import main File "/usr/local/lib/python3.5/dist-packag
  • ModuleNotFoundError: No module named 'pip._internal' solution python
  • grub blank screen how to manually boot kernel and initrd Linux Ubuntu Debian Centos won't boot solution
  • Cisco Switch / Router How To Restore Factory Default Settings
  • Cisco 2900 3900 Router Password Reset How To Reset Enable Password