Allin Cottrell, July 2003
How I got my Wacom Intuos 9x12 graphics tablet (USB version) working, with Linux kernel 2.4.21 on ix86, XFree86 version 4.3.0, GTK+ 1.2.10 and gimp 1.2.2.
Note: you can find more extensive information at linuxwacom.sourceforge.net.
As of version 2.4.17 the stock Linux kernel has a functional wacom driver (for the Intuos at any rate).
Configure the kernel source for input support:
(This will result in the creation of the modules input.o and evdev.o.)
Also configure kernel USB support. Here is a relevant extract from my grep USB /usr/src/linux/.config for kernel 2.4.21:
# USB support # CONFIG_USB=m CONFIG_USB_DEBUG=y CONFIG_USB_DEVICEFS=y # CONFIG_USB_BANDWIDTH is not set CONFIG_USB_EHCI_HCD=m CONFIG_USB_UHCI=m CONFIG_USB_UHCI_ALT=m # CONFIG_USB_OHCI is not set # CONFIG_USB_AUDIO is not set # CONFIG_USB_EMI26 is not set # CONFIG_USB_MIDI is not set CONFIG_USB_STORAGE=m CONFIG_USB_STORAGE_DEBUG=y CONFIG_USB_STORAGE_DATAFAB=y CONFIG_USB_STORAGE_FREECOM=y CONFIG_USB_STORAGE_ISD200=y CONFIG_USB_STORAGE_DPCM=y CONFIG_USB_STORAGE_HP8200e=y # CONFIG_USB_ACM is not set # CONFIG_USB_PRINTER is not set CONFIG_USB_HID=m CONFIG_USB_HIDINPUT=y # CONFIG_USB_HIDDEV is not set # CONFIG_USB_KBD is not set # CONFIG_USB_MOUSE is not set # CONFIG_USB_AIPTEK is not set CONFIG_USB_WACOM=m
This will result in the creation of the usb modules hid.o, uhci.o, usbcore.o and wacom.o. Actually I believe that hid.o may be redundant for this purpose, but having it around does no harm.
You must then rebuild the kernel and modules; install them; run /sbin/lilo; and reboot.
I created a little script which I called /etc/rc.d/rc.wacom to load the relevant kernel modules:
modprobe uhci modprobe wacom modprobe evdev
These lines automatically bring in usbcore.o and input.o, if your module dependencies are in order.
You should probably replace the /usr/X11R6/lib/modules/input/wacom_drv.o module which is supplied with the XFree86 binary package for Linux with the updated version available from linuxwacom.sourceforge.net.
Here is how the module I'm using (which works very well) identifies itself in the X log file:
(II) Module wacom: vendor="The XFree86 Project" compiled for 4.2.0, module version = 1.0.0 Module class: XFree86 XInput Driver ABI class: XFree86 XInput driver, version 0.3 (II) Wacom driver level: 26-j0.4.0 $
Then get your /etc/X11/XF86Config right.
Add three "InputDevice" sections, one each for the Wacom stylus (or pen), the Wacom eraser (the other end of the pen) and the Wacom 4D mouse. These sections should look something like the following:
Section "InputDevice" Driver "wacom" Identifier "cursor" Option "Device" "/dev/input/event0" Option "Type" "cursor" Option "Mode" "relative" Option "USB" "on" Option "Speed" "3.0" EndSection Section "InputDevice" Driver "wacom" Identifier "stylus" Option "Device" "/dev/input/event0" Option "Type" "stylus" Option "Mode" "absolute" Option "USB" "on" Option "Tilt" "on" # Option "TiltInvert" "on" Option "Threshold" "5" EndSection Section "InputDevice" Driver "wacom" Identifier "eraser" Option "Device" "/dev/input/event0" Option "Type" "eraser" Option "Mode" "absolute" Option "USB" "on" Option "Tilt" "on" # Option "TiltInvert" "on" Option "Threshold" "5" EndSection
I found that it's important to include the "Threshold" setting for the stylus and eraser: without it, moving the pen produced cursor motion but I couldn't actually draw in the gimp (no marks appeared). You may want to experiment with the "TiltInvert" setting.
You also need to add references to the new Input Devices into the "ServerLayout" section of XF86Config (the ellipsis below indicates the standard material that was there before, for keyboard and regular mouse):
Section "ServerLayout" ... InputDevice "cursor" "SendCoreEvents" InputDevice "stylus" "SendCoreEvents" InputDevice "eraser" "SendCoreEvents" EndSection
Note you don't need a "Load" line for the wacom driver in the "Module" section. The wacom_drv.o module is auto-loaded by XFree.
If you built GTK+ from source, the default configuration for version 1.2.10 (and earlier), does not include support for Xinput, which is required if you're going to use the Wacom tablet with the gimp. Thus you must rebuild and reinstall GTK. At the ./configure stage be sure to add the flag
If you installed GTK+ as part of a Linux distribution, Xinput support may well be present already.
Under gimp's File/Dialogs... menu, open the Input Devices dialog. You should see a drop down list at the top left of the window showing the input devices that you configured for XFree86 (in my case, "stylus", "eraser" and "cursor"). Each has a mode associated with it, which can be set from the drop down list on the right. I set "Screen" mode for all 3 devices. (I had some weird stuff go on when I tried "Window" mode.)
To see what's going on while you're using gimp, open the Device Status box (under File/Dialogs). You should see icons showing the status of each input device (e.g. which gimp tool is in use with each).