[youtube]7deVfSmdSdc[/youtube]

**Video**:
- On Youtube: https://youtu.be/7deVfSmdSdc
- On Peertube: https://peertube.touhoppai.moe/w/hRxT1Vnp2vQvbwxqHPBd4W

This article accompanies my video review of the XPpen Artist 12" 3rd, a small sized display drawing 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.

## Links

**Special Offer/Promo code**  
`DAVIDR15` get 10€ (for a basket of more 159€) and it's something you can cumulate with all other running promotion (like the current Anniversary prices) and until 30 september:
- FR: https://bit.ly/4hFkRHv 
- UK: https://bit.ly/4zxu2jK 
- DE: https://bit.ly/4zwXFli 
- ES: https://bit.ly/3TXupUu 
- IT: https://bit.ly/4znfQcR 
- US: https://bit.ly/4wOf7PG 
- CA: https://bit.ly/4c2eU3D

**Product:**
- Official product: https://www.xp-pen.com/product/artist-12-3rd.html
- User manual: https://www.xp-pen.com/user-manual/artist-12-3rd.html

**Technical:**
- WIP BPF: https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/-/merge_requests/247
- Hid recording: https://www.peppercarrot.com/extras/?dir=mailing-list/hid-records/XPPEN-Artist-3rd


## GNU/Linux out of the box situation:

On GNU/Linux, the XPpen Artist 12" 3rd, **the main features will work out of the box**, on X11 and Wayland. That's because, without the presence of a driver, the tablet will behave as a Microsoft compatible stylus hardware (eg. the type of built-in stylus with Surface, Hp, Lenovo, etc...). A precious standard for pressure, tilt, etc! The buttons and wheel on the frame of the device will work too, as they'll be seen by your system as a new keyboard. 

If your desktop environment offers settings for tablet (GNOME/Plasma), you'll have the possibility to map the surface of the screen to the monitor of your choice, calibrate it, and set a curve for the pressure. That's what a modern KDE Plasma (superior to 6.7 version on Wayland) will offer.

However, **no possibilities to customize the buttons**, and the Stylus second barrel button. They all will be hardcoded, and will also follow your keyboard layout. An example: if XPpen put the convenient Ctrl+Z "undo" on the frame as an hardcoded shortcut but your layout is not a QWERTY but an AZERTY, this keyboard shortcut will reveal a Ctrl+W "Close" that can be really, REALLY a pain in the assumption that you'll get something working without any efforts.

**Default frame buttons layout:**  
* Button 1 → E
* Button 2 → B
* Button 3 → LeftAlt
* Button 4 → LeftShift
* Top wheel → Ctrl+Minus / Ctrl+Equals
* Bottom wheel → LeftBrace / RightBrace
* Button 5 → LeftControl
* Button 6 → Space
* Button 7 → Ctrl+S
* Button 8 → Ctrl+Z

**Default stylus buttons layout:**  
* Bottom → middle mouse click
* Top → Eraser mode switch (on hold)

Notice that, without having a right-click button on your stylus, this default will be painful for operating your system and software, especially on Linux. You can thanks Microsoft for that. /s

Thanksfully, Peter Hutterer made [a year ago](https://who-t.blogspot.com/2025/06/libinput-and-tablet-tool-eraser-buttons.html) a feature in libinput to solve this second button situation on all the Microsoft standard styluses: Lenovo, Hp, but also Gaomon, Huion, XPpen. Thousands of devices! But unfortunately, such a new feature in libinput now require all D.E. System Settings to adapt. GNOME already did, as far as I know, but Plasma still [lag behind implementing it](https://bugs.kde.org/show_bug.cgi?id=506012). 

For the buttons of the frame, you can workaround them with an hwdb rules as I explain on this [Keypad tutorial](https://www.davidrevoy.com/article989/how-to-customise-a-usb-numeric-keypad-under-gnulinux) or with software like [Input Remapper](https://github.com/sezanzeb/input-remapper).

So, the device is usable out of the box, and probably offers a good experience on a modern GNOME Wayland if you have a QWERTY keyboard. 

But if you want to customize your device for your workflow, you'll then need a driver.

## Drivers

### With the XPpen proprietary drivers

XPpen provides a DEB, RPM and Tar.gz closed executable with a QT GUI. I don't use it and I haven't tested it. It often have bad interaction with the tablet settings of the D.E. and also behave differently under X11 or Wayland. It sounds like it was developped in mind for user of Linux Mint X11 as I had feedback of success over this community.

### With the udev-hid-bpf

[![](data/images/blog/2026/2026-08-27_plasma-system-settings-on-the-xppen-artist-16-3rd.jpg)](data/images/blog/2026/2026-08-27_plasma-system-settings-on-the-xppen-artist-16-3rd.jpg)  
_KDE System Settings showing button on the frame (pad buttons) customization with the BPF installed_

It's a rule you can install on any modern kernel and this will make all buttons exposed to the GUI of GNOME and Plasma (on Wayland) as tablet's buttons. It works on almost all modern Linux kernel, except the one of Debians 13, were it will be necessary to install newer kernels like the Liquorix kernels.

The BPF is [a WIP Merge Request](https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/-/merge_requests/247), a personal contribution, and still not accepted as part of the udev-hid-bpf project because I'm new to that and learning. It took me an immense effort to already get that part working, and frankly, I'm not sure I'll can finish the MR with my skill. So, contributions and help is welcome.

Anyway, my first version will already make all buttons exposed to the System Settings, including the wheels and the second button of the stylus barrel. Remaining TODO: exposing the wheel as wheel semantically, and not Buttons, getting subtle fixes for the tilt (that already works well here on Krita), and refactor things.

To install my WIP version, first install the udev-hid-bpf project. Your distro probably have already a package for it, so use it, and if not, visit the project 'release' page: it has precompiled archives easy to install with a single ./install.sh bash script.

Then download my precompiled BPF: https://www.peppercarrot.com/extras/mailing-list/hid-records/XPPEN-Artist-3rd/2026-08-27_XPPen__Artist12_3rd_precompiled.zip (Source here https://www.peppercarrot.com/extras/mailing-list/hid-records/XPPEN-Artist-3rd/2026-08-27_XPPen__Artist12_3rd_src.zip or on the Merge Request 247 https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/-/merge_requests/247 )

Unzip the files, and use udev-hid-bpf command line to install the special rule:

```bash
$ sudo udev-hid-bpf install /path/where/you/extracted/0010-XPPen__Artist12_3rd.bpf.o 
$ sudo udev-hid-bpf install /path/where/you/extracted/0010-XPPen__Artist12_3rd.bpf.unstripped.o
```  
(note: not sure what's the role of the unstripped file, but I provided it also in case of).

Plug off and replug your device, and try to right-click with the top barrel button to check if the BPF is loaded. Done!


## End notes

That's all, this guide might evolve and receive updates. You can send me your tips via comments or via email.