Wacom

From CBLFS
Revision as of 15:50, 19 March 2009 by Jciccone (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search
Download Source: http://downloads.sourceforge.net/linuxwacom/linuxwacom-0.7.8.tar.bz2

Introduction to Wacom

The Linux Wacom Project manages the drivers, libraries, and documentation for configuring and running Wacom graphic tablets under the Linux operating system. It contains diagnostic applications as well as updated kernel drivers and XFree86/X11R6 XInput drivers.

Project Homepage: http://linuxwacom.sourceforge.net/

Dependencies

Caution.png

Note

The current version, 0.7.8, has problems when using xsetwacom if you have build your Xorg7 with XCB. You may want to refer to the home page for a new version that fixes these problems.

Required

Recommended

  • Gtk2 using the ./configure option --with-xinput=yes

Configuration Information

Prior to building the driver, make sure the kernel is configured with support for HID and Input device support (INPUT_EVDEV). Newer kernels also contain support for the Wacom tablets; if you plan to use the newer kernel module available with the libwacom driver, make sure you have this option built as a module.

Non-Multilib

Compile the package:

./configure --prefix=/usr --enable-dlloader &&
make

Install the package:

make install

Multilib

32Bit

Compile the package:

CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" \
PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" USE_ARCH=32 ./configure \
--prefix=/usr --x-libraries=/usr/lib --build=i686-pc-linux-gnu \
--host=i686-pc-linux-gnu --disable-xserver64 --enable-dlloader \
--with-arch=32 --with-xlib=/usr/lib --enable-wacom &&
make

Install the package:

make install

N32

To do

64Bit

Compile the package:

CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" \
PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" USE_ARCH=64 ./configure \
--prefix=/usr --libdir=/usr/lib64 --x-libraries=/usr/lib64 \
--enable-xserver64 --enable-dlloader --with-arch=64 --with-xlib=/usr/lib64 \
--enable-wacom &&
make

Install the package:

make install

Configuring

Udev rules

If you are using udev, you may want to create a new rule to assign a static name to the device.

cat > /etc/udev/rules.d/10-wacom.rules << "EOF"
KERNEL=="event*", ATTRS{idVendor}=="056a", NAME="input/%k", SYMLINK="input/wacom%e"
EOF

Restart udev daemon:

/etc/rc.d/init.d/udev force-reload

X configuration

Edit the xorg.conf file and add the necessary configuration.

There's a known problem concerning mice and the Wacom driver loaded if the tablet is not plugged in. Make sure your mouse configuration does not use the device /dev/input/mice but instead /dev/input/mouse0 (or whatever you have on your system).

In the Section "ServerLayout" add:

InputDevice    "Stylus0" "SendCoreEvents"
InputDevice    "Eraser0" "SendCoreEvents"
InputDevice    "Cursor" "SendCoreEvents"

If you have an Intuos3, Cintiq 21UX, Graphire4, or Bamboo tablet, also add this line:

InputDevice    "Pad"

Create these new sections:

Section "InputDevice"
 Driver        "wacom"
 Identifier    "Stylus0"
 Option        "Device"        "/dev/ttyS0"          # SERIAL ONLY
 Option        "Device"        "/dev/input/wacom"    # USB ONLY
 Option        "Type"          "stylus"
 Option        "USB"           "on"                  # USB ONLY
 Option        "ForceDevice"   "ISDV4"               # Tablet PC ONLY
EndSection

Section "InputDevice"
 Driver        "wacom"
 Identifier    "Eraser0"
 Option        "Device"        "/dev/ttyS0"          # SERIAL ONLY
 Option        "Device"        "/dev/input/wacom"    # USB ONLY
 Option        "Type"          "eraser"
 Option        "USB"           "on"                  # USB ONLY
 Option        "ForceDevice"   "ISDV4"               # Tablet PC ONLY
EndSection

Section "InputDevice"
 Driver        "wacom"
 Identifier    "Cursor"
 Option        "Device"        "/dev/ttyS0"          # SERIAL ONLY
 Option        "Device"        "/dev/input/wacom"    # USB ONLY
 Option        "Type"          "cursor"
 Option        "USB"           "on"                  # USB ONLY
 Option        "ForceDevice"   "ISDV4"               # Tablet PC ONLY
EndSection

If you have an Intuos3, Cintiq 21UX, Graphire4, or Bamboo tablet, also add this section:

Section "InputDevice"
 Driver        "wacom"
 Identifier    "Pad"
 Option        "Device"        "/dev/ttyS0"          # SERIAL ONLY
 Option        "Device"        "/dev/input/wacom"    # USB ONLY
 Option        "Type"          "pad"
 Option        "USB"           "on"                  # USB ONLY
EndSection

Restart X to use the new configuration.

GTK configuration

If you have not already done so, re-build Gtk2 with the option --with-xinput=yes. Without it, you will not be able to use the extended information (i.e. pressure, tilt, rotation) from the graphical tablet in GIMP or other programs supporting it.

GIMP configuration

Start GIMP and click on menu File, Preferences, select the section Input Devices and click the Configure Extended Input Devices button. For each device (Stylus0, Eraser0, Cursor and Pad, if you have it), select Mode Screen. This will allow you to use the devices outside the image's window; if you want to restrict the cursor to the image, choose Mode Window instead.

If you receive a message that you have no extended input devices, your GTK has not been properly configured.

Customizing the tablet and extra buttons

You can customize the extra buttons using the xsetwacom program:

xsetwacom Stylus0 Button2 "core key ctrl shift b"

(This will set the second button on the stylus to the keyboard shortcut Ctrl+Shift+B, which by default is mapped to the Brushes dialog in GIMP.)

You can also add the customization inside xorg.conf.

Tip: By default, the tablet's whole area is mapped out to the screen. If your screen does not have the same X/Y ratio as the tablet's area, this will cause horizontal lines to be "stretched out" over a larger area than the area needed for the same vertical line (or the other way around). If you want a 1:1 mapping, you can reduce the tablet's area according to a few simple calculations:

Screen's X resolution / Tablet's X resolution = X Ratio Screen's Y resolution / Tablet's Y resolution = Y Ratio

If X Ratio is bigger than Y Ratio, you want to reduce the Tablet's Y resolution:

Screen's Y resolution * Tablet's X resolution / Screen's X resolution = Tablet's Y new resolution

You can set it with

xsetwacom set Stylus0 BottomY <Tablet's Y new resolution>
xsetwacom set Eraser0 BottomY <Tablet's Y new resolution>

You do not need to set this for the Cursor and Pad devices, since Cursor (the mouse that came with the tablet) uses relative mode (mouse cursor moves from the last place on the screen) as opposed to the Stylus0 and Eraser0, which use absolute mode (mouse cursor "jumps" into the new position, according to where you place the pen on the tablet).

If the X Ratio is smaller, reduce the Tablet's X resolution with this formula:

Screen's X resolution * Tablet's Y resolution / Screen's Y resolution = Tablet's X new resolution

If you don't want to repeat these calculations/settings every time you start X, enter them in the xorg.conf file.

Section "InputDevice"
 Driver        "wacom"
 Identifier    "Stylus0"
 Option        "Device"        "/dev/input/wacom"    # USB ONLY
 Option        "Type"          "stylus"
 Option        "USB"           "on"                  # USB ONLY
 Option        "BottomY"       "<Tablet's Y new resolution>" # If your X ratio is bigger
 Option        "BottomX"       "<Tablet's X new resolution>" # If your X ratio is smaller
EndSection

Section "InputDevice"
 Driver        "wacom"
 Identifier    "Eraser0"
 Option        "Device"        "/dev/input/wacom"    # USB ONLY
 Option        "Type"          "eraser"
 Option        "USB"           "on"                  # USB ONLY
 Option        "BottomY"       "<Tablet's Y new resolution>" # If your X ratio is bigger
 Option        "BottomX"       "<Tablet's X new resolution>" # If your X ratio is smaller
EndSection

Using several pen

If you have several pen, you can define them in xorg.conf, using the "Serial" option in each Stylus/Eraser device. First, change the Wacom driver's debug verbosity:

xsetwacom set Stylus0 CommonDBG 6

Approach the first pen to the tablet and read the end of the /var/log/Xorg.0.log, looking for the serial number of the pen. Write it down, then approach the second pen to the tablet and read the new serial number. Next, edit xorg.conf and add the configuration:

Section "InputDevice"
 Driver        "wacom"
 Identifier    "Stylus0"
 Option        "Device"        "/dev/input/wacom"    # USB ONLY
 Option        "Type"          "stylus"
 Option        "USB"           "on"                  # USB ONLY
 Option        "Serial"        "<first serial #>"
EndSection

Section "InputDevice"
 Driver        "wacom"
 Identifier    "Eraser0"
 Option        "Device"        "/dev/input/wacom"    # USB ONLY
 Option        "Type"          "stylus"
 Option        "USB"           "on"                  # USB ONLY
 Option        "Serial"        "<first serial #>"
EndSection

Section "InputDevice"
 Driver        "wacom"
 Identifier    "Stylus1"
 Option        "Device"        "/dev/input/wacom"    # USB ONLY
 Option        "Type"          "stylus"
 Option        "USB"           "on"                  # USB ONLY
 Option        "Serial"        "<second serial #>"
EndSection

Section "InputDevice"
 Driver        "wacom"
 Identifier    "Eraser1"
 Option        "Device"        "/dev/input/wacom"    # USB ONLY
 Option        "Type"          "stylus"
 Option        "USB"           "on"                  # USB ONLY
 Option        "Serial"        "<second serial #>"
EndSection

Remember to enable it in GIMP's preferences also.

Contents

Installed Directories: /usr/include/wacomcfg
Installed Programs: wacdump, wacomcpl, wacomcpl-exec, xsetwacom
Installed Libraries: libwacomcfg.{a,so}, libwacomxi.{a,so}

Short Descriptions

wacomdmp is a program that dumps events from the tablet, useful for verifying your tablet works.
xsetwacom is a program that allows you to set and get the current configuration of the tablet on the fly, without modifying the X configuration file and restarting. - currently not working with XCB
wacomcpl,wacomcpl-exec Graphical GUI for changing the current configuration of the tablet on the fly. It modifies the .xinitrc file in the running user's home directory. - currently not working with XCB