HUION H610 Tablet

47,611

Solution 1

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.

Solution 2

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

Solution 3

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.

Solution 4

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.

Share:
47,611
Reya276
Author by

Reya276

If it ain't Ubuntu I don't want it! And Android RULEZ!

Updated on September 18, 2022

Comments

  • Reya276
    Reya276 over 1 year

    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.

  • spectras
    spectras over 8 years
    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.
  • Azmisov
    Azmisov over 7 years
    This worked for a Turcom TS-6580 tablet as well.
  • Reya276
    Reya276 about 6 years
    I'm actually in the process of building an application to configure the tablet through a GUI. Fingers cross :)
  • Gaurav
    Gaurav about 6 years
    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.
  • piegames
    piegames about 6 years
    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.
  • Nathan B
    Nathan B over 5 years
    Are there linux drivers for h640p as well?
  • Student
    Student about 4 years
    This is my first time setting such external tools on archlinux by myself. Thanks to this post the experience has been nice and chill.