Using Wacom Intuos3 Tablet with Gentoo Linux

Posted: August 11, 2008 in Linux

I’m now the proud owner of a new Intuos3 Tablet to use with GIMP for drawing and photo editing. This is really a great piece of hardware but like so often they don’t officially support linux but there is the linux wacom project that offers a Linux/X11 driver.

I configured my X Server according to this howto:

http://gentoo-wiki.com/HOWTO_Wacom_Tablet

which is pretty straight forward, the only exception is expresskeys.

So here is what I did to get it running.

  1. Configuring the kernel
    Activate the wacom driver in the kernel:

    Device Drivers --->
        Input device support --->
             Event interface
            [*] Tablets --->
                  Wacom Intuos/Graphire tablet support (USB)
  2. Installing linuxwacom driver for Xorg
    You need the new package linux-wacom-0.8.0_p3-r1, the default version that is actual in portage at this time linux-wacom-0.7.8_p3 doesn’t work. So you need to unmask the newer package before emerging.
  3. echo "x11-drivers/linuxwacom ~x86" >> /etc/portage/package.keywords
    Install the X11 driver.
    emerge -av linuxwacom
  4. Xorg Configuration
    Xorg needs to be compiled with wacom support. So add wacom to the INPUT_DEVICES section in your make.conf and re-emerge xorg-server.
    Example:
  5. /etc/make.conf
    INPUT_DEVICES="keyboard mouse wacom"
    installing:
    emerge -pv xorg-server (check dependencies)
    emerge xorg-server (do the install if everything is fine)

    It is recommended to don’t use SendCoreEvents for the pad. The important thing in xorg.conf is that I don’t use SendCoreEvents for all wacom devices, not just for the pad. Otherwise they didn’t work for me.

    Section "ServerLayout"
      Identifier "X.org Configured"
      Screen 0 "Screen0" 0 0
      InputDevice "Keyboard0" "CoreKeyboard"
      InputDevice "Touchpad" "CorePointer"
      InputDevice "PS2Mouse" "SendCoreEvents"
      InputDevice "cursor"
      InputDevice "stylus"
      InputDevice "eraser"
      InputDevice "pad"
    EndSection
    
    Section "InputDevice"
      Driver "wacom"
      Identifier "cursor"
      Option "Device" "/dev/input/wacom"
      Option "Type" "cursor"
      Option "USB" "on"
      Option "Vendor" "WACOM"
      Option "Mode" "Relative"
    EndSection
    
    Section "InputDevice"
      Driver "wacom"
      Identifier "stylus"
      Option "Device" "/dev/input/wacom"
      Option "Type" "stylus"
      Option "USB" "on"
      Option "Vendor" "WACOM"
      Option "tilt" "on" # add this if your tablet supports tilt
      Option "Threshold" "5" # the official linuxwacom howto advises this line
      Option "Mode" "Absolute"
    EndSection
    
    Section "InputDevice"
      Driver "wacom"
      Identifier "eraser"
      Option "Device" "/dev/input/wacom"
      Option "Type" "eraser"
      Option "USB" "on"
      Option "Vendor" "WACOM"
      Option "tilt" "on" # add this if your tablet supports tilt
      Option "Threshold" "5" # the official linuxwacom howto advises this line
      Option "Mode" "Absolute"
    EndSection
    
    Section "InputDevice"
      Driver "wacom"
      Identifier "pad"
      Option "Device" "/dev/input/wacom"
      Option "Type" "pad"
      Option "USB" "on"
      Option "Vendor" "WACOM"
      #Option "ButtonsOnly" "on"
    EndSection
  6. Make the pad working
  7. It is recommended to install expresskeys to get the pad keys working. I could not get it working but have found another simple solution.

    Regarding expresskeys: I tried expresskeys-0.4.2 but this version could not detect the wacom tablet although xidump -l shows it. So from the Xorg side it works. I found out that the a line in get_device.c must be changed to support the actual wacom driver version.

    Original:
    467 if (xdevice_list[i].use == IsXExtensionDevice)
    Changed:
    467 if (xdevice_list[i].use == IsXExtensionDevice ||
    468 xdevice_list[i].use == IsXExtensionPointer) {

    With this line the tablet gets detected but still does not work for me, I just get another error.

    Solution: You can map the tablet pad also to simple key strokes without expresskeys, this way I can use it in GIMP without any problems. Just use xsetwacom to configure your pad. I use the following script to setup the pad for GIMP.

    #!/bin/bash
    
    # set scrolling with ring
    xsetwacom set pad striplup "key core pgup"
    xsetwacom set pad stripldn "key core pgdn"
    
    # set zoom with ring
    xsetwacom set pad striprup "core key -"
    xsetwacom set pad striprdn "core key +"
    
    # Button  to Ctrl Z (undo)
    xsetwacom set pad Button3 "core key ctrl z"
    # Button FN2 to Ctrl Y (redo)
    xsetwacom set pad Button4 "core key ctrl y"
    # Button for pencil
    xsetwacom set pad Button5 "core key n"
    # Button for brush
    xsetwacom set pad Button6 "core key p"
    # Button for ink
    xsetwacom set pad Button7 "core key k"
    # Button for eraser
    xsetwacom set pad Button8 "core key shift e"
  8. Configuring GIMP
    You can configure GIMP using the menu File->Preferences, then choose the section “Input Devices” and click the button “Configure Extended Input Devices…”.
    In this dialog you can activate the stylus, cursor and eraser device by setting Mode to “Screen”, but don’t activate the pad device. This just works using keyboard shortcuts and don’t need any further configuration.
    Now the tablet should work with GIMP including pressure sensitivity, tilt sensitivity and the pad keys.
    I hope this blog could help you. Have fun with your new tablet ;-)
About these ads
Comments
  1. Alex says:

    Your blog is interesting!

    Keep up the good work!

  2. mouac says:

    Thanks. I followed all your steps. When I plugged in my Intuos 6×8, it kept disconnecting and reconnecting. I had to restart for the device to connect properly and start working. Again, thanks for xorg guide, because the Wiki is now gone.

  3. Thank you for your guide! This is really helpfull.

    I think that those
    InputDevice “cursor”
    InputDevice “stylus”
    InputDevice “eraser”

    Should be:
    InputDevice “cursor” “SendCoreEvents”
    InputDevice “stylus” “SendCoreEvents”
    InputDevice “eraser” “SendCoreEvents”

    (just not the ‘pad’). I had to add it, in order to have my intuos3 working.

    Thanks.

    Adriaan Graas

    • gergap says:

      Hi Adriaan

      actually it depends on what version you use. Most guides add this SendCoreEvents, but with my version it worked only without it. But meanwhile, after updating to newer version I also needed to add that. So nowadays I would recommend at add it too, but if it doesn’t work it is also worth to try it without it.

  4. Wow! After all I got a website from where I know how to truly take useful information regarding my study and knowledge.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s