Up one level
How I set up my Wacom Pen Tablet in Debian
Spencer Stirling

Instructions for Debian Squeeze (Xorg >= 1.7)
Both Xorg and the Linux Wacom project have changed DRASTICALLY in Debian Squeeze (for example Xorg 1.7 eliminated its configuration file "xorg.conf" file). The instructions on this page are limited to older systems. However, if you have Squeeze then you can easily get your Wacom working by installing the Debian packages "xserver-xorg-input-wacom" and "xinput". After plugging in your tablet you can configure it using the "xinput" command (note that the utility "xsetwacom" is no longer necessary).

Instructions for Debian Lenny (e.g. Xorg < 1.7 and kernel >= 2.6.15.6)
The Wacom kernel drivers were integrated upstream in the kernel around version 2.6.15.6 (I'm not precisely sure when). Hence you will only have to install the Xorg driver and some tablet configuration tools:

apt-get install xserver-xorg-input-wacom
apt-get install wacom-tools
Now skip to the section Configuring xorg.conf. If these instructions do not work, try manually installing the drivers (described below).

Manual instructions for Debian Etch or older
In older systems the kernel drivers still had not been included upstream and/or the drivers were outdated. Hence here are manual instructions for installing both new kernel drivers and Xorg drivers.

First, make sure that you have a custom-built kernel in "/usr/src" (and make sure that you are running it), or that you have the kernel headers installed if you are running a pre-built kernel. In my case I have source for a custom kernel in

/usr/src/linux-source-2.6.12

In some sense the Debian configuration should be easy because there are ready-made kernel driver packages, but they don't quite work correctly. Nevertheless, you can start with

apt-get wacom-tools
apt-get wacom-kernel-source

The second command builds a kernel driver for you and puts it in a .deb package in /usr/src/modules. You should install this .deb package (instructions are given by the wacom-kernel-source package as it builds).

After installing the wacom*.deb package in /usr/src/modules (using dpkg) I found that the driver didn't work (it was outdated). Nevertheless the package is worth installing because it performs some "udev" configuration.

The good driver (along with an exhaustive HOWTO) is located at The Linux Wacom Project. This should be considered the primary source. My notes here only apply to my specific situation - those notes are much more general.

Since I am using kernel 2.6.12 I downloaded the latest tarball linuxwacom-0.7.1-1.tar.bz2 and put it in /usr/src. After unzipping I get the directory

/usr/src/linuxwacom-0.7.1-1

Go in there and run the following command:

./configure --enable-wacom --enable-hid --enable-mousedev --enable-usbmouse --enable-evdev

The official guide indicates that all of the "enables" are not necessary, but I found that they were (I ran into a myriad of problems without them, ranging from the driver not taking control of the tablet to the tablet not working properly in the Gimp). Now type "make" to make the driver.

After the driver has been created, it is located in the "src" subdirectory. So go into

/usr/src/linuxwacom-0.7.1-1/src

In there you will find directories labelled 2.6.*. You should choose the appropriate directory for your kernel (or whichever is the next lowest). In my case I am running kernel 2.6.12, but there is no 2.6.12 directory, so I chose the 2.6.11 directory (NOT the 2.6.13 directory)!!!

In those directories you will find the appropriate drivers (*.ko files). Since my kernel is called "2.6.12-custom1" I issued the following commands to copy the drivers to their right places

cp evdev.ko /lib/modules/2.6.12-custom1/kernel/drivers/input
cp mousedev.ko /lib/modules/2.6.12-custom1/kernel/drivers/input
cp wacom.ko /lib/modules/2.6.12-custom1/kernel/drivers/usb/input
cp usbhid.ko /lib/modules/2.6.12-custom1/kernel/drivers/usb/input
cp usbmouse.ko /lib/modules/2.6.12-custom1/kernel/drivers/usb/input

Notice that the destination directory of the last 3 is *different* then the destination directory of the first 2!!!

That's IT!!! Rebooting the kernel finalizes the configuration (note that I am still having problems with booting my laptop with the Wacom plugged in - it freezes at hotplug detection. This problem doesn't happen on my big computer. Usually I just unplug it, boot the computer, and and plug it in BEFORE Xwindows starts).

Now you need to install an updated driver for your X server to deal with the tablet. This driver ("wacom_drv.o") can be found in

/usr/src/linuxwacom-0.7.1-1/prebuilt

Pick the driver appropriate for your X server. In my case I am using the Xorg server, so I chose "wacom_drv.o_xorg" and copied it to the X server with the command

cp wacom_drv.o_xorg /usr/X11R6/lib/modules/input/wacom_drv.o

OR IN XORG YOU MIGHT TRY THIS DIRECTORY INSTEAD

cp wacom_drv.o_xorg /usr/xorg/lib/modules/input/wacom_drv.o

Notice how I changed the name of the driver to just plain "wacom_drv.o".

Update: as already mentioned above, this file has changed name to "wacom_drv.so" in later versions of Xorg.

Configuration of Xorg using "xorg.conf" file
Now it's time to modify the /etc/X11/xorg.conf (or XF86Config-4) to let the server know about the Wacom. In my case I have the USB tablet, so I added these lines (you should consult the Linux Wacom Project website for more details concerning your specific configuration):

Section "InputDevice"
  Driver        "wacom"
  Identifier    "stylus"
  Option        "Device"        "/dev/input/wacom"
  Option        "Type"          "stylus"
  Option        "Speed"         "2.0"      
  Option        "Mode"          "Relative"
  Option        "Threshold"      "20"
  Option        "USB"           "on"                  
EndSection
Section "InputDevice"
  Driver        "wacom"
  Identifier    "eraser"
  Option        "Device"        "/dev/input/wacom"
  Option        "Type"          "eraser"
  Option        "Speed"         "2.0"      
  Option        "Mode"          "Relative"
  Option        "Threshold"      "20"
  Option        "USB"           "on"                  
EndSection
Section "InputDevice"
  Driver        "wacom"
  Identifier    "cursor"
  Option        "Device"        "/dev/input/wacom"
  Option        "Type"          "cursor"
  Option        "Speed"         "2.0"      
  Option        "USB"           "on"                  
EndSection


AND in the same file I modified the "ServerLayout" section by adding these devices like so

Section "ServerLayout"
        Identifier     "Default Layout"
        Screen 0 "Screen0"   0 0
        InputDevice    "Mouse0"    "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
        InputDevice    "cursor"    "SendCoreEvents"
        InputDevice    "stylus"    "SendCoreEvents"
        InputDevice    "eraser"    "SendCoreEvents"
EndSection

You will need to decide if you like "Relative" mode or "Absolute" mode. Also you may need to play with the "Speed" and "Threshold" numbers. Note that these settings can be configured by each user separately (on the fly) using the "xsetwacom" command.

Restarting the X server should bring these devices up!!! Now all that remains is to configure the Gimp. I am using Gimp 2.2 so I went into "File -> Preferences -> Input Devices -> Configure Extended Input Devices" and Enabled all 3 devices (I set them to "Screen" mode since "Window" mode gave me problems).

Note that I had problems with my Wacom and the APM (power management) on my laptop. I found that the APM subsystem would somehow "forget" to turn my USB devices BACK on when it wakes up. I don't know if this is a Linux bug or a bug with my Dell Inspiron 4000, but nevertheless, here is the fix: in my APM scripts I UNLOAD (modprobe -r uhci_hcd) the "uhci_hcd" module upon a Suspend call, and I RELOAD (modprobe uhci_hcd) the module when APM resumes. This works, although I DO need to restart my X server every time. I'm willing to live with this.

Update: the new 2.6.15.6 kernel fixed this APM issue, except I still am forced to restart the X server.

This page has been visited   times since November 23, 2005