Graphic Tablets on Linux

@emmetpdx Hi, I read you are using the Huion HS610 on linux, even though it is not mentioned in the digimend list of supported graphical tablets. As I was thinking to buying one too, would you mind describing a bit your system? Does it work correctly, with all the functionalities? Is the active area correctly recognized for example, or does it lose some drawing surface?

I currently run a Debian 10 with i3wm (I doubt the wm affects the functionality of the tablet at all though).

Thanks for your answer!

I just Tested Gaomon M6 (China) (OEM Huion I think) on Deepin20Beta and Ubuntu 20.04.
To my surprise it just works. Although no shortcuts working. The pressure just works which seems IAF even better than on Windows I feels. Most Screenless Tablets might just works out of box on Linux I wonders(Excluding Shortcuts of course).

https://imgur.com/a/WfcxXGt

1 Like

I’m interested in the XP-PEN Artist 15.6 Pro. I use Manjaro KDE.

I also am confused about what works and what not. Also the use of the different drivers confuse me. It seems that XP-PEN has a driver and there is an open source driver. Which one do you use?

Can you use a USB cable extension as I don’t want to stay behind the computer. :grinning:

I use a wacom intuos medium now.

Hi @jabro

I personally use a XP pen Artist 13.3v2 under Linux Debian 10

I don’t know about the manjaro distribution (too many distribution to know all of them :sweat_smile:)
but i think that what is available for a Debian should be available for any other Linux distro.

Last time I tried it (ie: first time I’ve plugged my drawing tablet to computer), XP pen driver was just a :poop:
Maybe it has been improved since this time (~1.5year ago) but what I can tell you is, it’s not a driver: this is a program that you have to execute when you want to use the tablet and configuration was limited (I don’t remember very well but OK, for me it was just not possible to use the tablet under Linux in this condition)

I use digimend + wacom drivers.
The configuration is not easy: if you’re not an advanced Linux user, it could be difficult to configure.
If you’re not afraid by command line and writing some system configuration files, so it won’t be a problem.
On my side, with my custom configuration, I can:

  • Calibrate the tablet (ie: ensure that when your pen is somewhere on drawing surface, the cursor is below the pen nib and not 40px left)
  • Use the 6 XP pen Artist 13.3 buttons (I think there’s 8 on 15.6pro, I need to check, but even if it’s 8 it should be ok)

Concerning usb cable, the default one is not long enough to allow me working with the tablet from my couch and I use 2meter USB C extension cable, it work perfectly. I think there’s 3meter between me and the computer: just consider that being in the couch to draw, you’re tablet is always moving, and plugged cable can be disconnected… and with time, the cable slightly moves in the socket and I had to insert a thin cardboard piece to ensure that when I move, the plug stay fixed in the socket)

Grum999

Manjaro is an Arch daughter. Is great.

I’m not a Linux noob and not afraid of the command line. The thing is that digimend reports that the 15.6 is unsupported. Wacom works great and the buttons for instance can easily be configured within KDE via a GUI. I can imagine that this works too with the 15.6

This seems to be the xp-pen 15.6: https://m.youtube.com/watch?v=bnrtPoo6-d8

Looks pretty straightforward without any special hocus pocus. It seems to work this way.

1 Like

I’m still not 100% sure how it all works together, but looks like the kernel drivers are pretty much always the same for XP-Pen no matter how you set it up. Digimend is a project name, the drivers get upstreamed to the mainline kernel and handle the supported tablets as USB HID. Installing Digimend drivers out-of-tree allows using the latest version on older kernels though.

The confusing part is the userspace side.
For X11, there’s probably at least 4 possible ways the tablet gets handled:

  • xf86-input-evdev: A generic input driver, probably not default anymore on many distros
  • libinput: Described as “drop-in replacement for evdev and synaptics”, only option with Wayland support and probably what the guy in the Mint video guide uses.
  • xf86-input-wacom: A driver geared towards tablets, despite the name it can be used with some other tablets too, bonus are some advanced configuration GUIs in gnome and KDE.
  • XP-Pen “driver” application: Apparently, it reads the USB HID kernel output via libusb (hence requires root priviledges to launch, yikes) but mostly just adds button mapping support, and feeds it to XCB (according to what I could find)

Is that somewhat correct so far?

Oh ok
I often use documentation from https://wiki.archlinux.org because it’s often well detailled and more complete than documentation I can found on Debian sites :sweat_smile:

That’s strange… on my side to be able to configure my 13.3 the only thing I was able to found was about the 15.6 (there’s just few modification to do for a 13.3 as USB HID is not the same)

No
Using the wacom driver for your XPPen tablet doesn’t allows the configuration through KDE interface, only Wacom tablet are supported by the interface.

To be able to use my XP Pen Artist 13.3 on Debian, I had to:

  • create specific udev rules to let the system recognize buttons
  • create specific xorg.conf configuration
  • create a shell script executed at session startup to map buttons

Ok :slight_smile:
So I can provide you what I’ve made on my side

Technical details

:warning: :warning: NOTE: THIS IS HIGHLY TECHNICAL AND I RECOMMEND FOR WHOM WANT TO FOLLOW IT TO HAVE A MINIMUM LINUX ADMIN KNOWLEDGE AND TO UNDERSTAND THE CONFIGURATION/COMMAND – PLAYING WITH THIS CAN BROKE YOUR LINUX OR PUT IT IN AN UNSTABLE STATE AND IF ANY PROBLEM OCCURS YOU MUST BE ABLE TO RESTORE CONFIGURATION BY YOURSELF :warning: :warning:

Before starting, check your tablet:

$ lsusb
Would provide something like this in list:
Bus 009 Device 002: ID 28bd:000b
the tablet is not named, you have to know the HID (for a 15.6 i think that HID is 28bd:000c so you have to change 000b by 000c everywhere in configuration)

The udev configuration

File /etc/udev/hwdb.d/10-xp-pen-keyboard.hwdb

evdev:input:b0003v28BDp000B*
 KEYBOARD_KEY_d0045=332

File /etc/udev/rules.d/67-xorg-xppen.rules

KERNEL!="event[0-9]*", GOTO="xppen_end"

ENV{ID_VENDOR_ID}=="28bd", ENV{ID_MODEL_ID}=="000b", ENV{x11_driver}="wacom", KERNEL=="event8", SYMLINK+="input/xppen-pad", NAME="XP-PEN ARTIST 13.3 pad"
ENV{ID_VENDOR_ID}=="28bd", ENV{ID_MODEL_ID}=="000b", ENV{x11_driver}="wacom", KERNEL=="event7", SYMLINK+="input/xppen-stylus"

LABEL="xppen_end"

To know the event number, do the following
$ sudo evtest
You should get in list something like this:

/dev/input/eventX:	XP-PEN ARTIST 13.3 Mouse
/dev/input/eventY:	XP-PEN ARTIST 13.3
/dev/input/eventZ:	XP-PEN ARTIST 13.3

Note: the event number may change…

And then
$ sudo udevadm info -a /dev/input/eventX
Would provide you all information needed to eventually update your udev configuration files for XP Pen Artist 15.6

The XOrg configuration

File /etc/X11/xorg.conf.d/12-xppen-tablet.conf

Section "InputClass"
    Identifier "Tablet0"
    MatchUSBID "28bd:000b"
    MatchDevicePath "/dev/input/event*"
    MatchIsTablet "on"
    Driver "wacom"

    # note: to define these parameters properly, you can use xinput_calibrator tool
    #       that provide an interface to calibrate the pen and then provide XOrg configuration
    #       to apply
    Option  "MinX"  "168"
    Option  "MaxX"  "29238"
    Option  "MinY"  "-36"
    Option  "MaxY"  "16529"
    Option  "SwapXY"        "0" # unless it was already set to 1
    Option  "InvertX"       "0"  # unless it was already set
    Option  "InvertY"       "0"  # unless it was already set
EndSection

Section "InputDevice"
    Identifier "XP-PEN ARTIST 13.3 pad"
    Driver "wacom"
    Option "Device" "/dev/input/xppen-pad"
    Option "Type" "pad"
EndSection

File /etc/X11/xorg.conf.d/32-xppen-monitor.conf

Section "Monitor"
    # HorizSync source: unknown, VertRefresh source: unknown
    Identifier     "Monitor1"    
    VendorName     "XPPen"
    ModelName      "UGD Artist 133"
    HorizSync       31.0 - 70.0
    VertRefresh     59.0 - 61.0
    Option         "DPMS"
EndSection

File /etc/X11/xorg.conf.d/42-xppen-graphic.conf

Section "Device"
    Identifier     "Graphic1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GT 630"
    BusID          "PCI:3:0:0"
    
    MatchSeat       "seat-1"    # Needed when only configuring part of Xorg for non-seat0.
EndSection

Note: I’m in a multi seat configuration so, comment/remove the MatchSeat if you’re not in multi-seat config (or replace it by seat0 that should be the default seat I think)

File /etc/X11/xorg.conf.d/62-xppen-layout.conf

    Identifier     "seat-1"
    Screen         "Screen1" 0 0

    InputDevice    "Keyboard1" "CoreKeyboard"
    InputDevice    "Mouse1" "CorePointer"

    #InputDevice    "Tablet0" "SendCoreEvents"
    InputDevice     "XP-PEN ARTIST 13.3 pad"

    Option         "Seat"    "seat-1"
    Option         "SingleCard" "on"
    Option         "AllowEmptyInput" "true"
    Option         "AllowEmptyInitialConfiguration" "true"

Note: I’m in a multi seat configuration so, comment/remove the Seat if you’re not in multi-seat config (or replace it by seat0 that should be the default seat I think)

Apply changes

When udev and xorg conf are modified, you can apply change without having to reboot with:

$ sudo udevadm control --reload
$ sudo udevadm trigger
$ sudo systemctl restart display-manager

Note: udev symlink must be defined before XOrg configuration is updated as the xorg configuration refers to symlink /dev/input/xppen-pad defined here

The shell script executed at startup session
#!/bin/sh

xsetwacom set "XP-PEN ARTIST 13.3 pad" button 1 key tab
xsetwacom set "XP-PEN ARTIST 13.3 pad" button 2 key f10
xsetwacom set "XP-PEN ARTIST 13.3 pad" button 3 key alt
xsetwacom set "XP-PEN ARTIST 13.3 pad" button 8 key f12
xsetwacom set "XP-PEN ARTIST 13.3 pad" button 9 key shift
xsetwacom set "XP-PEN ARTIST 13.3 pad" button 10 key ctrl

xsetwacom set "XP-PEN ARTIST 13.3 stylus" area 233 -38 29395 16486 
xsetwacom set "XP-PEN ARTIST 13.3 stylus" button 1 1
xsetwacom set "XP-PEN ARTIST 13.3 stylus" button 2 2 
xsetwacom set "XP-PEN ARTIST 13.3 stylus" button 3 3


echo "Tablet:              Pen:                                         "
echo "                                                                  "
echo "+---+                 _                                           "
echo "| 1 | (tab)          | |                                          "
echo "+---+                | |                                          "
echo "| 2 | (f10)          | |                                          "
echo "+---+                | |                                          "
echo "| 3 | (alt)          | |                                          "
echo "+---+                | |                                          "
echo "| 8 | (f12)          |o| <-- [right]  stylys.3 (button 3 = right)    "
echo "+---+                | |                                          "
echo "| 9 | (shift)        |o| <-- [middle] stylus.2 (button 2 = middle)"
echo "+---+                |_|                                          "
echo "| 10| (ctrl)         \ /                                          "
echo "+---+                 v  <-- [left]   stylus.1 (button 1 = left)  "

You have to install the xsetwacom utility for this.
I don’t remember how I was able to determinate which button number match with which physical button (maybe evtest…)

I think I provided practically everything I know about the subject…

There’s something missing in my documentation.
I think I’ve used digimend, but I may have installed xf86-input-wacom instead.
Don’t remember this part, I only took notes on all complex configuration files and action needed to have my tablet perfectly working…
I have to check packages installed on my computer and update my documentation :sweat_smile:

Grum999

@Grum999 Wow. Building a kernel is easier to understand!

Well this is pretty disappointing. You made me less willing to buy the xp-pen 15.6. :slight_smile:
Too many things can go wrong this way, let alone doing troubleshooting.

So as I understand, as the 15.6 is unsupported by Digimend I can trust on xf86-input-wacom and go your way. udev, xorg.conf, xsetwacom, etc.

Have to think about this twice before I do this, it nearly look likes work. :slight_smile:

Yes…

And if the kernel is updated, it may not work anymore without new investigation/configuration…

Don’t remember exactly which kernel version forced me to create a udev rule, but:

  • before kernel XX.XX update: tablet pad was working
  • after kernel XX.XX update: tablet pad was not working anymore (so, the udev rule…)

Grum999

I used to use an old Monoprice 10x6.25, the original model with no express keys from about a decade ago, it was a rebranded UC-Logic and worked right out of the box for as long as I had it. I really liked that tablet, had good performance, decent build quality and the batteries lasted forever, I think over the ~8+ years I had it, I changed out the battery maybe 3 times.

Recently I picked up a new Huion HS611, that has also worked right out of the box (with a recent kernel), thanks to support provided by the digimend dev that has since been included upstream in the kernel. The media keys worked fine, performance is good, though I will say I kinda miss using a battery powered stylus, this new stylus feels too light and there are times where I go to move the stylus around too high above the surface and it gets out of the activation range, which causes slight jumps of the cursor that I didn’t used to get with my old tablet and they can be mildly jarring, but not that big a deal. It feels more sturdy though, which is a plus in it’s favor so there are pluses and minuses on that front, having tilt support really made it a worthwhile replacement though.

I was thinking of picking up an XP-Pen Deco Pro Medium, but at the time I was shopping around, that was still lacking support for it’s touch ring, dial and express keys and such, so I went with the far cheaper alternative from Huion and haven’t regretted it so far. The story might be different for those on older LTS distros with an older kernel, as this tablet is pretty new and support for it isn’t even in the current stable digimend release (though you can get support using the version 10 rc), So that is something to keep in mind, for probably the next few months or so. I’m on Manjaro using the latest 5.7 kernel and it seemed to work just fine with 5.6 as well before I updated the other day.

I will say though it is a bit hit or miss if you want to use the wacom driver. When I followed the digimend instructions for adding an xorg config file for my tablet to get it to use the wacom driver so the kde tablet settings tool would recognize the tablet, I lost the use of the media keys along the top, which was a disappointment. So I removed that file and restarted without it and that returned it to using the libinput driver I think and I got those buttons functioning again, but then the kde gui stopped recognizing it again. But the weird thing is, after using xsetwacom to set a few things from the command line, like restricting the tablet to my primary screen, the kde tablet settings thing picked up my tablet again, even without having that xorg config file, so it seems I can use the GUI to configure things again, and I still have use of the media keys! So that was a pleasant surprise.

My main problem now though is that I’d like to play around with mapping the touch strip on this thing to something in Krita to test it out, maybe brush size or something. But I haven’t the slightest clue how to do that and haven’t had much luck finding anything on that so far. If anyone has experience with getting touch strips on Huions or other tablets working with xsetwacom, do let me know. It would be much appreciated.

Just wanted to chip in and say I’ve been using the XP-Pen Artist12 Pro for about a year and really enjoy it. It just worked on my Ubuntu system (2019 version, can’t recall which) with nothing to do but log out and log back in after plugging it in. The only issue I had with it is that Krita will crash instantly when I use the stylus under KDE. Any other desktop works flawlessly, no drivers or settings to change. I’m looking at trying a Huion monitor/tablet since they’re about $360 vs. $500 for the XP-Pen 22E Pro, which is pretty steep for a non-Wacom monitor/tablet combo. It’s also a little annoying that the XP-Pen 22E stylus requires charging (Though they to give you two), while my Artist12 is battery-less. Also the price on my Artist12 Pro has gone up on Amazon at least, I got it for $230 and it’s now $300 USD. It’s a great tablet but I really want a larger working area since 12" is a bit small for a 1080P monitor.

it will be better to update our list of tablet section on the manual based on the information in the replies here. Is anybody interested to volunteer?

Hello, I am now using an xp-pen artist 13.3 pro tablet, with a screen, and with the drivers available on its support website, it works well for me. Limited features but very very happy. I have also drawn on wacom tablets and xp-pen without a screen, and drawing on the screen seems much easier, natural and enjoyable. Regards.

I’ve a xp-Pen Artist 24 pro and it works fine too on kubuntu 20.04. xp-pen has a “linux driver” on their site.

I have an XP PEN Artist 15.6 tablet (2 years old) on Ubuntu 20.04.
The XP Pen driver works great except the Express Keys configuration.

For express keys configuration, I followed this tuto:
https://forums.opensuse.org/showthread.php/537880-XP-Pen-Drawing-Tablet?p=2918114#post2918114

A bit tricky but it works. :slight_smile:

With the last XP Pen artist tablets, this issue is resolved so no worries.
XP Pen has a reactive customer service by the way. I recommend for Linux users.

Sorry to not understanding your quote but what issue has been resolved? Driver install or key configuration?

Key configuration.
I never had issues with the driver.

Maybe I am wrong but I read somewhere you need to start the xp-pen program, xp-pen’s driver, everytime before using 15.6 tablet. Is that still true?

It is correct, you have to start the controller manually at the beginning of the session, but it is easy if you have saved the command in an accessible document.