How I got the HUION H1060P tablet to work on my GNU/Linux system
Suffering for art
TL;DR DIGImend and xsetwacom
Kernel drivers
Modern Linux kernels can detect the tablet, but not in its "full"capacity. DIGImend provides additional drivers (kernel modules) and configuration files. Since I run Artix Linux, I simply grabbed the PKGBUILD from AUR (along with xf86-input-wacom
) and let my AUR helper (yay
) handle the rest.
yay -S digimend-drivers-git-dkms
After that the easiest way to make the drivers work is by simply rebooting, but that's for chumps. Instead, remove the (old) kernel modules and reconnect the tablet.
sudo modprobe -r hid-kye hid-uclogic hid-polostar hid-viewsonic
Configuring the tablet
After installing DIGImend, I verified if the tablet was using the Wacom driver by using xsetwacom
, which is part of xf86-input-wacom
.
xsetwacom --list
HUION Huion Tablet stylus id: 14 type: STYLUS HUION Huion Tablet Pad pad id: 15 type: PAD HUION Huion Tablet Touch Strip pad id: 16 type: PAD
Side buttons
Finding the right xsetwacom --set
syntax that actually works is a pain in the ass. It seems like it changes depending on the year, distro, xf86-input-wacom
version, X.Org server release etc. The official documentation says one thing, support forums say another.
Eventually, the way it worked for me:
xsetwacom --set "HUION Huion Tablet Pad pad" button 1 "key +ctrl +z -z -ctrl"
It's also possible to drop the dashes, parentheses, and replace the full device name with just the id
number, like so:
xsetwacom set 15 button 1 key key +ctrl +z -z -ctrl
Crazy, huh? Keep in mind that the id
can and will change between X server sessions, so using full device names is the safer option.
Touch strip buttons
Unfortunately, I have yet to figure out how make those work. 😥
Maybe some other day…
Making the settings persistent
Unplugging the tablet or restarting the machine resets the settings made by xsetwacom
. The solution is to prepare a shell script that launches on login.
Here's my current script (which a slightly modified version of someone else's):
#!/bin/sh xsetwacom --set "HUION Huion Tablet Pad pad" button 1 "key +ctrl +z -z -ctrl" xsetwacom --set "HUION Huion Tablet Pad pad" button 2 "key +ctrl +shift +z -z -ctrl -shift" xsetwacom --set "HUION Huion Tablet Pad pad" button 3 "key e" xsetwacom --set "HUION Huion Tablet Pad pad" button 8 "key +ctrl +h -h -ctrl" xsetwacom --set "HUION Huion Tablet Pad pad" button 9 "key +ctrl +c -c -ctrl" xsetwacom --set "HUION Huion Tablet Pad pad" button 10 "key +ctrl +v -v -ctrl" exit 0
Works great with Krita, but not so much with GIMP using the default bindings.
Since I use Xfce as my main desktop environment, I simply made the script autostart on login, and also set the Volume Manager (thunar-volman
) to automatically run the script after (re)plugging in the tablet. There is probably a more elegant way to handle this (udev
rules? ), but I am going to stick to my approach for now.
The downside of the latter is that after reconnecting the tablet it bombards the notification daemon with this:
This is most likely due to the fact that the system detects the tablet as multiple devices (stylus, pad, strip bar… multiple mice?).