Installing a “Wacom” graphics / digitizer tablet under Linux.

I’ve just received my “Wacom Intuos PT S 2″ digitizer tablet – aka graphics tablet – which I had specifically bought, because there is some support for the Wacom series of tablets under Linux. I was able to get it working 100%, and also did get the ‘wireless kit’ to work, that I had ordered with it.

Under Linux, we need to have at least these two packages installed, in order to get this hardware to work:

  • ‘xserver-xorg-input-wacom’
  • ‘libwacom2′

If available, the following should also be installed:

  • ‘libwacom-bin’

Additionally I should mention that I did this on the Debian / Stretch computer I name ‘Plato’, on which I have Plasma 5 as my desktop manager. Although Debian and Linux do support Wacom, apparently, Plasma 5 as such does not. This effectively means that individual applications may have tablet-support, but that We’re not given a graphical module for the System Settings panel, from which to customize our tablet. For that reason, I needed to write a shell-script which does this for me:



xsetwacom --set "Wacom Intuos PT S 2 Finger touch" Touch off
xsetwacom --set "Wacom Intuos PT S 2 Pen stylus" Button 2 key "shift"
xsetwacom --set "Wacom Intuos PT S 2 Pen stylus" Button 3 key "ctrl"

xsetwacom --set "Wacom Intuos PT S 2 Pad pad" Button 1 key "button +3"
xsetwacom --set "Wacom Intuos PT S 2 Pad pad" Button 3 key "del"

xsetwacom --set "Wacom Intuos PT S 2 Pad pad" Button 8 key "ctrl" "c"
xsetwacom --set "Wacom Intuos PT S 2 Pad pad" Button 9 key "ctrl" "v"

xsetwacom --set "Wacom Intuos PT S 2 (WL) Finger touch" Touch off
xsetwacom --set "Wacom Intuos PT S 2 (WL) Pen stylus" Button 2 key "shift"
xsetwacom --set "Wacom Intuos PT S 2 (WL) Pen stylus" Button 3 key "ctrl"

xsetwacom --set "Wacom Intuos PT S 2 (WL) Pad pad" Button 1 key "button +3"
xsetwacom --set "Wacom Intuos PT S 2 (WL) Pad pad" Button 3 key "del"

xsetwacom --set "Wacom Intuos PT S 2 (WL) Pad pad" Button 8 key "ctrl" "c"
xsetwacom --set "Wacom Intuos PT S 2 (WL) Pad pad" Button 9 key "ctrl" "v"


Presumably, any other users with Plasma 5 desktop-managers will need to write similar scripts. Simply typing in the command ‘xsetwacom’ without any arguments, will display its basic usage.

It should also be noted, that after an X-server module has been installed, that will act as the input driver, at the very least, the X-server also needs to be restarted, before that driver will be loaded.

(Updated 03/24/2018 : )

(As of 03/13/2018 : )

I find that the tablet works just fine, and is specifically recognized by the following applications, which are installed on ‘Plato’ :

  • GIMP
  • Krita
  • MyPaint
  • OpenBoard ( :1 )
  • Inkscape ( :3 )

Because this way of recognizing the tablet makes it an X-server input pointing-device, other applications that ‘understand’ mouse input, will also recognize the way in which this tablet moves the mouse, or clicks with it. However, unless the application has specifically been written to input stylus-pressure as well, it will not.

In retrospect I have two observations, that both have to do with the “small” size of tablet I just bought, which only has a sensor-surface 8 inches wide:

  • We must place the tablet down flat on the table to use it, and therefore, must also have enough space in front of the computer to position the tablet. Yet, we should also bear in mind that in practice, we’ll still need to have our mouse and our (real) KB within reach. So from that perspective, for me to have chosen the smaller tablet-size, was fortunate.
  • The drivers given, will always map the surface of the tablet to the whole screen (unlike how it is under Windows). Therefore, because I have a big 1920×1080 monitor, even small gestures I make with the stylus, will translate into bigger gestures on the screen, or on the whiteboard.

This latter detail could get in the way of actual whiteboarding, because often, the narrator will want to write text in his legible handwriting. I find that if I sign my name as small as I can, and still control my handwriting, this results in a rather large curve of cursive script. Serious usage-scenarios would require the (more-expensive) medium-format tablet…

Yet, the application named ‘OpenBoard’ specifically allows for a virtual keyboard to be activated (in its settings first), so that it can embed real text-objects into the document being created. In that case, I find the virtual on-screen KB to be more-practical, than I find it to be, reaching and clamoring for my physical KB, when the tablet is in-use. ( :2 )

One main drawback in perhaps using ‘MyPaint’ as a whiteboard, is the fact that it supports may Artistic brushes, but no text-objects as such. Finally, if the user wants a video of himself painting the whiteboard, then the only solution I see is to set up a screen-capture first, using ‘VokoScreen’, and then, to launch the whiteboard application, at which point the target audience will see, what the narrator also sees.

  • ‘MyPaint’ specifically has a working full-screen mode, so that additional details wouldn’t confuse the audience.
  • ‘OpenBoard’ allows for multimedia (player) objects to be embedded, so that a narrative voice could play from the embedded object, rather than from the narrator, as he’s assembling his presentation.



1: )

If users try to install ‘OpenBoard’ on their Debian / Stretch systems, using the .DEB -File from the site linked to above, they will likely encounter the following problem:

The Ubuntu package depends on v1.0.2 , of ‘libssl1.0.0′ . Debian / Stretch will no longer have this library in itsĀ  standard repositories, because Debian has moved on to ‘libssl1.1′ . Now, there is an actual package that provides v1.0.2, named ‘libssl1.0.2′ under Debian. Therefore, the library can be provided rather easily. But, the .DEB -File still states an outdated dependency on ‘libssl1.0.0′ , v1.0.2 .

The way I solved this problem was to use a special tool which I have, which lets me edit the control-data of a .DEB -File, and just to edit out the dependency. This is obviously only a method that would work under special circumstances. And yet, the issue needs to be resolved in some way.

2: )

For the eventuality that I might want to screen-cast a session, in which I’m assembling some sort of sketches on a whiteboard, but where I’d also want to add text-descriptions, I think I’ve found a trick that could be useful. ‘OpenBoard’ offers the narrator a feature called a ‘Library’, which is visible from within the application as a side-bar. In it are folders, into which the narrator can insert prepared images, videos and audio-clips, because they map to folders in the narrator’s home folder.

Well, I was able to use the separate application named ‘Inkscape’ to create a document with the mere size of a Business Card, and to type text into it. Then, if I both save the document as an SVG-File, and export it as a PNG-File, to such a Library-owned folder, I can click on such images and make them appear within OpenBoard – quickly.

Unfortunately, as it stands with version 1.3.6 , SVG images are actually supported, but any mere text they contain will not follow line-breaks, and so they’ll remain as though written on a single line. This is why I additionally need to export the image as a PNG-File.



(Edit 03/14/2018 : )

There’s another way to solve the problem, that SVG-Files containing mere text do not open properly in certain programs, such as in OpenBoard, in that the line-breaks do not work. Within Inkscape, it’s possible to select the text-object first, and then to give the commands ‘Path -> Object to Path’ , followed by ‘Path -> Combine’ . This will actually convert the text to geometry, consistent with a pure graphics-file. But doing this has two drawbacks:

  • The file-size of the generated SVG is logically much larger, while in certain cases, the smaller file-sizes were sought.
  • After that, it’s no longer possible to open the same SVG-File in Inkscape, and to make a casual edit of the text again, since it’s all been converted into geometry.


The main advantage of that, when used with OpenBoard would be:

  • Only one file needs to be saved – The SVG-File – for which reason, only one file will appear in the OpenBoard Library, that corresponds to any one message, which the narrator might want to embed in his presentation.


(Edit 03/24/2018 : )

3: )

Inkscape also recognizes this type of pressure-sensitive input device. But, because I, personally, tend to use Inkscape in a different way, this has no importance to me.

Personally, I use Inkscape to create images through a logical construction process, which creates paths that are often straight lines or elliptical sections (i.e., circles), and which creates more-complex paths through their Boolean combination. A tablet won’t help me with that.

But, other people will use Inkscape as a freehand drawing tool. “Scalable Vector Graphics” (‘SVG’) is also often a useful format for exporting freehand drawings, because the application can subdivide the motions of the stylus arbitrarily, and encode each segment as a spline, which will have controllable end-points, as well as controllable derivatives at each end-point. For that use, of course the tablet ‘makes sense’.

In truth, such a sequence of quadratic splines would need to be Mathematically fudged, for the fact that (X, Y) integer-pairs are still being input. And the path would additionally need to be subdivided, when its progression along either axis reverses.

But the conversion into SVG-format should be able to compress a fine, accurate path 2x, while compressing smoothed paths by anywhere from 4x to 8x, since a set of 3 integer-pairs would still be needed, to store 1 segment, which might be subdivided after traveling 12 points along either axis in one direction.

Stylus pressure or line-width might simply be interpolated linearly.



Print Friendly, PDF & Email

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>