Tips for Wacom tablets under Linux kernel 2.6 and GIMP 2.x

I've had a Wacom graphics tablet (a small one, USB Graphire 2) for years. This thing has a love-hate relationship with Linux: I'll get it working, then a few months later something will break it and I'll be tabletless for another year or so, periodically trying it and verifying that no, it still doesn't work.

Under Ubuntu "Edgy Eft

As of this page's last update, in December 2006, I have the Wacom working under Ubuntu "Edgy Eft", but nowhere else. Here are the steps to get it working in Edgy:

  1. Install wacom-tools and xinput
  2. Edit /etc/X11/xorg.conf and comment out those ForceDevice lines that say "Tablet PC ONLY".
  3. Reconcile the difference between udev creating /dev/input/wacom and xorg.conf using /dev/wacom: you can either change xorg.conf, change /etc/udev/rules.d/65-wacom.rules, or symlink /dev/input/wacom to /dev/wacom (that's what I did for testing, but it won't survive a reboot, so I'll have to pick a device name and make udev and X consistent).

A useful tool for testing is /usr/X11R6/bin/xinput list (part of the xinput package). That's a lot faster than going through GIMP's input device preference panel every time.

Ubuntu's bug 73160 requests that these problems be fixed so that wacom tablets could work out of the box.

Some hints for older distros

I've gone through all kinds of contortions trying to get the Wacom working on various older Linux distributions. Here are the pieces as far as I know them:

Linux 2.6.11, with input, input event interface, usb input, and wacom all enabled. (I have them all built in to the kernel; if you use modules, you may have to modprobe evdev explicitly, or at least I had to do that way back when.)

The XFree86 that's in Debian sid, but with the wacom driver from linuxwacom-0.6.6/prebuilt/wacom_drv.o__4.3k2.6 copied into /usr/X11R6/lib/modules/input/wacom_drv.o. A few people report success with the driver that's built into sid, but most report that they need a replacement.

/dev/wacom symlinked to /dev/input/event3. It used to be event2. For some people this changes on every hotplug, so beware. Theoretically udev should solve this problem.

The following setup in /etc/X11/XF86Config-4. I've tried various combinations of these settings in the past, but this is a combination which actually works. Keir stresses that it's very important that no mouse driver in XF86Config-4 can refer to /dev/input/mice, even though that's the normal setting to use for USB mice, because that will eat events from the wacom and make it look like a normal mouse, and therefore pressure events won't work. That didn't apply to me on this machine because my main mouse is a PS/2 mouse (/dev/mouse which links to /dev/psaux), but I'm recording it here because I'm sure it will come up in the future. The "Mode" "Absolute" seems to be very important.

#
# Wacom graphire tablet
#
Section "InputDevice"
    Identifier  "stylus"  
    Driver      "wacom"
    Option      "Type" "stylus"  
    Option      "Mode" "Absolute"
    Option      "USB"  "on"
    Option      "Threshold" "10"
    Option      "Device" "/dev/wacom"
EndSection
Section "InputDevice"
    Identifier  "eraser"
    Driver      "wacom"
    Option      "Type" "eraser"
    Option      "Mode" "Absolute"
    Option      "USB"  "on"
    Option      "Threshold" "10"
    Option      "Device" "/dev/wacom"
EndSection
Section "InputDevice"
    Identifier  "cursor"
    Driver      "wacom"
    Option      "Type" "cursor"
    Option      "Mode" "Relative"
    Option      "USB"  "on"
    Option      "Threshold" "10"
    Option      "Device" "/dev/wacom"
EndSection
# End Wacom section

Section "ServerLayout"
[ ... ]
        InputDevice    "stylus"   "SendCoreEvents"
        InputDevice    "cursor"   "SendCoreEvents"
        InputDevice    "eraser"   "SendCoreEvents"
[ ... ]

Then, in GIMP 2.2.6, bring up the device preferences and Configure Extended Input Devices, and set all three devices to Screen mode.

In the past, I had a problem where the wacom was misunderstanding my screen size, and I couldn't get to the entire screen. I fixed that with this in each wacom device:

   Option "TopX" 0
   Option "TopY" 0
   Option "BottomX" 1280
   Option "BottomY" 1024
The linux wacom project doesn't mention this in their howto, but it's something to try if you have this problem.

Wacom Plus Another Mouse

Most of the time, it shouldn't be any problem switching off between a Wacom and a regular mouse. But if you have problems, you may find a solution in Bill Kendrick's adventures with 2.6.8 on a laptop.

Useful tools for debugging:


Linux Links
Shallow Sky Home