XP-Pen Deco 01 tablet has no pressure sensitivity on linux #62185

Open
opened 2019-03-04 17:49:55 +01:00 by Michael D. · 21 comments

System Information
Operating system: Linux (tested on Slackware 14.2, Debian 8)

Blender Version
Tested both 2.80 (March 04, 16:48:10 - 3730d16347) and 2.79

Short description of error
Currently on linux the XP-Pen Deco 01 tablet seems to have no pressure sensitivity in blender.
Other applications work fine (MyPaint, Krita, Gimp).

I'm using the official driver (https://www.xp-pen.com/download/index/cid/36.html - although i tried it without as well, no change (without, only MyPaint works, Krita/Gimp need the driver)).

Looking through xinput, i noticed that it lists the device as "UGTABLET DECO 01" twice, also there's an "XPPEN Tablet" entry which only shows when the driver is running.
Both "UGTABLET DECO 01" entrys list pressure for some reason. Although just the pen should have pressure (this isn't a touch device).

One lists it as
Label: Abs Pressure
Range: 0.000000 - 2047.000000

The other
Label: Abs Pressure
Range: 0.000000 - 8191.000000

I'm assuming the last one is the pen (it's advertised as 8000 pressure levels). Could it be that blender mistakenly reads the wrong of the 2 values?

Also borrowed an XP-Pen Artist 13.3 (a "cintiq like" monitor with tablet) from a friend, to see if it's just this XP-Pen model, and it has the same issue (and also shows up twice).

Attached the long xinput output.

Exact steps for others to reproduce the error
In the image editor, new texture > paint mode. Brush does not react to pressure.xinput-long.txt

**System Information** Operating system: Linux (tested on Slackware 14.2, Debian 8) **Blender Version** Tested both 2.80 (March 04, 16:48:10 - 3730d16347a5) and 2.79 **Short description of error** Currently on linux the XP-Pen Deco 01 tablet seems to have no pressure sensitivity in blender. Other applications work fine (MyPaint, Krita, Gimp). I'm using the official driver (https://www.xp-pen.com/download/index/cid/36.html - although i tried it without as well, no change (without, only MyPaint works, Krita/Gimp need the driver)). Looking through xinput, i noticed that it lists the device as "UGTABLET DECO 01" twice, also there's an "XPPEN Tablet" entry which only shows when the driver is running. Both "UGTABLET DECO 01" entrys list pressure for some reason. Although just the pen should have pressure (this isn't a touch device). One lists it as Label: Abs Pressure Range: 0.000000 - 2047.000000 The other Label: Abs Pressure Range: 0.000000 - 8191.000000 I'm assuming the last one is the pen (it's advertised as 8000 pressure levels). Could it be that blender mistakenly reads the wrong of the 2 values? Also borrowed an XP-Pen Artist 13.3 (a "cintiq like" monitor with tablet) from a friend, to see if it's just this XP-Pen model, and it has the same issue (and also shows up twice). Attached the long xinput output. **Exact steps for others to reproduce the error** In the image editor, new texture > paint mode. Brush does not react to pressure.[xinput-long.txt](https://archive.blender.org/developer/F6760428/xinput-long.txt)
Author

Added subscriber: @CanOfColliders

Added subscriber: @CanOfColliders
Michael D. changed title from XP-Pen Deco 01 tablet has no pressure sensitiviy on linux to XP-Pen Deco 01 tablet has no pressure sensitivity on linux 2019-03-04 18:07:21 +01:00

Added subscriber: @brecht

Added subscriber: @brecht

Are you using the builds from https://builder.blender.org/download/? Can you mention the exact version you tested?

Are you using the builds from https://builder.blender.org/download/? Can you mention the exact version you tested?
Author

Yes, i was using 2019-03-04 14:25 f4677547d4, just upgraded it to March 04, 16:48:10 - 3730d16347, same issue.

Yes, i was using 2019-03-04 14:25 f4677547d430, just upgraded it to March 04, 16:48:10 - 3730d16347a5, same issue.
Author

I just tried a few different machines and on one of them the pressure did work in blender. The only difference to the others i could tell was that this one was not on an LTS kernel (my desktop runs on 4.4.172, which is also an LTS release from january 30).

So i just setup 2 vms, debian 9 stable (4.9.0-8) and debian 8 lts (3.16.0-6). Both fresh installs, updated today. Same issue. In 9 it works, in 8 LTS it does not. This only affects blender apparently (other painting apps do work with pressure on both).

Noticed on xinput list that on 9, where it does work, it shows up as 3 devices sharing the same name (2x as a virtual core keyboard, once as a virtual core pointer). Where as on the ones where it does not work, it only shows twice as a pointer, no keyboard entry at all.

I just tried a few different machines and on one of them the pressure did work in blender. The only difference to the others i could tell was that this one was not on an LTS kernel (my desktop runs on 4.4.172, which is also an LTS release from january 30). So i just setup 2 vms, debian 9 stable (4.9.0-8) and debian 8 lts (3.16.0-6). Both fresh installs, updated today. Same issue. In 9 it works, in 8 LTS it does not. This only affects blender apparently (other painting apps do work with pressure on both). Noticed on `xinput list` that on 9, where it does work, it shows up as 3 devices sharing the same name (2x as a virtual core keyboard, once as a virtual core pointer). Where as on the ones where it does not work, it only shows twice as a pointer, no keyboard entry at all.

You could try running xinput test-xi2 and draw with the tablet a bit, to figure out which the device it is that we should be reading the pressure from.

You could try running `xinput test-xi2` and draw with the tablet a bit, to figure out which the device it is that we should be reading the pressure from.
Author

Okay i just tried it. All the pressure seems to come from the XPPEN Tablet, which is unique and created when the XP-Pen driver software is open/running. Don't see any change at all from the multiple UGTABLET DECO 01 entrys.

EVENT type 6 (Motion)
	device: 19 (19)
	detail: 0
	flags: 
	root: 1256.20/724.87
	event: 76.20/109.87
	buttons: 1
	modifiers: locked 0x10 latched 0 base 0 effective: 0x10
	group: locked 0 latched 0 base 0 effective: 0
	valuators: 
		2: 8191.00
	windows: root 0x1f2 event 0x6000001 child 0x0

The valuators value goes smoothly up and down up if i press down with the pen.
Device ID 19 was

⎜ ↳ XPPEN Tablet id=19 [slave pointer (2)]

Okay i just tried it. All the pressure seems to come from the `XPPEN Tablet`, which is unique and created when the XP-Pen driver software is open/running. Don't see any change at all from the multiple `UGTABLET DECO 01` entrys. ``` EVENT type 6 (Motion) device: 19 (19) detail: 0 flags: root: 1256.20/724.87 event: 76.20/109.87 buttons: 1 modifiers: locked 0x10 latched 0 base 0 effective: 0x10 group: locked 0 latched 0 base 0 effective: 0 valuators: 2: 8191.00 windows: root 0x1f2 event 0x6000001 child 0x0 ``` The `valuators` value goes smoothly up and down up if i press down with the pen. Device ID 19 was `⎜ ↳ XPPEN Tablet id=19 [slave pointer (2)]`
Member

Added subscriber: @Jeroen-Bakker

Added subscriber: @Jeroen-Bakker
Member

Changed status from 'Confirmed' to: 'Needs Developer To Reproduce'

Changed status from 'Confirmed' to: 'Needs Developer To Reproduce'
Member

In order to add support for specific device we need to be able to have access to the device. So marking this for now as Known Issue, with low priority and needs developer to reproduce.

In order to add support for specific device we need to be able to have access to the device. So marking this for now as Known Issue, with low priority and needs developer to reproduce.

Added subscriber: @rjg

Added subscriber: @rjg

Changed status from 'Needs Developer To Reproduce' to: 'Needs User Info'

Changed status from 'Needs Developer To Reproduce' to: 'Needs User Info'

@Jeroen-Bakker The triagers are currently in the process of cleaning up old tickets. I don't think this should be marked as a known issue and given a priority unless the ticket is confirmed, based on current bug tracker policies.

@CanOfColliders Is this still a problem with current drivers for the tablet and Blender 2.91 or 2.92 ?

@Jeroen-Bakker The triagers are currently in the process of cleaning up old tickets. I don't think this should be marked as a known issue and given a priority unless the ticket is confirmed, based on current bug tracker policies. @CanOfColliders Is this still a problem with current drivers for the tablet and Blender [2.91 or 2.92 ](https://builder.blender.org/download/)?
Author

@Jeroen-Bakker I'm sorry i must have missed the notification for this in january. I still have the xp-pen deco stashed away, and would be willing to donate it to any dev that wants to toy with it more, but from my point of view this can be closed.

@rjg It sort of works. After lots of back and forth my solution eventually ended up being a rule for xorg to match the usbid and force it to use the wacom driver there (and not even attempting to work with the official xp-pen linux driver anymore). This somehow worked fine in blender (and everywhere else, pressure and everything). Not ideal of course.
I did however in the meanwhile switch to a different (HUION kamvas 22 plus) tablet so i'm not entirely sure if something changed.

@Jeroen-Bakker I'm sorry i must have missed the notification for this in january. I still have the xp-pen deco stashed away, and would be willing to donate it to any dev that wants to toy with it more, but from my point of view this can be closed. @rjg It sort of works. After lots of back and forth my solution eventually ended up being a rule for xorg to match the usbid and force it to use the wacom driver there (and not even attempting to work with the official xp-pen linux driver anymore). This somehow worked fine in blender (and everywhere else, pressure and everything). Not ideal of course. I did however in the meanwhile switch to a different (HUION kamvas 22 plus) tablet so i'm not entirely sure if something changed.

We've fixed these types of issues before without access to the device, it's really the only practical way without buying dozens of tablets.

When I last looked at this the xinput output did not seem to have enough info to figure out the right fix for this case, which is the value corresponding to XDeviceInfo.type.

The better fix here is probably to change the logic we have for detecting which devices are tablets from the code we copied from Wine, to e.g. the same logic as in the latest Qt code. The risk with such a change is that it may break other devices and so you'd have to be prepared to handle bug reports related to that.

We've fixed these types of issues before without access to the device, it's really the only practical way without buying dozens of tablets. When I last looked at this the `xinput` output did not seem to have enough info to figure out the right fix for this case, which is the value corresponding to `XDeviceInfo.type`. The better fix here is probably to change the logic we have for detecting which devices are tablets from the code we copied from Wine, to e.g. the same logic as in the latest Qt code. The risk with such a change is that it may break other devices and so you'd have to be prepared to handle bug reports related to that.

@brecht Should this be set to confirmed and known issue then?

@brecht Should this be set to *confirmed* and *known issue* then?

Changed status from 'Needs User Info' to: 'Confirmed'

Changed status from 'Needs User Info' to: 'Confirmed'

Yeah, I think it can be a low priority known issue, as a task to revise detection in general, or find a specific tweak for this tablet.

Yeah, I think it can be a low priority known issue, as a task to revise detection in general, or find a specific tweak for this tablet.

Added subscriber: @Harti

Added subscriber: @Harti

Is this bug maybe related to all those issues over here https://developer.blender.org/tag/wintab_high_frequency/ ?

Is this bug maybe related to all those issues over here https://developer.blender.org/tag/wintab_high_frequency/ ?

No, it's unrelated to the Windows implementation.

No, it's unrelated to the Windows implementation.
Philipp Oeser removed the
Interest
Sculpt, Paint & Texture
label 2023-02-10 09:12:50 +01:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#62185
No description provided.