2011-11-30

Using Wacom Bamboo CTH-470 and CTH-670 in Ubuntu 11.10 Oneiric Ocelot

As of today, the Wacom drivers in the latest kernel version in Oneiric (3.0.0-13) don't include support for the latest batch of Wacom tablets, so if we want to make it work we have do download and compile the driver ourselves.

There already are instructions on how to do it here, but I decided to write it in a more organized way.

Start by downloading the file wacom-bamboo.tar.gz from here (it's attached to the third post). Then open a terminal and uncompress it:
 $ gzip -dc wacom-bamboo.tar.gz | tar xvof -
 $ cd wacom
You will need to install the following packages to be able to compile the driver:
 $ sudo apt-get install build-essential libx11-dev libxi-dev x11proto-input-dev xserver-xorg-dev libxrandr-dev libncurses5-dev autoconf libtool
And the kernel headers:
 sudo apt-get install linux-headers-generic
We compile the module and copy it to its appropriate destination with the following commands:
 $ make -C /lib/modules/$(uname -r)/build SUBDIRS=$(pwd) modules
 $ sudo cp ./wacom.ko /lib/modules/`uname -r`/kernel/drivers/input/tablet/wacom.ko
Finally we need to update the list of module dependencies so the kernel can find our new driver:
 $ sudo depmod -a
After doing all this, just unplugging and plugging our tablet should get it working.

You can change a few of the tablet's settings, like button mapping and tablet orientation, by going to System Settings -> Wacom Graphics Tablet.

A thing that I found very annoying when trying to use my CTH-470 was that, since it includes finger support, it would keep detecting my hand and clicking around randomly when I was just trying to use the pen input, so I'm going to explain how to disable finger input using the xsetwacom command.

Open a terminal and write the following command:
 $ xsetwacom --list devices  
 Wacom Bamboo 16FG 4x5 Finger touch id: 13 type: TOUCH     
 Wacom Bamboo 16FG 4x5 Finger pad  id: 14 type: PAD      
 Wacom Bamboo 16FG 4x5 Pen stylus  id: 15 type: STYLUS    
 Wacom Bamboo 16FG 4x5 Pen eraser  id: 16 type: ERASER  
It will print a list of devices in our tablet as displayed. In our case, the one we are interested in is "Wacom Bamboo 16FG 4x5 Finger touch". Next we will disable it with the following command (modify according to the output of the previous command):
 $ xsetwacom set "Wacom Bamboo 16FG 4x5 Finger touch" Touch off  
In case we want to turn it on again, we can just replace off with on in the previous command. This configuration will be reset when we log out, so if you want to keep it always off you can write the command in a shell script and add it to the list of startup applications.

In case you want to change other settings besides the ones available in System Settings, please refer again to this thread in Ubuntu Forums.

original source (Japanese)

8 comments:

  1. Great reference! I had to dig through the ubuntu forum posts to figure this out. A recent kernel update meant I had to return to this again. I have written a small python script to disable touch on the tablet as I find this annoying. Here is the code.
    [code]
    #!/usr/bin/python

    import sys
    from subprocess import call, Popen
    import subprocess

    devices = Popen(['xsetwacom', 'list', 'devices'], stdout=subprocess.PIPE).communicate()

    devices = devices[0].split('\n')
    touch_device = ''
    for i in devices:
    if 'TOUCH' in i:
    touch_device = i.split('\t')[1].split(' ')[1]

    Popen(['xsetwacom', '--set', touch_device, 'Touch', 'off'])
    [code]

    ReplyDelete
  2. This description is excellent and also got my CTH-670 working under opensuse 12.1.

    Thank you !

    Details on my installation:
    ---------------------------------------------------------------
    My kernel version:

    Linux linux-fj4n 3.1.9-1.4-default #1 SMP Fri Jan 27 08:55:10 UTC 2012
    (efb5ff4) x86_64 x86_64 x86_64 GNU/Linux


    ---------------------------------------------------------------
    My X version (I am working on KDE 4.7.2, release 5):

    X.Org X Server 1.10.4
    Release Date: 2011-08-19
    X Protocol Version 11, Revision 0


    ---------------------------------------------------------------
    The hotplugger daemon recognizes the device:

    T: Bus=05 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 3 Spd=12 MxCh= 0
    D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=32 #Cfgs= 1
    P: Vendor=056a ProdID=00df Rev=01.00
    S: Manufacturer=Wacom Co.,Ltd.
    S: Product=CTH-670
    C: #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=498mA
    I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=(none)
    I: If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=(none)


    ---------------------------------------------------------------
    Contents of my /etc/X11/xorg.conf.d/50-wacom.conf:


    Section "InputClass"
    Identifier "Wacom class"
    # WALTOP needs a patched kernel driver, that isn't in mainline lk yet,
    # so for now just let it fall through and be picked up by evdev instead.
    # MatchProduct "Wacom|WALTOP|WACOM"
    MatchProduct "Wacom|WACOM|Hanwang"
    MatchDevicePath "/dev/input/event*"
    Driver "wacom"
    EndSection

    Section "InputClass"
    Identifier "Wacom serial class"
    MatchProduct "Serial Wacom Tablet"
    Driver "wacom"
    EndSection

    Section "InputClass"
    Identifier "Wacom serial class identifiers"
    MatchProduct "WACf|FUJ02e5|FUJ02e7|FUJ02e9"
    Driver "wacom"
    EndSection


    # N-Trig Duosense Electromagnetic Digitizer
    Section "InputClass"
    Identifier "Wacom N-Trig class"
    MatchProduct "HID 1b96:0001|N-Trig Pen"
    MatchDevicePath "/dev/input/event*"
    Driver "wacom"
    Option "Button2" "3"
    EndSection

    ReplyDelete
  3. Worked perfectly for my Bamboo touch, kick ass man!

    ReplyDelete
  4. The easiest way to turn touch off when Ubuntu 11.10 Oneiric Ocelot starts, is to open "Start-up Applications" in Preferences, add application and type or copy "xsetwacom set "Wacom Bamboo 16FG 4x5 Finger touch" Touch off" into the space for the application command. This command works for the Wacom Bamboo Pen & Touch.

    ReplyDelete
  5. Great instructions! Followed these step by step at my Kubuntu, and experienced no problems so far. It works!

    ReplyDelete
  6. Thanks! Works fine on Ubuntu 11.10 (Bamboo CTH470)!!

    ReplyDelete
  7. Thanks a ton. I'd tried a ton of stuff and this worked like a charm. Awesome.

    ReplyDelete
  8. Thank you very much, my Bamboo CTH470H, Ubuntu 11.1 work fine.

    ReplyDelete