Home Home > 2010 > 09 > 23
Sign up | Login

Deprecation notice: openSUSE Lizards user blog platform is deprecated, and will remain read only for the time being. Learn more...

Archive for September 23rd, 2010

Wacom Bamboo Pen and openSUSE 11.3

September 23rd, 2010 by

It all started when my daughter discovered the Bamboo Pen. Naturally the tablet quickly turned into a must have accessory to her computer. After a bit of Googling I came to the conclusion that making the beast work with Linux should be possible. The prize for the effort would be a very happy young lady.

In order to avoid any potential hassle with shipping etc. we went to the local Best Buy to buy the tablet. As the store had the hardware at the same price as online retailers that decision was easy.

Once I actually had my fingers on the tablet it was time to make it work. Doing a bit more detailed research now, I found various openSUSE forum posts and various other links. Some of these were not quite consistent, others appeared to address only half the solution. Therefore, I decided to cast away most of what I had found and just concentrate on the information found on the Linux Wacom Project. The HOWTO is informative and provides all information needed to get everything working. The HOWTO does not provide the information in the linear fashion I like, when I try to get something new to work. With a bit of hoping back and forth and some pocking around I got the tablet to work.

Now to the linear summary on how to get the tablet working.

  • Install openSUSE 11.3
  • Install the necessary packages to build the code provided by the Wacom project (root access required)
    • kernel-source
    • kernel-syms
    • xorg-x11-server-sdk
    • plus make and standard build infrastructure
  • Get the sources from the Wacom download page (0.8.8 at the time of this writing). This is the kernel driver code. The included X utilities and driver code in this version will not work on openSUSE 11.3 and will not build either, that’s OK.
  • Get the X utils and driver code from the Wacom main page. The link at the time of this writing is near the top of the page and links to version 0.10.8
  • Build the kernel driver
    • Unpack the kernel driver code tar -xjvf linuxwacom-0.8.8-8.tar.bz2
    • cd linuxwacom-0.8.8-8
    • Configure the build ./configure --enable-wacom
    • Build the driver make
  • Copy the newly built driver over the driver supplied by the openSUSE kernel (root access required) cp src/2.6.30/wacom.ko /lib/modules/`uname -r`/kernel/drivers/input/tablet/
    • If you want to make a backup copy of the project provided driver make sure you store the copy outside of the modules tree, i.e. outside of /lib/modules/`uname -r`
  • Remove any updates for the driver rm /lib/modules/`uname -r`/weak-updates/updates/wacom.ko
  • Build the X11 utils and driver
    • Unpack the sources tar -xjvf xf86-input-wacom-0.10.8.tar.bz2
    • cd xf86-input-wacom-0.10.8
    • Configure the build ./configure
    • Build make
    • Install (root access required)make install
  • Create a udev rule (root access required)
    • With your favorite editor open /etc/udev/rules.d/60-wacom.rules
    • Add the following code
      # udev rules for wacom tablets.
      KERNEL!="event[0-9]*", GOTO="wacom_end"
      # Multiple interface support for stylus and touch devices.
      DRIVERS=="wacom", ATTRS{bInterfaceNumber}=="00", ENV{WACOM_TYPE}="stylus"
      DRIVERS=="wacom", ATTRS{bInterfaceNumber}=="01", ENV{WACOM_TYPE}="touch"
      # Convenience links for the common case of a single tablet. We could do just this:
      #ATTRS{idVendor}=="056a", SYMLINK+="input/wacom-$env{WACOM_TYPE}"
      # but for legacy reasons, we keep the input/wacom link as the generic stylus device.
      ATTRS{idVendor}=="056a", ENV{WACOM_TYPE}!="touch", SYMLINK+="input/wacom"
      ATTRS{idVendor}=="056a", ENV{WACOM_TYPE}=="touch", SYMLINK+="input/wacom-touch"
      # Check and repossess the device if a module other than the wacom one
      # is already bound to it.
      ATTRS{idVendor}=="056a", ACTION=="add", RUN+="check_driver wacom $devpath $env{ID_BUS}"
      LABEL="wacom_end"
  • Regenerate the module dependencies depmod -e

There you go, now you can connect the tablet, fire up GIMP and be creative.