Wacom supports development of XFree86 drivers for their popular Intuos and Graphire USB tablets.
Wacom provided tablets and technical data to Frederic Lepied, who makes his linux kernel module and X driver for the wacom tablet available [here]. Note that the kernel modules which he recommends on that page are now (as of kernel 2.4.20) part of the standard kernel distribution. If you are using USB on your Linux box and are not running kernel 2.4.20 you are unnecessarily handicapping yourself.
Linux Kernel Modules
In order to use the USB tablet you must have built your Linux kernel with USB support and the wacom and evdev USB modules.
You also need to have installed the latest USB hotplug package. See the Sane page for details about where to get and how to install the linux-hotplug package.
To enable the required support in the kernel you will need to load some USB related modules at boot time, or later:
/sbin/modprobe usb-uhci
/sbin/modprobe wacom
/sbin/modprobe evdev
These commands could be put into a file like /etc/rc.d/rc.usb, for example.
XF86Config
Three sections in your XF86Config need to be modified:
I have no idea how the driver keeps the three devices straight! Those Wacom folks are pretty clever!
Here are the relevant entries from my XF86Config:
Section "Module"
...
# load the XFree86 Wacom driver
Load "wacom"
EndSection
Section "InputDevice"
Identifier "stylus"
Driver "wacom"
Option "Type" "stylus"
Option "Device" "/dev/input/event0"
Option "USB" "on"
Option "Mode" "Absolute"
# how hard does the stylus need to be pressed to
# trigger an event?
Option "Threshhold" "2.5"
Option "Tilt" "on"
Option "KeepShape" "on"
EndSection
Section "InputDevice"
Identifier "eraser"
Driver "wacom"
Option "Type" "eraser"
Option "Device" "/dev/input/event0"
Option "USB" "on"
Option "Mode" "Absolute"
Option "KeepShape" "on"
Option "Tilt" "on"
Option "Threshhold" "2.5"
EndSection
Section "InputDevice"
# this is the wacom mouse
Identifier "cursor"
Driver "wacom"
Option "Type" "cursor"
Option "Device" "/dev/input/event0"
Option "USB" "on"
Option "Mode" "Relative"
Option "Speed" "3.0"
EndSection
Section "ServerLayout"
Identifier "layout1"
Screen "screen1"
InputDevice "Mouse1" "CorePointer"
InputDevice "stylus" "SendCoreEvents"
InputDevice "eraser" "SendCoreEvents"
InputDevice "cursor" "SendCoreEvents"
InputDevice "Keyboard1" "CoreKeyboard"
EndSection
At this point you should be able to plug in your tablet, start X, and go to town!
You should see things like this in your /var/log/XFree86.0.log:
(**) Option "Device" "/dev/input/event0"
(==) Wacom Kernel Input device name: "Wacom Graphire2 4x5"
(==) Wacom tablet maximum X=10206 maximum Y=7422 X resolution=0 Y resolution=0 suppress=9
(==) Wacom tablet top X=0 top Y=0 bottom X=9897 bottom Y=7422
(==) Wacom tablet top X=0 top Y=0 bottom X=9897 bottom Y=7422
(==) Wacom tablet top X=0 top Y=0 bottom X=10206 bottom Y=7422
If it doesn't work send me an email: phil@slug.org