How to attach drawing tablet to a qube?

I have an XP-PEN Deco 01 V2 device. I plug it to my Thinkpad X230 running QubesOS 4.1. Then, using the “Qubes Devices” tray icon tool, I assign it to one of my qubes based on debian 12 running Linux kernel 6.1.43-1.qubes.fc32.x86_64.

However, when I check the available input devices in that qube using xinput command, I do not see my drawing tablet in there.

I cannot draw using the drawing tablet and its pen on the xournal program.

How do I get this working together? Is it a kernel issue with the 6.1? Because I heard that the driver support is added to kernel 6.2 recently. Source: XP-PEN Deco 01 V2 Drawing Tablet Support Added To Linux 6.2 - Phoronix

However, I also see some other posters in this forum reporting some other XP-PEN drawing tablet hardware working out of the box: Attention designers: What drawing tablet are you using with Qubes? - #2 by VPeterson

So I am confused as to how to get QubesOS 4.1 working with th XP-PEN Deco 01 V2 model hardware.

Did you try workarounds from this topic? Connecting GrapheneOS phone to Qubes

1 Like

I skimmed through the thread but I am not sure which workarounds you have in mind when you are referring to me.

Are you hinting at assigning as device one of the USB ports to the specific qube?

Alright. Instead of attaching the USB drawing tablet to a qube, I have made drawing tablet I mentioned in my OP passthrough its inputs to dom0. That way, I am able to move to the target qube with a drawing whiteboard program running in, and draw on it.

I suppose I am a bit risking myself while I do a hardware passthrough to dom0. However, I think I can pay for that tradeoff in return getting me some cool whiteboard annotations via my drawing tablet.

I am doing the hardware passthrough to dom0 from a cloned and isolated version of sys-usb, anyways—I named it “usb-keyboard” qube, which is a clone of sys-usb, but with only certain USB port hardware assigned to it.

That way, I have a separation between which USB ports have passthroughs to dom0 and which don’t (and these get to be used as normal USB storage/stick device usecases).

In order to get the USB passthrough working with the drawing tablet, I had to modify the /etc/qubes-rpc/policy/qubes.InputTablet file as the following:

usb-keyboard dom0 allow
$anyvm $anyvm deny

The usb-keyboard is the name of the “sys-usb” clone of mine, which only contain the devices that I passthrough to dom0 (previously it was only my USBkeyboard device (check out my post history in this forum) and now it is also this drawing tablet).

After this, the mentioned drawing tablet works without needing to install some proprietary drivers.


Let me know if I am making a horrible mistake and shooting myself in the foot this way (privacy/securiy-wise).

1 Like
  1. Doing everything in sys-usb.

  2. Passing the whole USB controller to a VM, which you want to use for that.

I saw this recommendation a few times. But the meaning is unclear to me. Do you mean, I should run the xournal program inside the sys-usb qube and using the drawing tablet inside sys-usb qube itself?

One security implication of your solution is that if the tablet contains, e.g. malicious firmware or someone implants a malicious module into it, then, as a dom0 keyboard, it can compromise your entire system.

If it’s possible to just do all your stuff inside your “sys-keyboard” qube then that would certainly be preferable.

1 Like

yeah, I am aware of that. That is one risk that I am taking, in order to have a more productive work setup with my QubesOS.

Yes, you could use your device inside sys-usb.