no pressure sensitivity with wacom tablet in inkscape

Bug #790130 reported by Richard Wonka on 2011-05-30
220
This bug affects 43 people
Affects Status Importance Assigned to Milestone
Inkscape
Medium
Unassigned
overlay-scrollbar
Undecided
Unassigned
inkscape (Ubuntu)
Low
Unassigned

Bug Description

Binary package hint: inkscape

I am using inkscape 0.48 with a wacom pen & touch (CTH-460/k)

I have been using this combination before and everything was working fine, but - probably - since the upgrade to natty pressure sensitivity does not work any more, whereas it is working fine, e.g. in the gimp.

I have double- and triple-checked the settings. The tablet is recognised and everything is enabled and set to "screen". Yet, no joy.

I'd like to work with this again, as this is a productive envrionment...

ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: inkscape 0.48.1-2ubuntu2
ProcVersionSignature: Ubuntu 2.6.38-9.43-generic 2.6.38.4
Uname: Linux 2.6.38-9-generic x86_64
Architecture: amd64
Date: Mon May 30 15:56:52 2011
InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Release amd64 (20101007)
SourcePackage: inkscape
UpgradeStatus: Upgraded to natty on 2011-03-18 (72 days ago)

Richard Wonka (richard-wonka) wrote :
su_v (suv-lp) on 2011-05-30
tags: added: tablet
Ualpa (superualpa) wrote :

I am experiencing the same problem: Ubuntu 11.04 + Inkscape 0.48.1 r9760 + Wacom CTH460 Bamboo Pen & Touch = no pressure sensitivity.

In Gimp and MyPaint pressure sensitivity is ok.

Confirming. Intuos 3.

I have typed out sixteen or seventeen comments of rage but deleted them all.

Extremely frustrated. Probably Ubuntu.

su_v (suv-lp) wrote :

Changing status to 'Confirmed' based on user reports.

Changed in inkscape:
importance: Undecided → Medium
status: New → Confirmed
Stefan Zeyen (stefan-zeyen) wrote :

Same Problem here.

Ubuntu Natty amd 64,
Inkscape 0.48.1 r9760
Wacom P&T Cth 460

Interested in a work around if anyone has one to offer.

tags: removed: running-unity unity-2d
Changed in inkscape (Ubuntu):
status: New → Confirmed
importance: Undecided → Low
Richard Wonka (richard-wonka) wrote :

might this be related to #762938 somehow? wacom tablets have lost pressure sensitivity in qt applications around the same time....

ScislaC (scislac) wrote :

Probably, my Intuos 2 seems to work fine here in Oneiric.

Richard Wonka (richard-wonka) wrote :

Okay, I have found something out.

I was reinstalling natty today (new harddrive, same 'puter) and found that inkscape was giving me pressure sensitivity. It was working.

Then I used apt-clone to get all the installs from my old system. Which installed huge numbers of packages and a new kernel - will try to get a list of all of them..

NOW inkscape is back to the buggy behaviour. No pressure sensitivity.

So it looks like this bug is either in a recent kernel or an allergy to another package.

The attached log file contains all packages that have been installed on this system until today.

The interesting lines are from 2011-06-24 When it worked earlier in the day as soon as I had installed inkscape (running the kernel that had come with the live/install system from USB) and stopped working some time after running apt-clone.

monkey_boy (bobby-dogboneinc) wrote :

Same problem

Natty 64 bit
Inkscape 0.48

jorge (xxopxe) wrote :

Same here with a Bamboo Fun tablet, used to work.

Magnes (magnesus2) wrote :

I confirm. The same with Acecad tablet (acecad drivers - but they are almost the same as wacom, and it works on wacom drivers too).

Anders Svedberg (j-anders) wrote :

See this thread, same problem. Seems like they have found the problem at least.
http://ubuntuforums.org/archive/index.php/t-1771865.html

Morgatron (morgan-hedges) wrote :

I have the same problem both under windows and Ubuntu 11.10, both version 0.48.2. Pressure sensitivity works fine in other apps, and using the test panel in Inkscape->Input Devices indicates it's getting the right information. No pressure sensitivity is apparent when drawing lines using the calligraphy tool.
I'm using a Fujitsu Lifebook T4220.

Richard Wonka (richard-wonka) wrote :

Bump.

I s anything happening on this? I would like to use my computer for graphics work again...

How can I help?

Richard Wonka (richard-wonka) wrote :

Still no pressure goodness in oneiric beta2

PeterKnaggs (peter-knaggs) wrote :

I found that compiling Inkscape from source (rather time-consuming,
even on an i3 processor) gets the pen pressure working again for
a Wacom Intuos4 "small" tablet.

The steps to build from source are described on the Inkscape wiki
  http://wiki.inkscape.org/wiki/index.php/Compiling_Inkscape#Developer_Compilation
but since they're a little "thin" for Ubuntu, I include the steps I took below,
on Ubuntu Natty 11.04, in case it helps anyone.

I noticed that the problem is still not fixed in the now-released
Ubuntu 11.10 Oneiric Ocelot (as mentioned by Richard), and even
worse, the gimp is having problems (mysterious horizontal lines
appearing for no reason), which is sad. So I opted
to remain on Natty 11.04 and just build Inkscape from source.

To perform a debug build of Inkscape (on Ubuntu Natty 11.04),
to get pen pressure working properly, I proceeded as follows:

mkdir $HOME/inkscape_my_build
cd $HOME/inkscape_my_build
mkdir build-gcc build-g++

# Install as many of the build dependencies as possible...
sudo apt-get build-dep inkscape

# Install some more build dependencies, I might have missed some...
sudo apt-get install rcs libtool libgc-dev intltool libglib2.0-dev
sudo apt-get install libpng12-dev libfreetype6-dev liblcms1-dev liblcms1
sudo apt-get install gir1.2-gtk-2.0 gawk g++ ccache

# Get all of the source code, from the bzr code repository.
sudo apt-get install bzr
bzr branch lp:inkscape

cd inkscape
libtoolize --copy --force
./autogen.sh
cd ../build-gcc
CFLAGS='-g -O0 -Wall' CC='ccache gcc' ../inkscape/configure
cd ../build-g++
CXXFLAGS='-g -O0 -Wall' CXX='ccache g++' ../inkscape/configure
cd ../build-gcc && make -j 3
cd ../build-g++ && make -j 3

If everything worked properly, and you didn't get any
error messages (google for them if you did, or look in
the log files mentioned by the build output, to try to
figure out the missing package), four new executables appear:

$HOME/inkscape_my_build/build-g++/src/inkscape
$HOME/inkscape_my_build/build-g++/src/inkview
$HOME/inkscape_my_build/build-gcc/src/inkscape
$HOME/inkscape_my_build/build-gcc/src/inkview

You can try out Inkscape at this point to see if the pen
pressure is working for you, just by running the following
command (the icons will be all replaced by "missing" symbols,
since the program isn't fully "installed" yet).

$HOME/inkscape_my_build/build-gcc/src/inkscape

If you're feeling brave, you can install the program (so that
it appears with all the pretty icons and things we're used to
seeing with the packaged Inkscape), as follows:

cd $HOME/inkscape_my_build/build-gcc
sudo make install

Then to run it, you can use:

/usr/local/bin/inkscape

(at this point, "Help"->"About Inkscape" shows "Inkscape 0.48+devel r"
 in the top-right corner of the window).

Obviously, it'd just be a stopgap measure, since I guess an arbitrary
development build of Inkscape would hardly be the most stable thing
to use, but we could perhaps figure out how to download
the sources of the stable release and build those, to give it a try.

PeterKnaggs (peter-knaggs) wrote :

Hmmm... it seems that "sudo make install" causes the pen pressure
to stop working again, errp! So don't do that step!

It seems there's something that "sudo make install" puts into the
  /usr/local/share/inkscape/palettes directory
that makes the pen pressure stop working, because if I just
completely remove the palettes directory again using
  rm -rf /usr/local/share/inkscape/palettes
the pen pressure is working again... weird.
Perhaps Inkscape wants us to stick to monochrome?

PeterKnaggs (peter-knaggs) wrote :

Ahh, perhaps we're on to something here: I noticed that if
I choose e.g. the "Echo Icon Theme Palette" instead of using
the "Inkscape default" palette (by clicking on the tiny palette
selection arrow just to the right of the palette rectangle, which
is the thing just below the drawing area), then the pen pressure
works fine! I can even select various colors for the squiggles I've drawn.
But if I go and choose the "Inkscape default" palette, or the "Greens"
palette, then the pen pressure is gone forever (at least until I switch
back to the "Echo Icon Theme Palette", and restart Inkscape.
This might be a more tractable bug for the Inkscape developers
to look into (assuming they can reproduce the behavior on some
pressure-sensitive tablet).

The "Inkscape default" palette corresponds to either
  /usr/local/share/inkscape/palettes/inkscape.gpl
or
  /usr/share/inkscape/palettes/inkscape.gpl
depending on whether we're using the build-from-source
or the Ubuntu package, respectively, which was why simply
removing the entire "palettes" directory brought the pen
pressure back again.

Richard Wonka (richard-wonka) wrote :

Much kudos, Peter! - Will see if I can reproduce the palette trick on oneiric.

PeterKnaggs (peter-knaggs) wrote :

I haven't installed Oneiric anywhere yet, but booting it from the live CD and
installing Inkscape, it doesn't look like the "palette trick" I mentioned earlier
is any help in Oneiric: the pen pressure is still missing (even though the "test
area" shows it is being sensed just fine). So perhaps the palette trick only
works in Natty. I'll have to delve into the source, to see why the palette trick
even works, pen pressure should not be related to which palette is in use.

PeterKnaggs (peter-knaggs) wrote :

Investigating the missing "pressure" when palette changes.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Looking into the source code, the relevant files seem to be as follows:

./ui/dialog/swatches.cpp - swatch changes
./widgets/toolbox.cpp - usepressure (see "Use the pressure of the input device")
./dyna-draw-context.cpp - (see "Influence of pressure on thickness")

Using gdb to attach to the inkscape process, and putting a breakpoint on
dyna-draw-context.cpp at the line 437 just after the line where the pressure
value is determined
  double pressure_thick = (dc->usepressure ? dc->pressure : 1.0);
we see that normally (e.g. when using the "Auto" palette), the values are OK:

Breakpoint 1, sp_dyna_draw_brush (event_context=0x3fbc120, event=0x3ce61c0)
    at ../../inkscape/src/dyna-draw-context.cpp:438
438 Geom::Point brush_w = SP_EVENT_CONTEXT(dc)->desktop->d2w(brush);
(gdb) print pressure_thick
$3 = 0.10400390625
(gdb) cont
Continuing.

But after switching to the "Inkscape default" palette and back again
to the "Auto" palette, the pressure_thick is "stuck" at 1 all the time,
because even though dc->usepressure is TRUE, the dc->pressure value
is "stuck" at 1. Why?

Breakpoint 1, sp_dyna_draw_brush (event_context=0x3fbc120, event=0x41c5b40)
    at ../../inkscape/src/dyna-draw-context.cpp:438
438 Geom::Point brush_w = SP_EVENT_CONTEXT(dc)->desktop->d2w(brush);
(gdb) print pressure_thick
$17 = 1
(gdb) cont
Continuing.

PeterKnaggs (peter-knaggs) wrote :

Debugged a bit further: seems that what's happening is that the
call to gdk_event_get_axis around line 308 of dyna-draw-context.cpp

static void
sp_dyna_draw_extinput(SPDynaDrawContext *dc, GdkEvent *event)
{
    if (gdk_event_get_axis (event, GDK_AXIS_PRESSURE, &dc->pressure))
        dc->pressure = CLAMP (dc->pressure, DDC_MIN_PRESSURE, DDC_MAX_PRESSURE);
    else
        dc->pressure = DDC_DEFAULT_PRESSURE;

isn't finding the GDK_AXIS_PRESSURE axis any more,
after Inkscape switches to the "Inkscape default" palette.

The gdk_event_get_axis documentation doesn't give much hints on
why an axis would suddenly no longer be found, so I guess something
got clobbered somewhere when Inkscape switched palettes.

http://developer.gnome.org/gdk/stable/gdk-Events.html#gdk-event-get-axis

But anyways, with a bit more time I might be able to track down which bit
of code is doing the clobbering, it's probably somewhere in ui/dialog/swatches.cpp
when it loads these special (larger?) kinds of palettes, but anyways at least we can
provide the developers a more useful bug report, by explaining that if they put a
breakpoint on the line 311 of dyna-draw-context.cpp,
  dc->pressure = DDC_DEFAULT_PRESSURE;
on a system where we know pen pressure is working properly, then that
breakpoint should NEVER trigger. But it does!

The Inkscape code seems a little bit too trusting of the gdk_event_get_axis result:
it hardly makes much sense for the GDK_AXIS_PRESSURE axis to be found OK earlier,
then have it suddenly "vanish". I guess there should be some kind of popup message
telling the user something like "Your device has mysteriously stopped providing any
pen pressure information. Please check the gdk_event_get_axis call is working properly."

Monstara (monstara) wrote :

I am experiencing this in 64-bit Oneiric. Alas, switching the palette does not help.

Monstara (monstara) wrote :

Unfortunately, building from source does not alleviate the problem, either.
Peter thank you very much for the compile instructions, and for the debugging effort.
How do I run Inkscape in debug mode? I installed it according to your instructions but I see no debug messages.
I also see some cool new features :)

The very strange thing is that in the Hardware tab I see the z axis of the tablet working properly...

the dsc (the-dsc) wrote :

I think that there's the possibility of something highly misleading going on.

What happens with me (perhaps it's also the case with everyone, but went unnoticed) is that pressure sensitivity does work, but, contrarily to what the "input devices" settings panel says, it *does not* require restart, and will *actually stop working* after restarting, regardless of pressing "save" on that panel. In other words, pressure sensitivity has to be re-enabled every time, which is a bug anyway.

If one just believes what the panel says and does not bother testing the pressure sensitivity without restarting (which is perhaps the most sane thing to do really), it would look as if it never has pressure sensitivity at all, when in fact it does, so perhaps that's what happening with everybody. But it could be two independent bugs, anyway.

I'm using Debian testing, Inkscape is 0.48, either from testing or sid repositories, I'm not sure.

Ben A (8-roothorick-gmail-com) wrote :

WORKAROUND GET

I changed the palette to the Echo Icon Theme Palette and that didn't fix anything. But I noticed that that palette doesn't produce a scrollbar, and a lightbulb went on in my head. So after a little googling, I:

# sudo apt-get remove liboverlay-scrollbar-0.2

And now Inkscape (along with everything else) has plain-jane GTK scrollbars, but pressure sensitivity works!

Ben A (8-roothorick-gmail-com) wrote :

It'd probably be good to mention I'm running Precise, not Natty... still worth a shot I think.

ScislaC (scislac) wrote :

To avoid uninstalling anything you can use the following in a terminal to disable the overlay scrollbars for any apps you run after it:

export LIBOVERLAY_SCROLLBAR=0

You could then just run "inkscape" from within that terminal and have pressure sensitivity.

Henrik Lidbjörk (lie-b) wrote :

I'm running Inkscape 0.48 on Ubuntu Precise 12.04 and I'm having the same problem. Pressure sensitivity always shows in test box, but only works when disabling overlay scrollbars as per ScislaC's post.

The palette trick did not work for me, neither did clicking around in the input devices dialog.

Henning Pingel (henningpingel) wrote :

Workaround described in #29 works for me.

ScislaC (scislac) on 2012-06-03
Changed in ayatana-scrollbar:
status: New → Confirmed
Dmitriy Larchenko (neokril) wrote :

Henrik, I'm using the same versions of Inkscape and Ubuntu. It appears that input from tablet is disabled by default in Inkscape settings. I had to manually set option "Wacom bamboo pen stylus" to "Screen" to enable pressure sensitivity (and it works without disabling overlay scrolls).

Dražen Lučanin (kermit666) wrote :

Also confirming that disabling the overlay scrollbars, as per comment #29, fixes the issue. I'm running Precise and a Wacom Bamboo CTH-670 tablet.

Prunus dulcis (prunus-dulcis) wrote :

Can also confirm that
export LIBOVERLAY_SCROLLBAR=0
restores otherwise not functioning pressure sensitivity in inkscape.

I can confirm LIBOVERLAY_SCROLLBAR too, should we put it into the
desktop file and pass it over as a patch?

Kirill Poltavets (moolah) wrote :

People, does new beta driver 6.3.4b1 for Wacom help?

Ben A (8-roothorick-gmail-com) wrote :

You must be referring to the first-party driver, which is not available for Linux. Regardless, we've already confirmed that this bug is not driver-related.

Kirill Poltavets (moolah) wrote :

Thanks for the explanation! I'm newbie here :)

Dražen Lučanin (kermit666) wrote :

Is this going to be fixed in the official Ubuntu package soon?

Aaron Wolf (wolftune) wrote :

Workaround from comment #29 worked for me too!

quen_tin (q-ruy) wrote :

For me, workaround #29 works, except then the pointer is decayed: it draws a few centimeters away from the mouse pointer, both vertically and horizontally (but only when using the tablet: the mouse works fine!). The horizontal/vertical decay varies with the position of the cursor on the screen and the size of the inkscape window.

Juan Gómez Carrillo (gcjuan) wrote :

I have solved this problem in Ubuntu 12.04 by two ways:

The first thing that you can do is create an script which disables overlay_scrollbars and after starts Inkscape and the other thing that you can do is uninstall the overlay_scrollbars

1.Create a new empty document and write this code inside of it (whit gedit for example):

export LIBOVERLAY_SCROLLBAR=0
inkscape

After that,rename the empty document to "Inkscape Wacom pressure.sh" (or another name that you want,the important is the ".sh").Afther that,right click in the empty document and,in properties,make the file executable.Whit this done,if you make a double click in the file and press execute,Inkscape will appear and Wacom pressure is going to be allright.

2.Open terminal and paste this:

sudo apt-get remove overlay-scrollbar liboverlay-scrollbar-0.2-0 liboverlay-scrollbar3-0.2-0 (for UBUNTU 12.04)

sudo apt-get remove overlay-scrollbar liboverlay-scrollbar-0.1-0 (for UBUNTU 11.04 and 11.10)

Press enter and when you restart your computer or your session,overlay_scrollbars will be uninstalled and Wacom pressure on Inkscape will be ok.

Jim Newsome (i-jim) wrote :

Ping, since there's been no activity on this for a year.

I had the same issue (tablet pressure not responding despite having configured it), and resolved it with the same workaround (export LIBOVERLAY_SCROLLBAR=0).

I'm running Ubuntu 13.10. I tried both the Inkscape from the package manager (Inkscape 0.48.4 r9939), and building from source (Inkscape 0.48+devel r13185).

Scott Anderson (scott-ohava) wrote :

Same result in 14.04 and Inkscape 0.48.4 r9939 as of this post. (export LIBOVERLAY_SCROLLBAR=0) still works.

Same result in Ubuntu 15.04 with Inkscape 0.91.
Need to disable the overlay scrollbars (I removed the package overlay-scrollbar from my system) to have pressure sensitivity.

Q. Edwards (superherofive) wrote :

Can't get pen pressure working with Wacom Intuos Pen and Touch Medium using Ubuntu Gnome 15.04. Sadly, there isn't an overlay-scrollbar to disable.

silvia (silviacmorales) wrote :

Remove the scrollbars with sudo apt-get remove overlay-scrollbar liboverlay-scrollbar-0.2-0 liboverlay-scrollbar3-0.2-0 make that Inkscape works with pressure, but now the pointer of wacom is displaced in the screen. I tried to recalibrate but it doesn't works

apienk (andrzej-pienkowski) wrote :

The 'sudo apt-get remove overlay-scrollbar' workaround works (except pointer-stroke dislocation) in Ubuntu 16.04 but I can't set mapping to 'Screen', only 'Window' works. I mean I can set it to 'Screen' but it is not effective. When I close the settings window with 'Screen' selected and reopen, the mapping is set to 'Off'. Only 'Window' stays on. This looks like Inkscape is reading cursor position using Screen mapping but Stylus position using Window mapping -- thus the dislocation. Hope that helps.

peter.muster (durtreg) wrote :

This is a bug, that seems unmaintained, the comment of apienk says pretty clearly, that he cannot save the configuration, otherwise it works.

The only thing to do to get it to work under Linux is:
- open ~/.config/inkscape/preferences.xml in a Texteditor
- search for wacom
- and enter mode="screen", in the appropriate section (see below)

This is just a GUI problem at the moment (apart from the overlay-scrollbar thing that does not affect me).

The relevant section in the .xml that works for me now is:
  <group
     id="devices">
    <group
       id="P:Wacom Co.,Ltd. Pen and multitouch sensor Pen stylus"
       mode="screen"
       axes="x;y;pressure;xtilt;ytilt;wheel"
       keys="" />
    <group
       id="E:Wacom Co.,Ltd. Pen and multitouch sensor Pen eraser"
       mode="screen"
       axes="x;y;pressure;xtilt;ytilt;wheel"
       keys="" />
    <group
       id="P:Wacom Co.,Ltd. Pen and multitouch sensor Finger"
       mode="screen"
       axes="x;y;pressure;xtilt"
       keys="" />
  </group>

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers