Installing Wacom tablets for use with GIMP
This guide tries to help you getting your Wacom graphics tablet to work with GIMP. It is divided into parts.
First is a small intro on which tablet model to pick. This is of interest for people with any operating system (Linux, Windows, Mac).
The major part of the guide otherwise deals with installing Wacom drawing tablets for the Linux operating system. If you have Windows or Mac, the only section of interest for you is the last one; "Setting up GIMP" at the end of the guide.
You might also be interested in reading the replies in this thread since eventual problems and solutions with tablets are being discussed there.
Which tablet to pick? (Linux / Windows / Mac)
This guide relates to the [Wacom] brand of tablets only. They are generally considered to make the best tablets and Wacom tablets are what most professional artists use as well. They are also the only ones you can expect to get to work under Linux with any certainty, through excellent Linux driver support.
That said, there are plenty of tablets brands out there that are a lot cheaper than the Wacom ones, and some people have been happy with those. Just remember that many of the pens in those have batteries that need recharging regularly, or even wires that can get in the way. The Wacom pens require no batteries and no wires. Anyway, if you go with another tablet brand you can't use this guide; you need to address your questions into our General Help forum and hope someone can help.
The Wacom line of tablets cover a wide range of models ranging from about $80 up to thousands of dollars. Which one to choose? Since this question has been asked of me so many times, I will try to make a recommendation here so I can refer to it. But do remember it is only my personal opinion.
Here we go: If you are looking to get your first tablet, get a Wacom [Bamboo] of the smallest (A6) size. That's right, that is the smallest and cheapest Wacom tablet you can get. Since you want to use it with GIMP you can do without the extra programs shipped with the "Fun" version and just get the plain tablet. In this case lowest price does not equal low quality. This one will last you forever.
Many ask why they should not get a bigger-size tablet, with more surface to draw on. Even if you can afford the bigger model I actually discourage this -- there is no need. Unless you are a real-life painter who is used to move your hands in large vivid motions, save your money (and wrists) and go with the smallest drawing surface. The resolutions of these tablets are so extreme that you will still have perfect control. If you want to move your brush over the entire canvas, that is what GIMP's zoom function is for anyway.
As for the higher-level professional tablets like the Wacom Intuos, you should remember that the step up from mouse to tablet is far larger than ever the step between different tablet models. Frankly I would still be using my entry-level Wacom tablet if it had not been so old its cable no longer fit my computer (it was not even an USB). Quite likely the Bamboo is the only one you'll ever need. Very few have actual need for the extra features of professional tablets, and if you ever do, you will already know enough not to have to read this guide about it ...
Now, assuming you have your tablet, let's move on.
Installing Wacom tablets under Linux
The linux distro you use changes the details of how things are installed, but mostly it should be the same. Linux fully supports most of the Wacom product line these days, including the newest tablets like Intuous3. Pressure sensitivity, tilt and everything work perfectly for me. If it doesn't you just need to check some more things.
I'm running Debian here, but it's essentially the same for other distros. It used to be rather tricky to get the tablet to run, but these days it's really rather simple. You still need to know how to use the terminal to issue basic commands in Linux though. But as long as you can become root, can read and can use the cp command, you should be fine.
Wacom tablets running on Linux is a possibility because of the hard work of the Linux-wacom project. Without them this wouldn't be possible. Bookmark that page, but for now the installation instructions on there is mostly for things you don't really have to do manually anymore (for those still running old Linux kernels). Read below instead for now, and remember that page if you need to troubleshoot later. They have much more detailed and general instructions than I can give, especially for different Linux distributions.
You might want to jump back and forth between the various sections below in order to find the cause of problems for why your tablet is not working. For example the GIMP configuration section is at the end, and if your tablet is working normally except for pressure sensitivity in GIMP, that's maybe a good place to start. Just remember that the mouse cursor should move also without the pen tip actually touching the tablet. If you have to press down the tip to move the cursor, the tablet is in fact just working as a mouse and is not really installed at all.
Especially the sections Setting up the configuration of the tablet and Setting up GIMP are essential for proper function of the tablet in GIMP. So before giving up on any of the other steps, make sure these are done right or it won't work anyway.
Make sure you have a suitable Linux kernel
First of all, try to upgrade your linux kernel to at least version 2.6.18. Beginning with this kernel, much of the linux-wacom core drivers are already shipped within the kernel and don't have to be loaded or compiled separately as earlier. This helps, trust me, I've spent way too much time through the years compiling wacom kernel modules. Anyway, by the time you read this, the stable kernel version is most likely a lot higher than this so it should not be an issue. If you already have a suitable kernel you can skip this section.
These days you don't need to recompile anything; a stock kernel 2.6.18 (or higher) works just fine. There should be a package in your distro for this. In debian you do (for example)
apt-get install linux-image
if you run a Pentium processor (your kernel version will likely be different by the time you read this).
(Do apt-cache search linux-image to find names of other kernel packages (oh, and the 2.6.18 kernels are in the "etch" distribution and higher only, so if you're running older versions you need to move away from that).
(For other linux distros, use whatever package search you have available.)
Updating/installing your Linux Wacom driver
Hopefully no manual install should be needed anymore. Install the xserver-xorg-input-wacom package, or the equivalent package for XF86. Restart the x-server. That might well be all you need to do. Jump on to the next sections to test the tablet is recognized and configure your xorg.conf file properly. Jump back here only if things still does not work after all other steps.
If it still doesn't work, read on, you need to download the bleeding edge drivers directly from the developers.
Go to the linuxwacom homepage and download the newest package. You might want to play around with picking the "production" or the "development" version of these packages. For my dual-screen setup, my Intuous3 required the development package in order to work fully. Even if the following instructions doesn't work right away for you, actually picking a slightly older version of this download to work with might actually work better. Just keep that in mind.
OBS -- You need to be root from now on.
After you have downloaded, for example the linuxwacom-0.7.6-4.tar.bz2 archive, unpack it with
tar -xvf linuxwacom-0.7.6-4.tar
You might want to save the resulting directory someplace. I have them in /usr/src .
The Linux-wacom package includes a lot of sources and ways to create the drivers manually. But since you have the 2.6.18 kernel installed you're hopefully not needing most of these things at all.
All you need is the latest driver, which you can find in your newly created directory under the prebuilt/ subdirectory. Run the install script. That both installs the driver wacom_drv.so and a set of small setup utilities useful for wacom tablets. If that worked, jump to the next section, otherwise read on.
The driver's name is wacom_drv.so
The programs otherwise in the prebuilt/ directory are the "wacom-tools" mentioned elsewhere. They are good to have. Copy them to /usr/local/bin.
Now, install the driver. Simplest is to just copy wacom_drv.so to the right place on your hard drive.
Check if you have an older version already -- do locate wacom_drv.so. If you find one somewhere in the /usr/lib directory, that's the one you want to replace.
Common places to copy the driver to is
* /usr/X11R6/lib/modules/input (for xfree86) or
* /usr/lib/xorg/modules/input/ (for xorg)
Obs: It might actually be an idea to try out an older driver version as well, if all else fails.
Checking that the tablet is talking correctly to the Linux operating system
Disclaimer: Re-testing this section for myself, I found that the wacdump didn't output anything for me, despite the tablet working perfectly. I did get output when running the wacdump command from a terminal though (try Ctrl+Alt+F1 to bring up a terminal). Just so you don't panic if you see no results. If the tablet is working anyway, just don't worry about this section.
Check your tablet by running
, where XXX is likely "wacom" these days, but can also be one of the other devices listed in the /dev/inputs drawer. If you didn't install the driver manually in the previous step, debian has a separate tool package named wacom-tools you have to install before getting the wacdump functionality.
The /dev/input directory is the gateway through which info from the tablet hardware (as well as other input devices such as mice, keyboard etc) enters the operating system. The wacdump takes a look at this input and shows you the values coming in. Pick a device then move your various input devices to see which one is measured by that device. The wacom one will be easy to recognize since it also lists things like pressure and tilt etc. If you see stuff happening here, you know the device is feeding info to the OS properly. Now you just have to tell the OS (more specifically, the X-server) what to do with that info. Continue on to the next section.
Go to the linux-wacom homepage docs for further troubleshooting if the tablet doesn't work. Also try jumping back to the previous section to install an older/newer wacom_drv.so by downloading from the page. That might really be worth the trouble of trying.
Setting up the configuration of the tablet in Linux
This section is mandatory in order to get the tablet to work.
So the cursor is not moving, or it's moving and you have no pressure or tilt -- it's working mostly like a normal mouse? This is because the graphical x-server has no idea that the tablet is not a normal mouse but has all these cool features to take care of.
For this you need to configure your X-server config file. This you can find in either /etc/X11/xf86-conf or /etc/X11/xorg.conf depending on your x-server. Open this file in a text editor. Make a copy of it first, if you haven't done this before.
Now you go to the Linux-wacom docs [here] and put in those things they tell you put in the config file, just as it says. Note the different settings depending on if your pad is connected by USB cable or not (all new tablets are).
You will add at least a "stylus" device, an "eraser" device (these are the pen tip and back tip of the pen) as well as a "cursor" device (this is the separate wacom mouse if you have it). If you have a Intuous3 there will be a "pad" device too. This is the buttons on the tablet.
Reboot the x-server. In your windows manager, you should now be able to move the mouse cursor by hovering the pen a little bit above the tablet (if you have to press down the pen to move the cursor it is not working correctly, go back to previous sections for troubleshooting). Pressing the pen down should also allow you to select, click&drag things in your window manager. If so, congrats, your pen is correctly installed. You can go to next section for some more configuration or directly to the last one to set up GIMP correctly.
Tweaking the pressure sensitivity (Linux)
You should probably wait with this step until you have set up GIMP correctly (last section), since it's hard to test pressure curves without painting on the canvas. Most likely the default will be ok for you until you are used to the tablet.
How pressure is applied to the brush in GIMP is determined by the tablet driver's pressure curve. This is simply a curve determining how the pressure is read depending on how hard you press. By default this is a linear curve, that is your pressure is exactly matched by the pressure as the tablet designers designed it. Depending on how light you are on the hand, you might feel that the tablet goes up to full pressure too fast. Or conversely you might think you have to press too hard to get full pressure.
Whereas Windows and Mac users should be able to set this sensitivity in their supplied tablet config program, Linux users should define this curve explicitly if they don't want the default linear behavour. There are a bunch of graphical tools to do it, but they are all just fancy ways to add stuff to your xorg.conf (or xf86.conf) file, so here is the "fool proof" way. Open your xorg.conf or xf86.conf file as before and find where you input your "stylus" and "eraser" input devices. I made a few presets. In each of these two devices, paste the following:
# Option "PressCurve" "0,75,25,100" #Softest curve (loose pressure)
# Option "PressCurve" "0,50,50,100"
# Option "PressCurve" "0,25,75,100"
# Option "PressCurve" "0,0,100,100" #linear curve (default)
# Option "PressCurve" "25,0,100,75"
# Option "PressCurve" "50,0,100,50"
# Option "PressCurve" "75,0,100,25" #firmest curve (hard pressure)
Remove the # in front of the line you want to use.
The "softer" the curve, the lighter you have to be on your hand. For example, I personally use a "firmer" pressure since I want to have to press pretty hard before I get the full pressure effect of the pen. In case you wonder how the values (each between 0 and 100) work, they describe the control points of a Bézier curve. Of course you can experiment with the values as you want to find the pressure curve that fits you best. Don't forget that you have to restart the Xserver before you see the difference in GIMP (see next section for setting up GIMP).
Setting up touch strip and pad (Linux)
You don't need to be root to set this part up.
If you have a tablet with buttons and a touchstrip on it (like e.g. the intuos tablets) you need to set these up for GIMP to use. First you must however have set up the "pad" device as described in the previous section. The theory from here on is simple -- the buttons as well as the touchstrip up/down events are mapped to normal keyboard keys, so that e.g. one of the buttons equals "Ctrl" and the "touchstrip up" event means the key "_" (or something). Afterwards all you need is to tell GIMP that Ctrl+_ means zoom or some other function to make it work.
So, how to map the pad to keyboard keys?
* The first and older way is to use a little program called expresskeys -- http://freshmeat.net/projects/wacomexpresskeys/
. You run this from your home directory when your Xserver starts and it takes a small config file (located in ~/.expresskeys) that maps the keys to the pad. Download it and read the setup instructions. It's really easy.
* With the linux-wacom diagnostic tools comes a program named xsetwacom (in debian, this tool is in the wacom-tools package). Since version 0.8.x or so, the Expresskey functionality has been integrated into this tool. When you have started your xserver, the following commands sets up the pad buttons of Wacom's Intuos3 tablet with one pad:
xsetwacom set pad Button1 "core key shift"
xsetwacom set pad Button2 "core key alt"
xsetwacom set pad Button3 "core key control"
xsetwacom set pad Button4 "core key space"
xsetwacom set striplup "core key up"
xsetwacom set stripldn "core key down"
You can use striprup and striprdn if you have a tablet with a right pad as well. I put these commands in my .bashrc file to have them run every time I start the xserver. Give the xsetwacom command on its own to see a list of all the commands you can give it and what they mean.
Warning: At time of writing (sept 2008) it seems the xsetwacom distributed with Debian unstable does not have the touchstrip functionality. I had to compile the latest from linux-wacom homepage and use that binary instead, then it worked. No doubt this will soon resolve itself as the distributions update, but it's worth to be aware of.
Setting up GIMP (Windows / Mac / Linux)
At this point you should have the tablet drivers and support programs installed, either by following the instructions above for Linux or by running the Wacom installation disk (Mac,Windows). Better yet, download the latest Windows/Mac drivers directly from Wacom's homepage [here]. If you run into trouble, also make sure you are updated with the latest operating system patches, directX and so on. Obviously you should also always run with the latest GIMP version.
If you use Windows/Mac, you might have gotten some simple test/config program supplied with the tablet. Test that and make sure the tablet is working with all its features. If it doesn't work there you can't expect it to work in GIMP either.
The final thing is to tell GIMP that you have this new cool tablet that you want to use. Go to Preferences->Input devices->Configure Extended input devices.
In the list you should be able to pick the various devices -- they are called
* "stylus" (tip of your pen)
* "eraser" (back tip of your pen)
* "cursor" (the wacom mouse if you have it)
* "pad" (the buttons/slider on some tablets -- not all versions have them).
* "puck" (not sure what heck this is, but some Windows users have reported seeing such a device name.)
Windows/Mac users should have had these devices setup by the Wacom installer. Linux users can follow the instructions above to get everything working (For Windows users who do not see any tablet devices in this list, go to Preferences->Input Devices->Input Controllers and make sure "DirectX DirectInput" is in the "Active" collumn. Make sure you have the latest DirectX. You also have to restart GIMP).
Activate all devices (except the "pad") to mode "Screen", which seems to work best for most people. If you find that your cursor has a strange offset, try is to switch to the the "Windows" setting instead, your mileage may vary. Always leave "pad" disabled in the GIMP prefs, GIMP's not using it anyway and turning it on will only mess things up.
The pad buttons and eventual touch strips are instead linked directly to normal keyboard keys.
Under Windows or Macintosh the buttons/slider on the tablet (the "pad" device) setup is handled by the Windows/Mac driver installer and configuration program you get with the board. Linux users should refer to the relevant section above for information on how to set things up.
So to GIMP the tablet buttons and slider drags are just seen as any key press. Go into Preferences->Interface->Configure keyboard shortcuts and map those buttons to useful things. The "slider up/down" I have mapped to the keys ? and 0 for example, whereas the buttons means Ctrl, Space, Shift and Alt respectively. Then I just need to tell GIMP that e.g. Ctrl + ? means to zoom out, and then I will be able to do that directly from the tablet!
... And that's it. You should now have full pressure/tilt support in GIMP and full use of all features of your tablet. Remember that the "stylus" and "eraser" are treated as separate, equally worthy devices for GIMP (as opposed to how it's handled in PS) . This means that if you use either the pen or eraser tip to click on any tool, GIMP will assign the too to that particular tip. This means you can do interesting things like having your eraser tip act as a smooth tool instead of an eraser for example, and combine the two in any way you want. Just remember that using the mouse to choose the tool will not work, as that will only assign the tool to the mouse, not to the pen.