XpPen Deco 01V3 - review on GNU/Linux

Published on

Video:

This article accompanies my video review of the XpPen Deco 01v3, a medium-sized screenless pen tablet. The video provides my in-depth look at the device's hardware. This blog post, on the other hand, focuses on the information and technical aspects of installing and configuring the device on a GNU/Linux operating system.

Official links:

Special Offer/Promo code
20% OFF on the Deco 01 V3 tablet with code β€œDAVID20”, valid in March 2025, cannot be combined with other promotions.

Out of the box situation

What features are available out of the box? Basically, all primary functions are operational. In the absence of a dedicated driver, the XpPen Deco 01v3 emulates two standard devices: a generic pen, similar to those used with laptop-tablet PCs, and a standard keyboard for key input.

Modern versions of GNOME and KDE, running under Wayland, can accurately detect the stylus coordinates and set the screen aspect ratio. Under X11, the xsetwacom command line utility can achieve similar results.

The limitation of this emulation is that most of the shortcuts for the stylus buttons and pad buttons are hard-coded and cannot be changed without a dedicated driver. The default key mapping is shown in the figure below (see image). While not ideal, the default shortcuts are still useful. However, you will need to get used to using a pen without a right-click button, as an "eraser mode" is activated by holding down the button instead.


Default buttons layout when connected to a GNU/Linux machine

The proprietary driver

I have not tested or used the proprietary driver provided by XP-Pen for ethical reasons. However, I am aware that many users may find its existence beneficial and may choose to make an exception to use this binary blob, prioritizing convenience. I do not judge their choice.

Link: https://www.xp-pen.com/download

The FLOSS driver (udev-hid-bpf)

On GNU/Linux, all drivers are built into the Linux kernel, but forcing users to wait for the next kernel to get their hardware working would be madness. To address this issue, projects such as udev-hid-bpf provides a solution by allowing users to load Human Interface Device (HID) drivers in the kernel. Presently, this is where the development of new tablet drivers is taking place.

So I reported the device specifications to Peter Hutterer (whot) and Benjamin Tissoires (bentiss) who manage the project. I opened a new thread with all the Deco 01V3 specifications. Peter then wrote the merge request 185 with the code to support the tablet. And waiting the code to join the main release of udev-hid-bpf (and maybe later the Linux kernel), you can install the code of the merge request using the tutorial provided by the documentation of udev-hid-bpf.

Note: the merge request is still in progress, while all buttons of the pad are now ready to be customized, the top button of the stylus still reports an eraser mode.

Customization

On Plasma Wayland

Once the udev-hid-bpf rules are correctly installed, the Plasma 6.3 system preference on Wayland will detect all buttons. Below is a screenshot of the three panels (click to enlarge).


screenshot of the tablet system settings of Plasma 6.3

On GNOME Wayland

Once the udev-hid-bpf rules are correctly installed, GNOME will still need more info: a .tablet file and a .svg layout in https://github.com/linuxwacom/libwacom/tree/master/data because the graphical user interface requires such files. This is still a TODO for GNOME users, and probably duplicating the files for the Deco 01v2 and tweaking them might be enough. But without them, the preferences panel look like this:


screenshot of the tablet system settings of GNOME 47

On X11

Once the udev-hid-bpf rules are correctly installed, you'll be able to control the basic features of the tablet by command lines using xsetwacom utility. First, find the ID of your device:

$ lsusb
Bus 001 Device 008: ID 28bd:0947 XP-Pen Deco 01 V3

Then create (or edit) the file /usr/share/X11/xorg.conf.d/60-xppen.conf and put inside this paragraph, with the MatchUSBID identifier you found previously.

Section "InputClass"
  Identifier "XP-Pen Deco 01 V3"
  MatchIsTablet "on"
  Driver "wacom"
  MatchUSBID "28bd:0947"
  MatchDevicePath "/dev/input/event*"
EndSection

Then reboot.
At this point, you should see your XPPen tablet stylus listed if you write in a terminal:

$ xsetwacom --list
UGTABLET Deco 01 V3 Pen stylus          id: 11  type: STYLUS
UGTABLET Deco 01 V3 Pen eraser          id: 19  type: ERASER

Bravo! Xsetwacom utility is now in charge of your tablet.

Create an Xsetwacom script

Open a non-rich text editor (eg. Micro, Kate, Geany, Gnome text also called Gedit, etc...) and copy/paste/adjust the script under:

#! /bin/bash
# ----------------
# XP-Pen Deco 01v3
# ----------------
# License: CC-0/Public-Domain license
# author: deevad

# Tablet definition
# Identifier obtained using the 'xsetwacom --list' command line
# The tablet appears after creating a special rule for Xorg. 
# See blog post on https://www.davidrevoy.com/index.php?tag/hardware for it.
tabletstylus="UGTABLET Deco 01 V3 Pen stylus"
tableteraser="UGTABLET Deco 01 V3 Pen eraser"
tabletpad="UGTABLET Deco 01 V3 pad"

# Constrain the stylus to use it's own monitor
# Monitor name here "HDMI-A-0" was obtained
# using the 'xrandr' command-line. Your monitor's name might be different (eg. "HDMI-1", "DisplayPort-3", etc...). 
# Note: you might need to make some math here if the ratio is not the same than your monitor
output="HDMI-A-0"
xsetwacom --set "$tabletstylus" MapToOutput $output
xsetwacom --set "$tableteraser" MapToOutput $output

# Pressure sensitivity calibration
# You can use this widget online here to create your curve
# https://linuxwacom.github.io/bezier.html
# The number are set like this: "X1" "Y1" "X2" "Y2"
# default: PressureCurve 0 0 100 100
xsetwacom --set "$tabletstylus" PressureCurve 50 45 20 100

# Styluse's buttons:
# First button on the stylus
# I like to get the Control key to pick color on this one.
# default: button 2 2
xsetwacom --set "$tabletstylus" button 2 key Ctrl

# Second button on the stylus
# I leave the default right-click (not: it doesn't work right now, it will be an eraser mode)
#xsetwacom --set "$tabletstylus" button 3 3

# Data trimming and suppression
# Better to not filter or delete any data of this device for increasing its precision
# data pt.s filtered (0-100)
# default is 2
xsetwacom --set "$tabletstylus" Suppress 0 
# data pt.s trimmed (1-20)
# default is 4
xsetwacom --set "$tabletstylus" RawSample 1

# Buttons from top to bottom:
#     +-----+
#     |  1  |
#     +-----+
#     |  2  |
#     +-----+
#     |  3  |
#     +-----+
#     |  8  |
#     +-----+
#
#     +-----+
#     |  9  |
#     +-----+
#     | 10  |
#     +-----+
#     | 11  |
#     +-----+
#     | 12  |
#     +-----+

xsetwacom set "$tabletpad" button 1 "key Control_L" # Ctrl = color picker 
xsetwacom set "$tabletpad" button 2 "key KP_Divide" # / = Switch to previous used brush preset
xsetwacom set "$tabletpad" button 3 "key Shift_L" # Shift = Resize brush
xsetwacom set "$tabletpad" button 8 "key v" # v = line
xsetwacom set "$tabletpad" button 9 "key m" # m = mirror
xsetwacom set "$tabletpad" button 10 "key e" # e = eraser
xsetwacom set "$tabletpad" button 11 "key r" # r = pick layer
xsetwacom set "$tabletpad" button 12 "key Ctrl z" # Ctrl+z = undo

Save your script under the name of your choice, I saved mine as xppen_Deco-01-v3.sh (using the extension .sh at the end of the file will ease identifying the file as a Bash script later). To run it, after saving the file you need to give this text file execution permission. You can do so with many desktop environment by right clicking on the file, go to the property of the files, and in a permission tab add the "execute" checkbox. Another way to do it is via command line in the same directory:

chmod +x xppen_Deco-01-v3.sh

Now, if you run:

./xppen_Deco-01-v3.sh

The script should run and apply your preference. If your desktop environment is modern enough; you should have a way to add a script at autostart (usually in Settings > Autostart). This way, the preferences will be applied each time you start your computer. You can of course change options, and execute the script as many time you want to test and adjust.

You might also create a shortcut on your main menu to execute quickly the script.

Conclusion: contribute?

That's all, this guide can be of course continued or updated!

You can send me your tips via comments, or on various threads mentionned in this article or via email.



License: "XpPen Deco 01V3 - review on GNU/Linux" by David Revoy βˆ’ CC-BY 4.0
Tags:  #hardware   | Download: Markdown
14 comments

14 comments

link Pierre Equoy   - Reply
pieq@floss.social

very nice review! I remember the first tablet we got was an A5 Wacom, back in the early 2000s, and although it was an entry level model, it was definitely not 70 USD!

Also, thank you for doing all that extra work to help Linux devs releasing better drivers, and Linux users having more options down the line!

The part of the video where you scratch the surface was painful to watch... 😱🫣

@whot

β˜…

link David Revoy Author, - Reply
davidrevoy

@pieq Thank you! Oh yes, I had a Wacom Intuos 4 in 2011 for 399€. And this one is like as good, and more slim. It's amazing these prices.

True, the scratching of the overlay surface broke my heart πŸ’” But I knew it would be informative. Especially to tell user to take care to not drop USB cables and HDMI connector on their active surface. It can quickly get an impact with anything metal.

2 β˜…

link Jan Helebrant   - Reply
juhele@cztwitter.cz

@whot thanks much for the review. I remember many years ago I managed to get a "cheap" Wacom Bamboo Pen tablet which worked our-of-box also in linux, with GIMP / Inkscape, but this one looks really good - for that price almost A-4 sized tablet - wow!

β˜…

link Jan Helebrant   - Reply
juhele@cztwitter.cz

@whot I have few questions if you do not mind. 0) the installation in linux - is that complicated? (not a noob, PPA etc. no problem, compile from source might be issue) 1) how about the stylus - is there battery inside? 2) the tablet buttons - can those be mapped to certain tools in linux (if it works in Krita I would guess in GIMP could work too). thanks

β˜…

link David Revoy Author, - Reply
davidrevoy

@juhele No battery in the stylus, it's really like Wacom tech.
For the Linux notes, I wrote all in details in the blog post: davidrevoy.com/article1066/xpp ; but in a nutshell, right now, the tablet will work 'out of the box' everywhere but will not be customizable on any distro and D.E.
To customise it, you'll need to grab a zip from a merge request, unpack it, and run a ./install.sh script. Then on X11 the customisation is via command line (xsetwacom) or on Wayland, Plasma 6.3 detects it.

4 β˜…

link Jan Helebrant   - Reply
juhele@cztwitter.cz

Merci beaucoup πŸ‘ It looks like I could ask my employer for an upgrade - at that price it's a great deal even if I only need it for editing documentary company photos.

β˜…

link Novel   - Reply
hsnovel@mastodon.social

@whot

I have the previous version 01v2 that I bought ~2 years ago. It still works well and I never had a problem with it. Both the linux and the windows drivers work very well.

It was also very cheap when I bought it. I'm glad I didn't waste my money with wacom's overpriced tablets.

β˜…

link David Revoy Author, - Reply
davidrevoy

@hsnovel Yes, the Deco 01V2 was the one I wanted to test, because I saw JosΓ© ExpΓ³sito added the driver in the kernel after 6.2 on this article: phoronix.com/news/XP-PEN-Deco-

Unfortunately, XpPen stopped to produce them and updated them to the v3 and we had to restart the full HID descriptor from scratch. πŸ˜…

2 β˜…

link Novel   - Reply
hsnovel@mastodon.social

Ahh that might be the reason it was working even before I installed the drivers.

But even on 01V2 you had to install the drivers from the internet anyway if you had two monitors, because it would map two of the monitors to the tablet instead of one.

So bad they stopped producing them, I hope the new ones are as good as the old ones.

link David Revoy Author, - Reply
davidrevoy

@hsnovel Ha yes, their proprietary driver.

Without it nowadays on GNOME and Plasma both will catch now (on Wayland) options in the settings to map them correctly, and you can choose the monitor and even the aspect the ratio.

On X11, it is still with xsetwacom utility only.

So, big progress are done. I'm happy to see everything going into the right direction.

2 β˜…

link Novel   - Reply
hsnovel@mastodon.social

Yeah I saw the KDE's tablet settings being implemented by someone here on mastodon. Great to see these stuff being shifted to more open platforms.

β˜…

link AlexanderMars   - Reply
AlexanderMars@mastodon.social

@whot we need more Linux focused hardware reviews for artists. We need to show that serious artists do use Linux and that we need performant stylus and multitouch support and professional colour support.

β˜…

link David Revoy Author, - Reply
davidrevoy

@AlexanderMars True! πŸ’œ

β˜…

link CC   - Reply
crancruise@meow.social

@whot awesome writeup!

β˜…


Post a reply

The comments are synchronised every 1h with the replies to this post on Mastodon:


How to use this? (click here to unfold)
Open a new Mastodon account on the server of your choice. Then, Copy/Paste the adress above in your Mastodon 'Search' field. The post will appear and you'll be able to fully interact with it. You'll have full control of your posts: edit, remove, etc. After that, your message will appear here.

Just please note that it may take up to 1 hours for your changes to be reflected here.