22

I'm running Ubuntu 14.04 and my HUION h610 tablet works sort of. For example I can move the cursor with the pen and the right-click button works. However nothing else does. Meaning I can't draw at all on any programs, Gimp, Mypaint etc...I went to preferences and enabled the device which Gimp and Mypaint recognize. But again no drawing at all. Also the buttons on the tablet dont work at all.

so when I do uname -a this is returned:
3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Then I also did lsusb and I get:

Bus 002 Device 002: ID 8087:8000 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 256c:006e  
Bus 003 Device 002: ID 0461:4d22 Primax Electronics, Ltd 
Bus 003 Device 004: ID 413c:2107 Dell Computer Corp. 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Then I also tried xinput list:

   Virtual core pointer                     id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ USB Optical Mouse                         id=9    [slave  pointer  (2)]
⎜   ↳ HUION PenTablet                           id=10   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ Dell Dell USB Entry Keyboard              id=8    [slave  keyboard (3)]
    ↳ Eee PC WMI hotkeys                        id=11   [slave  keyboard (3)]

lsmod | grep "huion" returned this:

hid_huion              12719  0 
hid                   106148  3 hid_generic,usbhid,hid_huion

And finally this is the output of cat /boot/config-3.* | grep "HUION":

CONFIG_HID_HUION=m
CONFIG_HID_HUION=m
CONFIG_HID_HUION=m
CONFIG_HID_HUION=m

Please if anyone can help me with this I would really appreciate.

1
  • Check the wizardpen documentation here. Someone here got this to work fine.
    – sumwale
    Jul 20, 2014 at 11:57

6 Answers 6

22

Made a guide based on this question and it's answers. I'm re-posting it here as an answer since it is a direct answer to the OP's question and touches on some things that were missed in the other answers.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

A COMPLETE GUIDE ON HOW TO CONFIGURE THE HUION H610 ON LINUX

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

by Fadi R

CREDITS:

This guide is a meld of my own research and, to a greater degree, the answers of bebop(+David Foester) and pram on Ask Ubuntu (HUION H610 Tablet) AS WELL AS Clavos-Studios post on the Digimend GitHub (https://github.com/DIGImend/digimend-kernel-drivers/issues/26). Thanks guys, I learned alot from your posts. And of course, Major Kudos to the DigiMend team and Nikolai Kondrashov (project founder). Their tireless work has opened up a wide spectrum of tablets to the Linux community. (http://digimend.github.io)

[0] TABLE OF CONTENTS:

[1] DRIVER INSTALLATION

[2] CONFIGURING AND MAPPING TABLET

[3] CONFIGURING APPS TO RUN WITH TABLET

[4] SUGGESTED SOFTWARE

[1] DRIVER INSTALLATION:

(1.1) Ensure that you have the following packages:

a) xf86-input-wacom 
b) linux-headers (in Arch, Debian, Ubuntu or Mint) or kernel-headers (Red Hat)

(1.2) Download the latest Digimend drivers from Github (https://github.com/DIGImend/digimend-kernel-drivers). For some reason beyond me, I couldn't get the source code from the github.io Digimend site to compile (https://digimend.github.io/drivers/) but it may be different for you...

a) In terminal, input:

    sudo rmmod hid-kye
    sudo rmmod hid-uclogic
    sudo rmmod hid-huion

b) extract digimend sourcecode (from github.com, it's: digimend-kernel-drivers-master.zip). In terminal browse to extracted dir and input:

    make
    sudo make install       

(1.3) Setting up an 52-tablet.conf entry for the H610

a) make the 52-tablet.conf file if it doesn't exist:

sudo mkdir /etc/X11/xorg.conf.d 
cd /etc/X11/xorg.conf.d 
sudo gedit 52-tablet.conf 

b) paste this entry for the H610 in 52-tablet.conf:

Section "InputClass"
Identifier "Huion on wacom"
# MatchIsTablet "on"
MatchProduct "HUION"
MatchDevicePath "/dev/input/event*"
Driver "wacom"
EndSection 

c) save file and restart

d) upon restarting, when you open Terminal and input:

xsetwacom --list

(you should see:)

HUION PenTablet Pad pad id: 11 type: PAD
HUION PenTablet Pen stylus id: 12 type: STYLUS

(the id will vary from machine to machine)

[2] CONFIGURING AND MAPPING TABLET:

(2.1) Defining Pad Left-Hand Buttons:

a) As we saw previously, the pad is defined "HUION PenTablet Pad pad" and it's button are: 1,2,3,8,9,10,11,12. These buttons will be undefined every time you log in. To define them, you can input the following command synthax in Terminal

xsetwacom --set 'DEVICE NAME' Button NUMBER "key KEYSTROKES"

b) You can automate it by making script file that autoruns every time you open a session. For example, my script is called Huion.Default.sh and I like bebop from AskUbuntu's button scheme:

#!/bin/sh
xsetwacom --set 'HUION PenTablet Pad pad' Button 1 "key +ctrl +z -z -ctrl"
xsetwacom --set 'HUION PenTablet Pad pad' Button 2 "key e"
xsetwacom --set 'HUION PenTablet Pad pad' Button 3 "key b"
xsetwacom --set 'HUION PenTablet Pad pad' Button 8 "key +"
xsetwacom --set 'HUION PenTablet Pad pad' Button 9 "key -"
xsetwacom --set 'HUION PenTablet Pad pad' Button 10 "key ]"
xsetwacom --set 'HUION PenTablet Pad pad' Button 11 "key ["
xsetwacom --set 'HUION PenTablet Pad pad' Button 12 "key p"

c) Don't forget to give the script execution permission:

chmod +x Huion.Default.sh

d) You can make different scripts and button schemes for the different Apps you use with the tablet. When making lauchers, you can make those scripts lauch before you launch the apps themselves. You do this by editing the Command in the laucher or desktop file. For example:

Command: ~/./GIMP-tablet-scheme.sh && /usr/bin/gimp     

(2.2) More on xsetwacom: Before we continue in configuring the tablet, here are a few usefull commands that you can do with xsetwacom.

(a) Checking button values: xsetwacom --get 'DEVICE NAME' Button BUTTON-NUMBER

eg. xsetwacom --get 'HUION PenTablet Pad pad' Button 1
eg. xsetwacom --get 'HUION PenTablet Pen stylus' Button 1
(this very useful in figuring out the button scheme of the Pad and Stylus)

(b) xsetwacom --list parameters: this command will list what parameters xsetwacom can get and set. Example of the listed parameters are: Button, PressureCurve and Threshold. Be aware that since xf86-input-wacom is meant for Wacom tablets, there may be some parameters that won't apply to your H610.

(2.3) Defining Stylus Buttons: The stylus is defined as "HUION PenTablet Pen stylus" and it's button are: 1,2,3 (the button order is: stylus head, toggle down, toggle up). Button are defined respectively "button +1 " "button +2" "button +3" (these are the xinput values for left click, middle click and right click). I wouldn't recommend modifying button 1 but if you want to modify the other 2 buttons, you can do it in the same manner as I showed you in section (2.1) and add the line to Huion.Default.sh

eg. if you want an eraser on your Stylus, you can sacrifice the middle-click on button 2 by inputing:

xsetwacom --set 'HUION PenTablet Pen stylus' Button 2 "key e"

(if you want to revert back to default:)

xsetwacom --set 'HUION PenTablet Pen stylus' Button 2 "button +2"

(2.4) Defining Pressure Curves:

To define the pressure curve, input:

xsetwacom --set 'HUION PenTablet Pen stylus' PressureCurve "PUT-YOUR-CURVE-HERE"

eg.

xsetwacom --set 'HUION PenTablet Pen stylus' PressureCurve "5 10 90 95"

This gave no errors but I haven't yet established if it actually affect pressure curves of the stylus. I'll update when I know.

Alot of application such as Krita and GIMP will have their own pressure curve settings. Sor far I've tested the pressure curves on GIMP and it seems to work well. More on that in Section 3.

(2.5) Left Hand Support:

You can set the rotation of the tablet through the commands. The property is called Rotate and its value has to be one of none, cw, ccw, half. As a left handed call:

xsetwacom --set 'HUION PenTablet Pen stylus' Rotate half

[3] CONFIGURING APPS TO RUN WITH TABLET:

DigiMend's Support section has some really awesome guides on how to setup with your tablet with the following applications: Alchemy, Blender, GIMP, Inkscape, Krita, MyPaint, Synfig Studio and apps running out of Wine.

Just go to http://digimend.github.io/support/ and skip down to the "Application setup" section.

[4] SUGGESTED SOFTWARE:

-- Work in progress --

3
  • I'm actually in the process of building an application to configure the tablet through a GUI. Fingers cross :)
    – Reya276
    Apr 4, 2018 at 23:57
  • 2
    It's the first Linux I have to set up my tablet (Ubuntu, Debian, Arch) and it's the third time this answer saved me.
    – piegames
    Apr 20, 2018 at 15:16
  • This is my first time setting such external tools on archlinux by myself. Thanks to this post the experience has been nice and chill.
    – Student
    Mar 23, 2020 at 2:26
8

I've just bought this tablet and successfully install its driver inside Ubuntu 14.10.

First you need to remove any existing driver:

sudo rmmod hid-huion

After that, download release 5 or later from the DIGImend project. Untar, change to the download directory, make, and install the driver:

tar xf digimend-kernel-drivers-5.tar.gz
cd digimend-kernel-drivers-5
make
sudo make install

Your H610 should work now. You will have to run above steps everytime you update the kernel.

2
  • 1
    In case someone stumbles upon this, for Debian and Ubuntu, they now provide a deb package from that very same link, you should use that instead.
    – spectras
    Jan 17, 2016 at 15:59
  • Are there linux drivers for h640p as well?
    – Nathan B
    Aug 7, 2018 at 16:45
4

I'm cutting and pasting based on what I have done. Getting the buttons working on a HUION 610 tablet in Ubuntu/Linux using out-of-tree drivers Use the clone or Download button on the page. Do not use the .deb v6 package for Ubuntu 16.04 or greater, as it will not detect the pad. Also advice from the related issue tracker.

Basically create /usr/share/X11/xorg.conf.d/50-huion.conf:

# Huion tablets
Section "InputClass"
    Identifier "Huion class"
    MatchProduct "HUION"
    MatchIsTablet "on"
    MatchDevicePath "/dev/input/event*"
    Driver "wacom"
EndSection

Section "InputClass"
    Identifier "Huion buttons"
    MatchProduct "HUION"
    MatchIsKeyboard "on"
    MatchDevicePath "/dev/input/event*"
    Driver "evdev"
EndSection

Section "InputClass"
    Identifier "Huion scroll"
    MatchProduct "HUION"
    MatchIsPointer "off"
    MatchIsKeyboard "off"
    MatchIsTouchpad "off"
    MatchIsTablet "off"
    MatchIsTouchscreen "off"
    MatchDevicePath "/dev/input/event*"
    Driver "evdev"
EndSection

Relog, then run the following for buttons on the tablet to work. Can change these around to whatever works. You can now use the wacom program to set button values (can't use the GUI though).

For the buttons I like to create a script that will load the buttons when I run the script, as this value isn't saved.

Create a file with your favorite text editor, tablet.sh that looks like:

#!/bin/sh
xsetwacom --set 'HUION PenTablet Pad pad' Button 1 "key +ctrl +z -z -ctrl"
xsetwacom --set 'HUION PenTablet Pad pad' Button 2 "key e"
xsetwacom --set 'HUION PenTablet Pad pad' Button 3 "key b"
xsetwacom --set 'HUION PenTablet Pad pad' Button 8 "key +"
xsetwacom --set 'HUION PenTablet Pad pad' Button 9 "key -"
xsetwacom --set 'HUION PenTablet Pad pad' Button 10 "key ]"
xsetwacom --set 'HUION PenTablet Pad pad' Button 11 "key ["
xsetwacom --set 'HUION PenTablet Pad pad' Button 12 "key p"

# The below value was gathered using xrandr and xinput to determine the monitor as well as which
# number the HUION PenTablet Pen stylus device **id** listed as.
#    ↳ HUION PenTablet Pen stylus                 id=15   [slave  pointer  (2)]
xinput map-to-output 15 DVI-I-1

# Left handed stylus
#xsetwacom set 'HUION PenTablet Pen stylus' rotate half

chmod +x tablet.sh it after you are done. I just open a terminal and ./tablet.sh to have all my settings loaded.

The values for the xinput map-to-output 15 DVI-I-1 were gathered using xinput and xrandr.

Following another post, if you have 2 screens and want to limit it to one, use something like the below which you can find using the xrandr command line command. Running xinput in the terminal should give you a list of HUION devices. The 15 below was the HUION PenTablet Pen stylus device listed, your number may vary. The below maps to my monitor connected via DVI.

I cut and paste much of this from another post of mine, trying to spread this around.

2
  • This worked for a Turcom TS-6580 tablet as well.
    – Azmisov
    Dec 16, 2016 at 20:14
  • This X11 conf broke my login on elementary OS (based on 16.04). I had to delete the file from a tty. Later it worked with just the first InputClass (deleted the other 2). I am using a Huion H420.
    – Gaurav
    Apr 12, 2018 at 22:55
1

I'll add this answer here too, to have it in the Huge Huion Answers page. :)

Restricting pen to one screen only, on multihead displays, without using xrandr or messing with the X setup:

https://github.com/Ademan/xrestrict

Usage: xrestrict -I then tap with the stylus on the screen you want it restricted to.

Since this github mentions coordinate transform, it's possible that xrestrict also can do something about the 'I'm drawing a circle but it turns out as ellipse' aspect ratio problem that some have.

I have a Huion 610+ and it works just fine, running the 'stock' Ubuntu 17.10 kernel and then using xinput set-button-map, xbindkeys, and xdotool to map the 8 'left side hard-keys' to the functions I want in Krita. Set up with a script when I log in. Possibly my buttons solution is obsoleted by the DIGImend driver project.

In case someone's interested and don't want/know how to mess with the X server setup and run 'as user only', here's the tiny script I run after logging in:

#! /bin/bash
TABLET_ID="`xinput list|grep "HUION PenTablet Pad"|grep -v "Pen "|sed 's/.*id=\([0-9]*\).*/\1/'`"
if [ "$TABLET_ID" != "" ] ; then
   xinput set-button-map $TABLET_ID 13 14 15 8 9 10 11 12
   # now find the ID for the Pen, and keep the mouseclick (tip) but remap the
   # buttons on it
   echo "move the tablet pen around some to init it, then hit enter."
   read
   TABLET_PEN_ID="`xinput list|grep 'HUION PenTablet Pen Pen (0)'|sed 's/.*id=\([0-9]*\).*/\1/'`"
   xinput set-button-map $TABLET_PEN_ID 1 16 17
   pkill xbindkeys
   xbindkeys
   echo "Now run xrestrict -I to keep tablet pen on a single screen."
fi

(assuming 'xinput list' have told you that the tablet is named "HUION PenTablet Pad" and the pen is "HUION PenTablet Pen Pen (0)" - note, the virtual mouse 'Pen (0)' only shows up after you've touched the stylus to the pad at least once since the tablet got connected)

In my ~/.xkeybindrc I have entries like:

# following mappings for Krita

#16  pen button closest to tip
"xdotool key e"
    m:0x0 + b:16   (mouse)

#17  pen upper button
"xdotool key ctrl+shift+a"
    m:0x0 + b:17   (mouse)

#1  top tablet hardkey "Pan"
"xdotool key space"
    m:0x0 + b:13   (mouse)

#2  2nd tablet hardkey "Tilt"
"xdotool key shift+space"
    m:0x0 + b:14   (mouse)
[...]
#8  8th tablet hardkey "Undo"
"xdotool key ctrl+z"
    m:0x0 + b:12   (mouse)

The only thing that does not work, for some reason I can't figure out yet, is key #4 on the tablet, the one named '8' in the list of '1 2 3 8 9 10 11 12'. I'll have to dig a little more on how to make that remapping work.

0

For those that are new to all this you might run into some hiccups. This is relevant to [1 DRIVER INSTALLATION] a in the above instructions.

The xf86-input-wacom package can be got from: https://github.com/linuxwacom/xf86-input-wacom

To learn a little about kernel headers read here: https://unix.stackexchange.com/questions/47330/what-exactly-are-linux-kernel-headers

To see if your system has and install kernel headers go this link: https://www.tecmint.com/install-kernel-headers-in-ubuntu-and-debian/

a)you will not be able to run make if is not installed. You will also will not be able to compile if the gcc compiler is not installed.

run:

sudo apt install make

run:

sudo apt-get install gcc

My tablet is working fine now. Good luck and don't forget to donate to people who contribute in making things awesome!

0

Device: Huion h610 pro V2

OS: Ubuntu 16.04 (Kernel: 4.15.0-120-generic)

Problem: Disappearing or invisible cursor while drawing in tablet after following the above setup.

Steps I followed are

  1. Cloned the main DIGImend branch on this day (17 Oct 2020) and manually installed driver using

     make
     sudo make install
    
  2. Setup the Xorg in /etc/X11. This is where the error happened (in my opinion). I used the solution given by thebunnyrules above. This solution is very nice and well explained. I could see my tablet and pen in xsetwacom --list but the cursor would not appear while using the pen. This becomes difficult from here as I could not find any well explained fix and I am still not sure what is actually causing it. But at least it has to do with how one creates the xorg file "52-tablet.conf". Finally I used the slightly different code to write the file as described in the master repository here. Notice the difference from the above solution in 52-tablet.conf file (or name it as suggested "50-tablet.conf" but 52 worked for me just fine) - the second case has the device id specified in the code MatchUSBID "<VID>:<PID>". This is how the
    full file should look like:

    Section "InputClass"
    Identifier "Tablet"
    Driver "wacom"
    MatchDevicePath "/dev/input/event*"
    MatchUSBID "<VID>:<PID>"
    EndSection
    

This made all the difference! Now I can see the cursor and use the stylus properly. To find the device id use lsusb. See the main repository for detailed description. Hope this will help someone with this problem. All the thanks to Nikolai Kondrashov.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .