Linux and Wacom tablets

From my experience I've learned that every configuration has one or more "Linux unfriendly" hardware. Not so long ago Wacom tablets were one of those stubborn pieces of an equipment. It's true that Wacom driver existed but it wasn't included in your favorite distribution. You had to go to The Linux Wacom Project web page, and download unofficial Wacom driver in its source version. Then you had to spend a few days compiling, crunching through online documents and trough your distributions configuration files adding lines in hope that somehow it'll work.

In the recent years things began to look better for our tablets. Now almost every Linux distribution has a Wacom driver included. It may not be the newest version, but Wacom driver is very mature and in 90% of cases works just fine. So now with a driver included in your distribution you're just a few mouse clicks (keyboard clicks to be precise) away from working tablet in your Linux distribution. I will take the Ubuntu as an example...

Ubuntu 10.10 (Maverick Meerkat ) and Ubuntu 11.04 (Natty Narwhal)

Things have changed many times since i first wrote this post. If you want to tweak your Wacom tablet in Ubuntu 10.10 yous should edit /usr/share/X11/xorg.conf.d/50-wacom.conf in the same way that is mentioned at the bottom of this post to edit xorg.conf. You can enter this command to edit mentioned file:

gksudo gedit /usr/share/X11/xorg.conf.d/50-wacom.conf

Ubuntu 9.10 (Karmic Koala), Ubuntu 10.04 (Lucid Lynx)

If you want to tweak your Wacom tablet in Ubuntu 9.04/10.04 you should edit /usr/lib/X11/xorg.conf.d/10-wacom.conf in the same way that is mentioned at the bottom of this post to edit xorg.conf. You can enter this command to edit mentioned file:

gksudo gedit /usr/lib/X11/xorg.conf.d/10-wacom.conf

This is default 10-wacom.conf in Ubuntu 10.04

Section "InputClass"
    Identifier "Wacom class"
    MatchProduct "Wacom|WACOM"
    MatchDevicePath "/dev/input/event*"
    Driver "wacom"
EndSection
 
Section "InputClass"
    Identifier "Wacom serial class"
    MatchProduct "Serial Wacom Tablet"
    Driver "wacom"
    Option "ForceDevice" "ISDV4"
EndSection
 
# N-Trig Duosense Electromagnetic Digitizer
Section "InputClass"
    Identifier "Wacom N-Trig class"
    MatchProduct "HID 1b96:0001"
    MatchDevicePath "/dev/input/event*"
    Driver "wacom"
EndSection

To customize buttons you can add options to section with Identifier "Wacom class". You can add options like:

#Option "Button2" "2"
#Option "Button3" "3"
Option "KeepShape" "on"
Option "Mode" "Relative"

First two options can be used to remap buttons (# sign means that the option is disabled until # is removed), and third option is used like "Force proportions" option in Microsoft Windows operating system. Essentially it corrects difference between your monitor aspect ratio and aspect ratio of your tablet. The last option is used to set your Wacom tablet to relative mode (like mouse) or to true absolute mode ("Absolute" instead "Relative").

For more options enter at your terminal prompt:

man wacom

Older Ubuntu versions (Hardy, Jaunty...)

Until the Intrepid Ibex (8.10) came along with it's Xorg server 1.5 you still had to go through Xorg.conf file to accomplish any compliance with most Wacom tablets. In Ubuntu 8.10 most tablets work out of the box, but without fancy features like special buttons on the pen and with no pressure sensitivity.  I will concentrate here on Ubuntu 8.10 where you still have to go through xorg.conf (start treminal and type: sudo gedit /etc/X11/xorg.conf) to get 100% of your Wacom tablet.

This is an example of default xorg.conf from fresh Ubuntu 8.10 install:

Section "Device"
    Identifier "Configured Video Device"
EndSection
 
Section "Monitor"
    Identifier "Configured Monitor"
EndSection
 
Section "Screen"
    Identifier "Default Screen"
    Monitor "Configured Monitor"
    Device "Configured Video Device"
EndSection

As you can see, the new Xorg 7.4 (xorg-server 1.5) does all the configuration on it's own. But it's not yet powerful enough to completely configure devices like tablets. In the case off Ubuntu 8.04 the default configuration is bit bigger, due to older and less powerful version off Xorg 7.3 (xorg-server 1.4). Nevertheless, following instructions apply to both versions of Ubuntu, but have only been tested on Wacom Volito 2 and Wacom Bamboo One one.

The first step towards working Wacom tablet is to insert the following lines in your xorg.conf:

Section "InputDevice"
    Driver "wacom"
    Identifier "stylus"
    Option "Device" "/dev/input/wacom"
    Option "Type" "stylus"
    Option "USB" "on"
    Option "KeepShape" "on"
EndSection
 
Section "InputDevice"
    Driver "wacom"
    Identifier "cursor"
    Option "Device"	"/dev/input/wacom"
    Option "Type"	"cursor"
    Option "USB"	"on"
EndSection

The placement of Section "something" and EndSection in the xorg.conf file doesn't matter, but it can't be between already defined pair because that would break X server. This next step is not for every Wacom tablet. Only if your tablet has an eraser:

Section "InputDevice"
    Driver "wacom"
    Identifier "eraser"
    Option "Device" "/dev/input/wacom"
    Option "Type" "eraser"
    Option "USB" "on"
EndSection

The last thing that you must do to have a fully working tablet in Ubuntu Linux operating system is to add this section to your xorg.conf, or if your xorg.conf already has "ServerLayout" pair, add only middle three lines to it. If your tablet has no eraser, leave out the "eraser" line.

Section "ServerLayout"
    Identifier "Default Layout"
    screen "Default Screen"
    InputDevice "stylus" "SendCoreEvents"
    InputDevice "cursor" "SendCoreEvents"
    InputDevice "eraser" "SendCoreEvents"
EndSection

Here's finished xorg.conf for Ubuntu 8.10 made by this instructions:

Section "Device"
    Identifier "Configured Video Device"
EndSection
 
Section "InputDevice"
    Driver "wacom"
    Identifier "stylus"
    Option "Device" "/dev/input/wacom"
    Option "Type" "stylus"
    Option "USB" "on"
    Option "KeepShape" "on"
EndSection
 
Section "InputDevice"
    Driver "wacom"
    Identifier "eraser"
    Option "Device" "/dev/input/wacom"
    Option "Type" "eraser"
    Option "USB" "on"
EndSection
 
Section "InputDevice"
    Driver "wacom"
    Identifier "cursor"
    Option "Device" "/dev/input/wacom"
    Option "Type" "cursor"
    Option "USB" "on"
EndSection
 
Section "Monitor"
    Identifier	"Configured Monitor"
EndSection
 
Section "Screen"
    Identifier "Default Screen"
    Monitor "Configured Monitor"
    Device "Configured Video Device"
EndSection
 
Section "ServerLayout"
    Identifier "Default Layout"
    Screen "Default Screen"
    Inputdevice "stylus" "SendCoreEvents"
    InputDevice "eraser" "SendCoreEvents"
    Inputdevice "cursor"	"SendCoreEvents"
EndSection

That's it. Now you have a fully functional Wacom tablet under linux operating system with pressure sensitivity and all bells and whistles supported under Windows operating system. You can also click on "comments" at the top-right of the article if you have a question, or something to add. Enjoy!

DevGenii

E-commerce is a breeze with Magento Certified Developer Plus & Zend Certified PHP Engineer nearby. Get in touch!

One thought on “Linux and Wacom tablets

  1. Mirna

    I must say, this is very usefull theme for people like me, who need tablets in everyday life. Thank you, you helped me a lot with this usefull informations.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *