Wacom Bamboo Setup

I recently got a Wacom Bamboo CTL-460 for my birthday from my most awesome girlfriend, something I wanted for a long time and a great present for an aspiring designer-type like me. Upon unwrapping and plugging it into Fedora 13, I discovered the device is recognised by the kernel and seems ready but does not work at all. Not that this would scare a proper Linux geek and after a quick google I found a bug report in Bugzilla and a very useful blogpost that helped me set this thing up and start drawing. It looks like this is mostly a problem with the Wacom driver in the F13 kernel and you have to compile and insert a newer version (sounds a lot more scary than it actually is) to get this nifty gadget working. As soon as the newer kernels get the right version of the Wacom driver this shouldn't be necessary anymore, though. Maybe the one in Fedora 14 will already fix this, I'll have to experiment with that at some point. Here's what I did to get my tablet working the same night:

  1. I installed the following packages: # yum install gcc gcc-c++ kernel-headers kernel-devel libXi-devel libX11-devel xorg-x11-proto-devel xorg x11-server-devel tk-devel tcl-devel ncurses-devel xorg-x11-drv-wacom-devel libXrandr-devel
  2. Then I downloaded version 0.8.6-2 of the linuxwacom driver from Sourceforge and unpacked it in my home directory with $ tar -xf linuxwacom-0.8.6-2.tar.bz2
  3. After that, I changed into the directory I just created via $ cd linuxwacom-0.8.6-2 and configure the package: $ ./configure --enable-wacom
  4. Now we can compile the kernel module: # make
  5. I then needed to find my current kernel version by running $ uname -r and changed into the directory with the module I just compiled: $ cd src/2.6.30/ (note that this doesn't necessarily correspond to your actual kernel version)
  6. We can then copy the kernel module into the right directory so that the running kernel is able to use it (replace <KERNELVERSION> with the actual version that you found out by using the uname command earlier): # cp wacom.ko /lib/modules/<KERNELVERSION>/kernel/drivers/input/tablet/
  7. At this point I did a # modprobe wacom after which most guides said that the tablet should start working which it didn't, I went ahead and did # depmod -a anyway
  8. So it turns out you also need a udev rule for this thing to work properly, so I removed the tablet from my laptop, plugged it back in and ran # lshal -m — out of that output I picked the string that looked like "usb_device_56a_d1_noserial" for the next step
  9. I now ran # lshal -u usb_device_56a_d1_noserial (you might need to modify this line based on the readout of the previous command) and used the "linux.sysfs_path" from the ensuing output for the next step
  10. Now we invoke udevadm info with whatever path we received, for example: # udevadm info -a -p /devices/pci0000:00/0000:00:0b.0/usb2/2-4/
  11. The output of this can be used to create an udev rule for the device, we are interested in the KERNEL, SUBSYSTEM, DRIVER and ATTR{idProduct} values — my rules file looks like this:

    KERNEL=="2-1.2", SUBSYSTEM=="usb", DRIVER=="usb", ATTR{idProduct}=="00d4", SYMLINK+="input/wacom-touch"

  12. Now create a rules file of your own and copy this data into it (modify where necessary based on the output you get for your device): # nano /etc/udev/rules.d/60-wacom.rules
  13. After a reboot, the kernel should pick up the new module and the device properly and you should be able to use the Bamboo as soon as you plug it in

I hope this is helpful. The Bamboo is a neat little tool and I've been using it nonstop since I got it. The only downside to this method is you have to repeat steps 1 - 7 whenever a kernel update gets applied on the system.