WRITTEN_BY David REVOY -
-
16 comments
I'd like to share some context about this artwork ↑, which I started creating yesterday evening in Limoges during [the conference at the Library](https://www.davidrevoy.com/article1067/conference-in-limoges-france-on-25-march). You can watch the full replay in French here ▶️ https://www.youtube.com/watch?v=jXwg2rP8oU0 . I wanted to thank everyone who attended - it was a wonderful experience!
I couldn't resist putting the finishing touches on the artwork, so I spent some time refining it this afternoon during my train ride back home.
[](https://www.youtube.com/watch?v=jXwg2rP8oU0 )
_A screenshot of the video replay (click to play), video hosted on the Youtube account Bibliothèque francophone multimédia de Limoges._
[](data/images/blog/2025/2025-03-25_enchanted-pages_art-in-train.jpg)
_A photo from my point of view in the train: a laptop (a Lenovo Yoga 370) connected to a tablet (a Xppen Deco 01V3) while finishing an artwork._
WRITTEN_BY David REVOY -
-
2 comments
I'm excited to announce that I'll be giving a conference mixed with a live digital painting performance in Limoges on March 25, 2025, and I'd love if you can join me. The event is titled "Pepper&Carrot, a comic made with Free/Libre and Open Source software," and it's going to be a unique opportunity for me to talk (in French) about some of the topics that are closest to my heart.
- My journey to using Free/Libre and Open Source software
- The challenges of being an artist in the era of AI Generation
- The financial aspects of working on a project like this
- How I became an illustrator for Framasoft
- The importance of Creative Commons Licenses
To make it even more engaging (and challenging) I'll also be doing a live digital painting performance using Krita on Linux, projected on a big screen during the talk. Also, I'll pick your questions on the fly, because this is a meeting, it will be interactive.
The event will take place at the Bibliothèque Francophone Multimedia in Limoges, March 25 2025, from 18h30 to 20h00, and it's completely free.
**→ [All information are here](https://bfm.limoges.fr/agenda/peppercarrot).**
If you can't make it, the event will be recorded (you can also check out [a previous conference of Bolchegeek, while playing a video game](https://www.youtube.com/watch?v=_eXmIpd0iqE) to see the format)
I hope to see you there!
## Update:
The final artwork and replay is now available [in this post](https://www.davidrevoy.com/article1070/enchanted-pages).
[](data/images/blog/2025/2025-03-25_enchanted-pages.jpg)
WRITTEN_BY David REVOY -
-
11 comments
[youtube]trXxX3ZY5FM[/youtube]
**Video**:
- On Youtube: https://youtu.be/trXxX3ZY5FM
- On Peertube: https://peertube.touhoppai.moe/w/ceBuGLnUs8JBf9RgpzrGSa
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**:
- [Official product page](https://www.xp-pen.com/product/deco-01-v3.html)
- [Buy on official store](https://www.storexppen.net/buy/deco-01-v3.html)
**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.
- FR : https://bit.ly/41HXzZ2
- UK:https://bit.ly/3QJ1Xkc
- DE: https://bit.ly/4ihb6wk
- IE: https://bit.ly/4bpNdjC
- ES : https://bit.ly/4h40EqV
- PT : https://bit.ly/4hYIJ66
- US: https://bit.ly/3D4xbiI
- CA: https://bit.ly/41iLJD6
**Update/Erratums**:
- 2025-04-04: A BPF new patch for the second stylus button. This tablet has a full support now! 🎉
- 2025-04-03: New chapter: my main device when traveling, because I had a good experience with it in a conf and on the train.
- 2025-03-28: [Small Erratum] I write the ratio in the video is roughly ('~' symbol) 16/9. Correction: It's exactly 16/10.
- 2025-03-26: [Libwacom 2.15.0 released](https://github.com/linuxwacom/libwacom/releases/tag/libwacom-2.15.0), with the Deco 01V3 support
- 2025-03-24: Updated 'Second Stylus Button Hardcoded Erase Mode' chapter, as it might be a serious short term issue for this device.
- 2025-03-24: The code was [merged](https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/-/merge_requests/185) in udev-hid-bpf.
- 2025-03-07: Update GNOME .tablet files and .svg files and screenshots.
## My main device when traveling
I took this one with me for a [filmed digital painting demo at a library](https://www.davidrevoy.com/article1070/enchanted-pages) and could finish my artwork with it back on the 3h of trains. My laptop, a [Lenovo Yoga 370 I reviewed here](https://www.davidrevoy.com/article976/lenovo-yoga-370-on-gnu-linux-technical-companion-article) already has a built-in compatibility with active stylus, the Wacom Bamboo stylus with batteries. But it also has a glass like overlay surface, and a bad access to keyboard shortcuts and also some problems with palm rejection (still on X11). Connecting an external display less tablet on it like the Deco 01V3 suddently made painting on the go twice easier: the access to the keyboard shortcuts, the position, the non reflection of the ceiling or windows of the train because the display is vertical... Well, for sure I'll put this one now by default on my backpack.
[](data/images/blog/2025/2025-03-25_enchanted-pages_art-in-train.jpg)
_Finishing an artwork with the Deco in the train._
## 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.
[](data/images/blog/2025/2025-03-04_device-default.jpg)
_Default buttons layout when connected to a GNU/Linux machine_
## The proprietary driver
I have not tested or used the Linux 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](https://gitlab.freedesktop.org/libevdev/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)](https://gitlab.freedesktop.org/whot) and [Benjamin Tissoires (bentiss)](https://gitlab.freedesktop.org/bentiss) who manage the project. I opened a new [thread with all the Deco 01V3 specifications](https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/-/issues/54). Peter then wrote [the merge request 185](https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/-/merge_requests/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](https://libevdev.pages.freedesktop.org/udev-hid-bpf/installing-from-ci.html).
### Issue: Second Stylus Button Hardcoded Erase Mode
As a device compliant with [a Microsoft stylus standard](https://learn.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-designs), one of the two buttons of the stylus will switch to a eraser mode by default. On Linux, this behavior was implemented at a kernel level and no graphical or cli tool can customize this behavior. That's why the button might appear as customizable on the GUI of Plasma on Wayland, or GNOME on Wayland, or X11 xsetwacom CLI tools, but it will not be possible to change this hardcoded eraser mode into, let say a simple right-click.
When this new behavior appeared, every tablets started to receive a custom fix: remove the hardcoded eraser mode and replace them by a customizable button. But after too many devices reported, it was decided to handle the problem differently: [a merge request for libinput](https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1158) with a code that would allow the user to make the hardcoded Erase Mode map-able as a button. Unfortunately, it might take a long time before reaching the end user: the merge request needs to be accepted on libinput and merged, then a libinput release needs to be made with the new code, then the distribution needs to package this new version of libinput on their update, then the desktop environment like GNOME or WAYLAND will probably need to adapt their System Settings GUI for the tablet to offer this new option.
In short, while it's probably a change that is brilliant on the long term, it will probably benefit the Fedora and Arch user first in a optimistic 6 month from now, and 2 years for Debian or Ubuntu-based users.
### Temporary workaround for the second button
The developer Nicholas Lapointe patched the BPF rules to turn the second button of the stylus into a right-click by default. To apply the patch manually:
1. Get a packaged version of [the latest udev-hid-bpf](https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/-/releases) (eg. udev-hid-bpf_2.1.0-20240704.tar.xz )
2. Unpack it (don't execute yet the `./install.sh`).
3. [Download the patch of Nicholas as a tar.gz](data/images/blog/2025/2025-04-04_XPPen_Deco01V3_BPF_second-stylus-button-rightclick_by_Nicholas-Lapointe.tar.gz), extract the files. You'll get two BPF files to paste or overwrite in udev-hid-bpf (target subdirectory lib/firmware/hid/bpf).
4. When everything is patched, launch at root of the udev-hid-bpf the script `sudo ./install.sh`
5. deconnect the USB-C of your tablet, then reconnect: the second button should be now a right-click by default and you'll be able to customize it (as well as the button of the pad on the tablet).
**Source code of the patch**: The patch here are already compiled files, if you want to build udev-hid-bpf yourself or study the code, you can also download [the source of the patch](data/images/blog/2025/2025-04-06_0010-xppen__deco01v3bpfc_eraser-as-2nd-barrel-btntar.gz).
[](data/images/blog/2025/2025-04-04_screenshot_patching-the-deco01v3-bpf.jpg)
_The two files extracted on the archive (bottom right) ready to be drag and drop on the executable (windows of top-left)._
## 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).
[](data/images/blog/2025/2025-03-04_kde-6-3-gui-all.jpg)
_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 from https://github.com/linuxwacom/libwacom/tree/master/data because the graphical user interface requires such files. Future release of libwacom will get those files by default, but waiting for the future release, you can install them manually. Because without it, the tablet in the system settings will [look like that](data/images/blog/2025/2025-03-04_gnome_ui.jpg) and it's not useful.
- Download [the .tablet file here](https://github.com/linuxwacom/libwacom/blob/450748bb1c37b34823644fa781ee4264c7f86334/data/xp-pen-deco01-v3.tablet)
- Download [the layout .svg here](https://github.com/linuxwacom/libwacom/blob/450748bb1c37b34823644fa781ee4264c7f86334/data/layouts/xp-pen-deco01-v2.svg)
Then copy the .tablet file in `/usr/share/libwacom/` and the layout in `/usr/share/libwacom/layout/` , after a reboot you'll get the control for your tablet.
**Notes:**
- It works for the **Wayland session only** and on GNOME superior to 47.4
- The GNOME user inteface for tablet configuration is basic: no possibilities to assign a Ctrl, Alt or Shift modifier to the stylus button and there is no pressure curves.
[](data/images/blog/2025/2025-03-07_gnome-ui_update1_net.jpg)
_The GUI overlay to edit button, the SVG layout is required for this._
[](data/images/blog/2025/2025-03-07_gnome-ui_update2.jpg)
_Assigning a keystroke to a stylus button_
[](data/images/blog/2025/2025-03-07_gnome-ui_update3.jpg)
_screenshot of the tablet system settings of GNOME 47.4 Wayland (Fedora)_
### On X11
That's the method I used for the demo video on [My Debian KDE Plasma 12](https://www.davidrevoy.com/article1030/debian-12-kde-plasma-2024-install-guide), and what I would recommend. But it's not user friendly with the command line and the creation of the script, and X11 is in end of life so I understand if newcomers to GNU/Linux don't feel motivated to learn a practice that might become totally obsolete in the next two years from now.
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 and pad listed if you write in a terminal:
```
$ xsetwacom --list
```
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.
**Idea of contribution:**
- A better .svg file for libwacom project: the current one is basic, and a drawing of the device and rounded button could look so much better.
WRITTEN_BY David REVOY -
-
137 comments
After using their browser for over 20 years, it's painful to admit, but I've grown tired of Mozilla. The recent debacle around their [TOS update](https://arstechnica.com/tech-policy/2025/02/firefox-deletes-promise-to-never-sell-personal-data-asks-users-not-to-panic/), their [departure from the Fediverse](https://techcrunch.com/2024/09/17/mozilla-exits-the-fediverse-and-will-shutter-its-mastodon-server-in-december/), and their apparent embrace of AI bro culture and corporate marketing have made my Firefox icon feel increasingly out of place on my GNU/Linux OS.
I decided to search for alternatives, but unfortunately, there aren't many options available. You're mostly limited to Chrome derivatives or Firefox derivatives. However, I stumbled upon [LibreWolf](https://librewolf.net/), a fork of Firefox that caught my attention. LibreWolf is described as "A custom version of Firefox, focused on privacy, security and freedom" which resonates with me.
Installing LibreWolf on [my Debian](https://www.davidrevoy.com/article1030/debian-12-kde-plasma-2024-install-guide) was surprisingly simple, and migrating my profile was as easy as copying the contents of my ~/.mozilla/firefox preferences into the active profile of ~/.librewolf. It felt like home, as it's essentially Firefox.
However, I encountered an issue while configuring it to my liking, and after struggling for more than 1 hour, I was on the verge of giving up. Fortunately, I found [a solution](https://codeberg.org/librewolf/issues/issues/1434#issuecomment-2908567) to my DRM issue thanks to the help of Cherryband in the Pepper&Carrot chat room.
One thing to keep in mind if you're considering trying LibreWolf is that it has all security and privacy options enabled by default, which may not be the most user-friendly experience. You won't be pampered with a one-click installation for all. Instead, you'll need to take the time to review the documentation and set up the security and privacy features that you're willing to trade off for comfort and convenience.
So far, the experience has been educational, and I'll see if I decide to stick with LibreWolf in the long term.
[Comic source here](https://www.peppercarrot.com/en/viewer/misc__2025-02-27_How-my-Firefox-became-a-LibreWolf_by-David-Revoy.html)
**Update 2025 May 5:**
After a series of significant papercuts with Librewolf that affected many parts of my web browsing experience and administrative paperwork, I decided to switch back to Firefox. I tried really hard to make it work, spending extra hours trying to figure out what part of my librewolf.overrides.cfg was not surviving updates, but I couldn't find it.
In the end, I had to choose between investing my time in tweaking a web browser or doing more drawing. Still, I am happy with the two months of using LibreWolf, it has been very educational about the various privacy options the main Firefox has. I'm now back to Firefox with more knowledge in this area.