Wacom Inkling on Linux

I bought an Inkling, a trackable digital pen designed to save your sketches to file.

It’s not the first such device I’ve owned. The first one used infrared for tracking (the Inkling uses both infrared and ultrasound, apparently) and was intended for use with a PalmPilot back in the days when your PalmPilot reset itself to factory mode every time it ran out of battery. I’ve also got an Echo smartpen, which relies on the use of specially designed paper and is very nice if your job involves listening to seemingly endless presentations, since the pen does your listening for you and syncs it with any notes you might happen to have made. On the off-chance that you missed something important, you can go back and check for it later. Details aside, a trackable pen is not a new idea.

Trackable pens are specialised, however. My personal opinion is that the Echo is designed for people who, like me, tend to zone out in long lectures. The previous infrared pen was designed for approximate reproduction of brief sketches so that you could email a copy to your PalmPilot-toting colleagues (not that you could read the email on the Palmpilot at that time…). The Inkling is pressure-sensitive, which makes a huge difference to its usefulness for people who like to draw. It also comes in a really nicely-designed case: the pen itself fits into the hinge, the sensor slides into its mount and there’s a little space at the top for storing the device’s USB cable.

Linux support

The good news is that it’s easy to get your sketches off the Inkling. It’s just a USB mass storage device. Plug it in, mount it, copy the content of the ‘My Sketches’ directory. The bad news is that the Inkling saves sketches as WPI files. Some kind soul wrote a command-line wpi2svg tool and made it available on Github. There are other implementations, such as this C++-based approach, too.

Here’s how I got wpi2svg to work on Slackware. Install Google’s Go language tools from sbopkg first of all, then open a new terminal. First, make a directory in your home dir:

mkdir ~/gocode

then add this line to .bashrc and .bash_profile (substituting your username into the gap…) :

export GOPATH=/home/YOURUSERNAME/gocode/

Then run the following

go get github.com/ajstarks/svgo
go install github.com/ajstarks/svgo
go get github.com/godsic/wpi2svg
go install github.com/godsic/wpi2svg

Shouldn’t be necessary, but just in case… if by any mischance you have any difficulty with your GOPATH you can manually define it before each of your commands, like so:

GOPATH=/home/YOURUSERNAME/gocode go install github.com/godsic/wpi2svg

Using wpi2svg

Once you’ve done the previous steps you should find that there is a /home/YOURUSERNAME/gocode/bin directory containing a binary called wpi2svg.

wpi2svg SKETCH1.WPI

This will only appear in your regular path if you’ve added this directory to it. Otherwise, of course you can call it by specifying the full path:

home/YOURUSERNAME/gocode/bin/wpi2svg SKETCH1.WPI

It duly creates an svg in the directory in which you stored the WPI file. You can then read that using gimp or inkscape.


The layers aren’t visible using this method. Also, the postprocessing that the sketch software usually runs hasn’t been done here, so all in all the official workflow still tends to provide better results.

With the Inkling the major problem is the immense impact of the angle at which you hold the pen. Don’t draw detailed drawings in small sizes unless you’re absolutely brilliant at keeping the pen at the right angle. Use the whole of your A4 sheet of paper (but remember that the minimum distance from the sensor is around 2-3 cm: anything closer won’t appear on your sketch). If your sketches come out skewed, you can try using Inkscape’s horizontal and vertical transforms to remedy matters a little.

One Reply to “Wacom Inkling on Linux”

Leave a Reply

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