This HOW TO installs input-wacom's wacom.ko (the usb driver/module) & Xorg's xf86-input-wacom, the Wacom X driver, in Isadora (Lucid 10.04), Katya (Natty 11.04), Lisa (Oneiric 11.10), & Maya (Precise 12.04). In Isadora you can also install linuxwacom's wacom.ko, although it is suggested you use input-wacom. It demonstrates how to patch the kernel's wacom.ko (using Katya's 2.6.38 kernel as an example) along with dkms implementation of the patched module (see Appendices 1 & 2).
Last Updated: October 27, 2013
Linuxwacom's input-wacom - the USB kernel module/driver This is a backport version of the usb kernel driver wacom.ko and supports kernels from 2.6.26 to 3.2; the plan is to release a version paired with each xf86-input-wacom (the X driver) point release. It also contains the new serio version of the ISDV4 driver wacom_w8001.ko along with inputattach.
input-wacom-0.19.1 has been released (10-24-13). Improves usability of Intuos touch-enabled tablets in kernels 2.6.30 through 2.6.35. Adds support for the ISDv4 0x10F digitizer. Support for the Intuos Pen and Touch tablets (CTL-480, CTH-480, and CTH-680) targeted for the upcoming release of input-wacom 0.20.0.
input-wacom-0.19.0 has been released (10-04-13). Adds support for the 3.7 kernel, the Cintiq Companion Hybrid, Intuos Pro, and the 0x300/0x301 ISDv4 digitizers. Also a few bug fixes. Support for the "Intuos Pen", "Intuos Pen & Touch", and "Intuos Manga" models is expected to be available in the next input-wacom release.
input-wacom-0.18.0 has been released (6-11-13). Adds a new stylus (0x100802) for Intuos5 and Cintiqs. Updates wacom_tpc_mt to simulate two finger touch events.
input-wacom-0.17.0 has been released (5-17-13). Adds support for new input-mt changes. Addd support for DTH-2242, 0x10d, Cintiq 13HD, DTK 2241, and Cintiq 22HDT.
input-wacom-0.16.0 has been released (12-19-12). Adds new MT device (0x4001) and fixes touch support for Bamboo Fun CTH-461 in the 2.6.38 and 3.7 folders.
input-wacom-0.15.0 has been released (11-15-12). Adds Cintiq 22HD (2.6.30+, 2.6.36+, 2.6.38+, 3.7+; Touch Finger: 2.6.38+, 3.7+). Adds 3 new tablet PC's: 0x4001 (2.6.30+), 0x100 (2.6.38+, 3.7+), 0x101 (2.6.38+, 3.7+). Introduces a new tree for Linux 3.7+ and brings it and the 2.6.38 tree in sync with the driver present in Dmitry's current 'next' branch.
input-wacom-0.14.0 has been released (7-19-12). Adds Bamboo 2nd and 3rd gen support for 2.6.30+ kernels. Also adds Intous5 touch support in 2.6.30+. Fixes the E6 (Thinkpad X 220t) bug.
Xorg's xf86-input-wacom - the X driver
xf86-input-wacom 0.23.0 has been released (9-28-13). Adds support for the "Intuos Pro" tablets. New "Intuos" line not yet supported. Support expected in next release.
xf86-input-wacom 0.22.0 has been released (7-10-13). Adds support for the Cintiq 22HDT and 13HD, DTK2241 and DTH2242, 0xED, and 0xEC. Transform touch events just like all other events so for e.g. Wacom Rotation property applies to touch.
xf86-input-wacom 0.21.0 has been released (4-29-13). Adds support for the 0x10d. Fixes puck buttons. Made touchscreens direct touch devices.
xf86-input-wacom 0.20.0 has been released (3-4-13). Fixes bugs in the property setting code, and resolves a gnome-control-center issue where settings were not properly applied. Also work to fix small problems with the pen/touch arbitration code.
xf86-input-wacom 0.19.0 has been released (1-3-13). Adds support for the 0x4001, TabletPC sensor with 10-finger touch. Multiple bug fixes.
xf86-input-wacom 0.18.0 has been released (10-29-12). Adds three new multi-touch (MT) ISDv4 (tablet PC) devices (E5, 100, 101). Support for the Cintiq 24HD touch, no input device grab by default (allowing tools like evtest to work within X), and support for XI2.2 multitouch (providing applications with position data for every hardware-tracked finger). It should be noted that the internal gesture recognizer consumes all the multitouch events at the moment. If you'd like the events to be passed along to applications (e.g. if your desktop environment supports multitouch gestures or you have software like "touchegg" installed), disable gesture recognizer by running `xsetwacom set TOUCH_DEVICE gesture off`. There is a known regression affecting the puck (Wacom tablet mouse i.e. Graphire and Bamboo) from 0.17.0 which was discovered very late in the RC and which could not be resolved in time for this release, see: https://bugs.freedesktop.org/show_bug.cgi?id=56536
xf86-input-wacom 0.17.0 has been released (9-5-12). Removes of so-called "raw" buttons from the driver core (cleanup work that shouldn't impact users) as well as the usual smattering of bug
fixes. Go forth and download!
xf86-input-wacom 0.16.1 has been released (8-27-12). 0.16.x series update. Adds 22HD support, fixes a 24HD bug and a freeze seen during tap processing.
Linuxwacom - the USB kernel module/driver and X driver in one package In maintenance.
linuxwacom 1.0.9.7 has been released (6-15-13). Adds new stylus (0x100802) for Intuos5 and Cintiqs. Backports rebasePressure from xf86-input-wacom to reset the minimum pressure.
linuxwacom 1.0.9.6 has been released (5-17-13). Adds support for Cintiq 13HD and DTK2241.
linuxwacom 1.0.9.5 has been released (7-21-12). Adds Cintiq 22HD support.
linuxwacom 1.0.9.4 has been released (4-25-12). Adds Intuos5 support.
Sources
Originally adapted from gali98's tutorial at post #5 on the "Tablet PC Issues" thread.
The Linux Wacom Tablet Project sourceforge site.
The Linux Wacom Project's mediawiki main page
The Linux Wacom Project's mediawiki xf86-input-wacom HOWTO's.
The Linux Wacom Project's mediawiki linuxwacom HOWTO's by Ping Cheng.
Mint/Ubuntu Release Specific Notes
Olivia (Mint 15)/Raring Ringtail (13.04):
Nadia (Mint 14)/Quantal Quetzal (12.10):
Maya (Mint 13)/Precise Pangolin (12.04): Has xf86-input-wacom-0.14.0 as the default. According to Timo Intuos5 support has been backported to 0.14.0. Serial graphics tablet support has been confirmed in Precise by testers through the new serio kernel drivers and inputattach, see Wacom serial graphics tablets HOW TO.
Warning 1 - There is an issue with compiling xf86-input-wacom. Debian/Ubuntu/Mint has customized their input ABI (X Server 1.11 and 1.12 hybrid) and it is no longer compatible with some upstream packages including xf86-input-wacom. Consequently if you compile xf86-input-wacom in Maya/Precise it will cause your system to not start if you have your Wacom tablet plugged in, or to crash/freeze if you plug it in after it has started. Subsequently you need to patch xf86-input-wacom with the attached below build_against_frankenserver.patch to make it compatible with the hybrid X Server. See "Section 2 - Xorg's xf86-input-wacom".
Warning 2 - Ubuntu Precise 12.04.2 was updated to include the Quantal kernel and X Server (which means you no longer need to run the frankenserver patch). Precise 12.04.3 has the Raring kernel and X Server (kernel 3.8 & X Server 1.13). If while compiling input-wacom when you run sudo apt-get install build-essential etc. the output asks if you want to remove a list of drivers and libraries ending with the suffixes -lts-quantal or -lts-raring, STOP! That will disable your system. The output would look similar to this bug report: https://bugs.launchpad.net/ubuntu/+sour ... ug/1137247The problem may be due to this bug: https://bugs.launchpad.net/ubuntu/+sour ... ug/1190148 Still not clear if this is a basic issue of these point release updates or perhaps due to similar instances of package cache corruption.
Lisa (Mint 12)/Oneiric Ocelot (11.10): Has xf86-input-wacom-0.11.0 as the default. There is a bug in Lisa that renders Wacom tablets and other graphic tablets unusable in Gimp. And perhaps affects more than Gimp. See this Launchpad bug report: https://bugs.launchpad.net/ubuntu/+sour ... bug/863154. Use Aapo Rantalainen's PPA to get a usable Gimp. Serial graphics tablet support has been confirmed in Oneiric by testers through the new serio kernel drivers and inputattach, see Wacom serial graphics tablets HOW TO.
Katya (Mint 11)/Natty Narwhal (11.4): Has xf86-input-wacom-0.10.11 as the default. And, for those who have it, multi-touch is still in flux. X.org's xf86-input-wacom will not include additional gesture support. The current plan is to support/bug fix the already implemented 2FGT gestures but no new gestures or 3 & 4 finger touch gestures will be added. The question of whether to place 3 & 4 FGT (currently just the two new BambooPT Special Editions) on the evdev driver with Ginn or the Synaptic touchpad driver remains open. Kernel support for 3 and 4FGT MT has not yet been implemented which renders finding an X driver for them rather moot. The wacom.ko will no longer be supplied by the Linux Wacom Project as a kernel module independently of the kernel except in the input-wacom package. The serial graphics tablet support issue is now being addressed by tokenrove and roaldfre through new serio kernel drivers and inputattach, see Wacom serial graphics tablets HOW TO.
Isadora (Mint 9)/Lucid Lynx (10.4) & Julia (Mint 10)/Maverick Meerkat (10.10): For X.Org's Xserver 1.7 (X11R7.5 or later) the X driver (wacom_drv.so) part of linuxwacom has been forked to become Xorg's driver xf86-input-wacom (the wacom-specific X11 input driver). Note that while xf86-input-wacom 0.10.x started appearing in the distros with X server 1.7 (Isadora) these are still the cleanup & add functionality versions. So be prepared to clone it again from the git after waiting a while if it is not working the way you would like. The version intended for extensive user testing, 0.11, is still in the future. This change removes a lot of legacy issues LinuxWacom has to deal with, which permits the xf86-input-wacom code cleanup. The LWP (Linux Wacom Project) will still be responsible for the kernel part of the Wacom drivers and the X11 input drivers for older Xservers (pre-1.7). Isadora's default version is the xf86-input-wacom 0.10.5 Xserver 1.7 X11 linuxwacom input driver while Julia's default is xf86-input-wacom 0.10.8. The packages are "xserver-xorg-input-wacom (1:0.10.5-0ubuntu2)" or "xserver-xorg-input-wacom (1:0.10.8-0ubuntu2)". As mentioned the Xorg driver is changing rapidly and updates are frequent.
Miscellaneous Notes
Attention Serial Graphics Tablet users. Your tablets, the legacy Wacom serial graphics tablets (external serial graphics tablets connecting via a serial cable), are not supported by the Linux Wacom Project with xf86-input-wacom. The xf86-input-wacom is the Wacom X driver fork from linuxwacom for X server 1.7 (Isadora/Lucid) and up. This turns out to have been due to lack of dev. resources not policy. Patches were submitted by non-project developers to restore Serial Tablets to xf86-input-wacom/Xserver 1.7[/b]. See the second patch set submitted on this: linuxwacom-discuss thread. They still needed work before acceptance into xf86-input-wacom. But even so serial tablets have set up in Isador/Lucid & Julia/Maverick using the patches. See this thread. Because development of the serial tablet patches stopped early during the 0.10.6+ tree they only work with xf86-input-wacom 0.10.6 and not later versions. And 0.10.6 won't build on Julia/Maverick's Xserver 1.9. Fortunately thorwil discovered how to get 0.10.6 with the serial patch to build in Maverick. He applied another small patch "dixScreenOrigins has been removed from server". Two other developers then came up with serio kernel modules to add serial graphics tablet support to Katya/Natty and later releases. For instructions to get your legacy Wacom serial graphics tablets working on all releases starting with Isadora/Lucid please see Wacom serial graphics tablets HOW TO.
Attention HP TX2z and Dell Latitude XT & XT2 (N-trig digitizer) users. We've figured out how to get multi-touch working in Julia/Maverick and later releases using Rafi's ntrig.ko's, ginn, and Ubuntu's utouch stack. Please see "HOW TO: Set up the HP TX2z and Dell XT & XT2 (N-trig digitizer) in Ubuntu". As of yet multi-touch is not working for the HP Slate 500 netbook.
Attention Waltop tablet in Julia/Maverick and later releases users. Waltop tablet pens work with the wacom X driver xf86-input-wacom starting with Julia. Please see the Waltop HOW TO. The HOW TO also helps Waltop tablets in Isadora/Lucid users place the tablet's pen on the WizardPen X driver. Waltop support was added to the xf86-input-wacom driver (5-31-10) with the merge of the Waltop branch to the git master. Unfortunately the Waltop usb driver in the hid part of the kernel did not quite fully support the pen buttons using the wacom X driver. Patches submitted by Nikolai Kondrashov to the kernel have fixed that in Katya. Please also see the DIGImend project for more information on Waltop tablets.
Summary
In this HOW TO we will download the source code from the Linux Wacom Project site, compile it, and then for USB tablets copy the wacom.ko driver to the correct module section. The wacom.conf in xorg.conf.d to configure the tablet should automatically be added (although you may need to manually add it in Isadora/Lucid). Next we further configure and calibrate (if needed) the tablet inputs using a custom wacom.conf, or a .xsetwacom.sh (a script of xsetwacom commands), or the Gnome or KDE configuration gui's (if available). This will give us a working graphics tablet or tablet PC. Then for tablet PC's a link leads to the Rotation HOW TO which provides screen rotation methods.
To install xf86-input-wacom you can download (clone) it from the git repository or use a release tar. Please see Section 2) below. If you have a Serial tablet PC (called by the LWP a serial ISDv4 device) that will supply you with the X driver, which is all you need. However if you have a USB tablet you may also need to compile input-wacom or linuxwacom to get the usb kernel driver/module wacom.ko. Just be sure to not do the "sudo make install" command in step 5) with linuxwacom. The linuxwacom X driver is not compatible with the 1.7 or later X servers. Skip that and go on to copy the wacom.ko into place in your kernel's modules directory. Linuxwacom 0.8.8-7 was the first to support the 2.6.35 kernel.
To configure you can still use the xorg.conf although the preferred way is now through a xorg.conf.d .conf file. See "a) Configuring through xorg.conf.d with the wacom.conf" in "Section 3: Configuring the Wacom Tablet/Devices". Don't become confused by Debian, Ubuntu, and Mint's early sprint for .conf files. While Disto.s using the vanilla 1.7 X Server still use HAL and .fdi files the hybrid 1.7/1.8 X Server found in Isadora/Lucid has made the change to xorg.conf.d .conf files. HAL and xorg.conf.d are both methods to support USB hot plugging in linux but HAL was a temporary work around and the permanent solution is xorg.conf.d.
Section 1 - The LinuxWacom's input-wacom: intended for supporting new Wacom models not yet in your kernel's wacom.ko. Download source code, compile, and install the USB kernel driver/module wacom.ko.
Input-wacom backports support for new models from newer kernels into a modified wacom.ko for kernels 2.6.26 to 3.2. You should use your Distro supplied wacom.ko kernel driver if possible as the code logic will differ between the two. A wacom.ko is only needed by USB tablets.
Currently at Linux Wacom Project the latest input-wacom release tar available is: input-wacom-0.19.1
(Just substitute the driver # you want in the following commands. It is better to copy and paste the commands into a terminal rather than type them.)
Please read the Release Specific Notes for your release before proceeding.
Note: if you are using Isadora/Lucid follow the Mini-HOW TO: Updating xorg-macros to v. 1.8 for Isadora/Lucid in Section 2 - Xorg's xf86-input-wacom below before proceeding.
a) Compile the input-wacom tar:
1) First download the source code tar onto the desktop. In a terminal enter:
Code: Select all
cd Desktop
wget http://prdownloads.sourceforge.net/linuxwacom/input-wacom-0.19.1.tar.bz2
Code: Select all
sudo apt-get update
sudo apt-get install build-essential libX11-dev libxi-dev x11proto-input-dev xserver-xorg-dev libxrandr-dev libncurses5-dev autoconf libtool
sudo apt-get upgrade
* If there are missing or unneeded dependencies please let me know.
3) Now the kernel headers for your kernel are needed. To determine your kernel version:
Code: Select all
uname -r
Code: Select all
sudo apt-get install linux-headers-generic
Code: Select all
sudo apt-get install linux-headers-rt
or
sudo apt-get install linux-headers-generic-pae
4) Okay now unpack the source code tar and go into the unpacked source code directory.
Code: Select all
tar xjvf input-wacom-0.19.1.tar.bz2
cd input-wacom-0.19.1
Code: Select all
./autogen.sh --prefix=/usr
6) Next we copy the module to the appropriate directory:
For Isadora (Lucid) use:
Code: Select all
sudo cp ./2.6.30/wacom.ko /lib/modules/`uname -r`/kernel/drivers/input/tablet/wacom.ko
Code: Select all
sudo cp ./2.6.38/wacom.ko /lib/modules/`uname -r`/kernel/drivers/input/tablet/wacom.ko
Code: Select all
sudo cp ./3.7/wacom.ko /lib/modules/`uname -r`/kernel/drivers/input/tablet/wacom.ko
Now rebuild all of the module dependencies:
Code: Select all
sudo depmod -a
7) You now need to restart.
b) Or clone and compile the input-wacom git repository:
Useful if support for a model or feature has been added since the last point release. To determine that see: http://linuxwacom.git.sourceforge.net/g ... a=shortlog
Code: Select all
cd Desktop
git clone git://git.code.sf.net/p/linuxwacom/input-wacom input-wacom
sudo apt-get update
(For Ubuntu and LMDE use libx11-dev instead of libX11-dev in the following command)
sudo apt-get install build-essential libX11-dev libxi-dev x11proto-input-dev xserver-xorg-dev libxrandr-dev libncurses5-dev autoconf libtool
sudo apt-get upgrade
uname -r
(If you have the generic kernel which most do.)
sudo apt-get install linux-headers-generic
(If you have the rt or pae kernel.)
sudo apt-get install linux-headers-rt
or
sudo apt-get install linux-headers-generic-pae
cd input-wacom
./autogen.sh --prefix=/usr
(If you are in Isador/Lucid or Julia/Maverick.)
sudo cp ./2.6.30/wacom.ko /lib/modules/`uname -r`/kernel/drivers/input/tablet/wacom.ko
or
(If you are in Katya/Natty or Lisa/Oneiric or Maya/Precise or Nadia/Quantal.)
sudo cp ./2.6.38/wacom.ko /lib/modules/`uname -r`/kernel/drivers/input/tablet/wacom.ko
or
(If you are in Olivia/Raring.)
sudo cp ./3.7/wacom.ko /lib/modules/`uname -r`/kernel/drivers/input/tablet/wacom.ko
sudo depmod -a
Alternate Section 1 - The LWP's linuxwacom; for Isadora (Lucid) & Julia (Maverick) only: Download source code, compile, and install linuxwacom's USB kernel driver/module wacom.ko.[/b]
Install just the wacom.ko (do not do 'make' or 'sudo make install'). Only needed by USB tablets.
Currently at Linux Wacom Project the latest linuxwacom release tar available is: Production: 0.9.5
(Just substitute the driver # you want in the following commands. It is better to copy and paste the commands into a terminal rather than type them.)
1) First download the source code tar onto the desktop. In a terminal type:
Code: Select all
cd ./Desktop
wget http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.9.7.tar.bz2
2) Next install the needed libraries and updates using the following apt-get commands.
Code: Select all
sudo apt-get update
sudo apt-get install build-essential libX11-dev libxi-dev x11proto-input-dev xserver-xorg-dev libxrandr-dev tk8.4-dev tcl8.4-dev libncurses5-dev
sudo apt-get upgrade
*In Helena/Karmic (or above) a new dependency for xserver-xorg-input-wacom, xserver-xorg-input-all, was added. You can not have one without the other.
Note: Starting with 0.8.5-11 you need libxrandr-dev because a wacom XRandR daemon was added. It's already added to the libraries/dependency line above but not needed if compiling an earlier version.
3) Now the kernel headers for your kernel are needed. To determine your kernel version:
Code: Select all
uname -r
Code: Select all
sudo apt-get install linux-headers-generic
Code: Select all
sudo apt-get install linux-headers-rt
or
sudo apt-get install linux-headers-generic-pae
4) Okay now unpack the source code tar and go into the unpacked source code directory.
Code: Select all
tar xjvf linuxwacom-0.9.7.tar.bz2
cd linuxwacom-0.9.7
(To see the options the linuxwacom configure script offers you type "./configure --help | less".)
Code: Select all
./configure --enable-wacom --prefix=/usr
Code: Select all
./configure --enable-wacom --prefix=/usr --libdir=/usr/lib64
Code: Select all
make
sudo make install
6) Next we copy the module to the appropriate directory (this is needed for USB tablets):
At one point there was a folder in /src for every kernel, but starting with linuxwacom 0.8.5 the /src kernel folders have been consolidated over multiple releases. At this point with the more recent linuxwacoms there only remain the 2.6.16, 2.6.18, 2.6.24, and 2.6.30 folders. So for a recent kernel and linuxwacom the copy command is:
Code: Select all
sudo cp ./src/2.6.30/wacom.ko /lib/modules/`uname -r`/kernel/drivers/input/tablet/wacom.ko
Now rebuild all of the module dependencies:
Code: Select all
sudo depmod -a
7) You now need to restart. The kernel module should then be installed. You may need to restart several times. If after more than a few restarts it still isn't working try repeating step 6) again. In other words go back into the unpacked source code directory and repeat the "sudo cp etc." command and then restart.
To verify the linuxwacom kernel module is present in the correct location:
Code: Select all
modinfo -n wacom
8] On some systems the wacom.ko doesn't auto-load. To check if it's loaded see if 'wacom' appears in the output of:
Code: Select all
lsmod | grep wacom
Code: Select all
gksudo gedit /etc/modules
Section 2 - Xorg's xf86-input-wacom: Clone (download source code)and compile the git repository or compile the point release tar.
Currently at Linux Wacom Project the latest xf86-input-wacom release tar available is: xf86-input-wacom-0.23.0
(It is better to copy and paste the commands into a terminal rather than type them.)
Preliminaries: you only need to do these once.
1) If cloning the git repository: To install git. Open a terminal and enter (copy & paste):
Code: Select all
sudo apt-get install git-core
You can skip this step if you're on Julia/Maverick or later. On (6-2-10) the xf86-input-wacom branch of the LWP updated xorg-macros to v. 1-8. Since Isadora uses v. 1-5 this prevents the xf86-input-wacom git clone from compiling. The xorg-macros.m4 is in the xutils-dev package and is located at /usr/share/aclocal/xorg-macros.m4. To update the macros version first download it onto your desktop from the Xorg site. Then backup the default 1.5 version:
Code: Select all
sudo cp /usr/share/aclocal/xorg-macros.m4 /usr/share/aclocal/xorg-macros.m4.bak
Then enter:
Code: Select all
cd ./Desktop
tar xjvf util-macros-1.8.0.tar.bz2
cd util-macros-1.8.0
./configure --prefix=/usr
make
sudo make install
Warning for Maya/Precise: follow the instructions for cloning the git repository below until you get to the ./autogen.sh --prefix=/usr command. Stop there and don't enter it. Instead download the attached build_against_frankenserver.patch tar (for xf86-input-wacom-0.17.0 or earlier) onto your Desktop. For xf86-input-wacom-0.18.0 or later use the build_against_frankenserver_for0.18.patch tar attached to post #2 below. Extract (uncompress) it and apply the patch with a -p1 strip:
Code: Select all
patch -p1 < ~/Desktop/build_against_frankenserver.patch
(or for xf86-input-wacom-0.18.0 and later)
patch -p1 < ~/Desktop/build_against_frankenserver_for0.18.patch
After you see it you can proceed with ./autogen.sh --prefix=/usr and the rest of the commands.patching file src/wcmValidateDevice.c
patching file test/fake-symbols.c
patching file test/fake-symbols.h
a) Clone and compile the xf86-input-wacom git repository:
1) Open a terminal and then change directory to your Desktop and clone the xf86-input-wacom git repository (download xf86-input-wacom):
Code: Select all
cd ./Desktop
git clone git://git.code.sf.net/p/linuxwacom/xf86-input-wacom
Code: Select all
sudo apt-get update
sudo apt-get install build-essential libX11-dev libxi-dev x11proto-input-dev xserver-xorg-dev libxrandr-dev libxinerama-dev libncurses5-dev xutils-dev autoconf libtool pkg-config libudev-dev
sudo apt-get upgrade
Note: There is a large overlap with the dependency line for linuxwacom. If you have a USB tablet and are going to compile it for wacom.ko, or already have, you can edit one or the other dependency line. It won't hurt to run both in full, just waste a little time.
I think all the dependencies are now identified but if you find one missing, or if you find ones not needed, please notify me.
*thanks to Ubuntiac for reminding me about git-core, and determining the missing dependencies autoconf & pkg-config.
*thanks to Zib.c & torturedutopian for pointing out libxrandr-dev.
*thanks to sanette for pointing out the lack of xorg-macros.m4 in a default install.
3) Now change directory into xf86-input-wacom and then compile and install xf86-input-wacom:
Code: Select all
cd xf86-input-wacom
./autogen.sh --prefix=/usr
Code: Select all
make
sudo make install
Xorg's xf86-input-wacom doesn't have a configuration gui like linuxwacom's wacomcpl (Wacom Control Panel). You can set up a script of xsetwacom commands to run when the system starts, if you need to configure things, similar to wacomcpl's .xinitrc (see Section 4 below). The xsetwacom commands were rebuilt for xf86-input-wacom, so they are a little different from the linuxwacom ones. See "man wacom" and "man xsetwacom" in a terminal. The Gnome or KDE configuration gui's, if available for your release, can be used.
For more information please see the Linux Wacom Tablet Project; choose the Support tab and then the mediawiki link. The Xorg xf86-input-wacom driver tars are available at the usual sourceforge linuxwacom driver site.
b) Or compile the xf86-input-wacom tar:
Code: Select all
cd ./Desktop
wget http://sourceforge.net/projects/linuxwacom/files/xf86-input-wacom/xf86-input-wacom-0.23.0.tar.bz2
sudo apt-get update
(For Ubuntu and LMDE use libx11-dev instead of libX11-dev in the following command)
sudo apt-get install build-essential libX11-dev libxi-dev x11proto-input-dev xserver-xorg-dev libxrandr-dev libxinerama-dev libncurses5-dev xutils-dev autoconf libtool pkg-config libudev-dev
sudo apt-get upgrade
tar xjvf xf86-input-wacom-0.23.0.tar.bz2
cd xf86-input-wacom-0.23.0
./configure --prefix=/usr
make
sudo make install
Section 3: Configuring the Wacom Tablet/Devices.
a) Configuring through xorg.conf.d with the wacom.conf: the current wacom.conf looks like (but the default should be fine for most).
Code: Select all
Section "InputClass"
Identifier "Wacom class"
MatchProduct "Wacom|WACOM|Hanwang|PTK-540WL"
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
# Waltop tablets
Section "InputClass"
Identifier "Waltop class"
MatchProduct "WALTOP"
MatchIsTablet "on"
MatchDevicePath "/dev/input/event*"
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
Code: Select all
gksudo gedit /usr/lib/X11/xorg.conf.d/10-wacom.conf
Code: Select all
gksudo gedit /usr/share/X11/xorg.conf.d/50-wacom.conf
To create a custom wacom.conf where you can add options you may need to create the /etc/X11/xorg.conf.d directory if it is not already there. If after checking it isn't there:
Code: Select all
sudo mkdir /etc/X11/xorg.conf.d
Code: Select all
sudo gedit /etc/X11/xorg.conf.d/52-wacom.conf
Code: Select all
Section "InputClass"
Identifier "Wacom eraser class"
MatchDriver "wacom"
MatchProduct "eraser"
Option "Foo" "bar"
EndSection
*Current 50-wacom.conf: http://linuxwacom.git.sourceforge.net/g ... nf;hb=HEAD
*Serial Wacom snippet from Peter Hutterer.
*N-trig snippet from Rafi Rubin.
*Waltop snippet from Nikolai Kondrashov.
b) Configuring through xorg.conf: In order to tell Xserver you have a tablet or tablet PC you need to add input sections to your xorg.conf, which is located in /etc/X11/ if present. Wacom entries used to be included in the xorg.conf in versions of Ubuntu before Intrepid. The LWP mediawiki has a generic example xorg.conf. Add the relevant sections for your tablet or tablet PC to your xorg.conf, if present. Please study the sample xorg.conf's and compare them carefully to your xorg.conf before making any changes. You should study 'man xorg.con' also. And be sure to back up your working xorg.conf first! You need to be able to restore it from the comand line if you break the X Server.
To edit (or create) xorg.conf you have to be administrator so in a terminal:
Code: Select all
gksudo gedit /etc/X11/xorg.conf
Code: Select all
Section "InputDevice"
Identifier "stylus"
Driver "wacom"
Option "Device" "/dev/input/by-path/pci-0000:00:0b.1-usb-0:2.3:1.0-event-mouse"
Option "Type" "stylus"
Option "USB" "on"
Option "Button2" "3" # make side-switch a right button
Option "TopX" "225"
Option "TopY" "225"
Option "BottomX" "26300"
Option "BottomY" "16375"
EndSection
Section "InputDevice"
Identifier "eraser"
Driver "wacom"
Option "Device" "/dev/input/by-path/pci-0000:00:0b.1-usb-0:2.3:1.0-event-mouse"
Option "Type" "eraser"
Option "USB" "on"
EndSection
Section "InputDevice"
Identifier "touch"
Driver "wacom"
Option "Device" "/dev/input/by-path/pci-0000:00:0b.1-usb-0:2.3:1.1-event-"
Option "Type" "touch"
Option "USB" "on"
Option "TopX" "200"
Option "TopY" "225"
Option "BottomX" "4000"
Option "BottomY" "3875"
EndSection
You also need to add the following three lines to the "ServerLayout" Section of the xorg.conf. In Isadora/Lucid and later (Xserver 1.7 or higher) "SendCoreEvents" is deprecated so the "ServerLayout" lines become:
Code: Select all
Inputdevice "stylus"
Inputdevice "eraser"
Inputdevice "touch"
If you are trying to use "/dev/input/wacom" in your xorg.conf and it is not working then there may be a problem with your Wacom symlinks. Please check to see if you have a file called “69-xserver-xorg-input-wacom.rules” (or something similar) located in "/lib/udev/rules.d/". If not see Appendix 5.
Hopefully this example is illustrative of what is necessary to configure a xorg.conf. Once you have the proper or properly configured xorg.conf restart the Xserver with <ctrl><alt><backspace> (if you have re-enabled the key combination), otherwise log out and log back in. After you do the stylus and touch should work. If it does not consider restarting. Make sure you cover the entire screen to check if the pointer follows the stylus.
c) Configuring through HAL/.fdi files: If you are still using HAL wacom.fdi's are available at: http://ubuntuforums.org/showpost.php?p= ... tcount=176
Section 4: Configuring and Calibrating your Tablet or Tablet PC.
The linuxwacom configuration and calibration gui wacomcpl (Wacom Control Panel) was dropped by xf86-input-wacom. New Wacom tablet configuration gui's are available for recent releases of Gnome and KDE. Information on calibration is on the Calibration HOWTO.
The wacomcpl settings generated a set of xsetwacom commands stored in a file called .xinitrc. We can duplicate the .xinitrc file with a xsetwacom command script file, called say .xsetwacom.sh (if we want it hidden) or xsetwacom.sh. Open your favorite test editor and create the file and enter the xsetwacom commands you would like to use. Information on writing a script is available at the LWP's mediawiki: Tablet Configuration HOWTO There are some sample .xsetwacom.sh scripts, attached to posts #1 and #2, at the Bamboo P&T HOW TO.
Since xsetwacom commands are runtime commands they only apply during the current session. You can also change your settings on the fly using the xsetwacom set commands with the appropriate parameters in a terminal. To enable the .xsetwacom.sh file to apply to the X Server through a reboot you need to make it executable:
Code: Select all
chmod +x ~/.xsetwacom.sh
Your script will now be applied at each start up. You should now have the Wacom drivers installed and a functioning tablet or tablet pc. Congratulations!
Next to get a completely functioning tablet PC (the ability to rotate your screen from laptop to tablet mode) please proceed to the Tablet PC rotation HOW TO.
Appendix 1: How to Patch and Compile the Ubuntu kernel's source code i.e the kernel's wacom.ko
As an alternative to using input-wacom you may prefer to use the Ubuntu kernel source code to test and compile a new patch. This appendix explains how to work with the Ubuntu release specific kernel.
Be aware that since the separation of linuxwacom into the Xorg X driver and the kernel driver the kernel code is submitted upstream to the kernel through linux-input. And linux-input is where any wacom.ko bug fixes or proposed changes should be submitted. Bug fixes or proposed changes to input-wacom, which consists of backports, will not necessarily be submitted upstream to the kernel.
First download your current Natty kernel's Ubuntu source code onto your Desktop.
Code: Select all
cd Desktop
apt-get source linux-image-`uname -r`
Then go into the kernel's folder (linux-2.6.38 ) now on your Desktop and navigate to drivers/input/tablet/wacom_wac.c using Places/Nautilus. Right click on wacom_wac.c and open in gedit to make any manual changes in the wacom_wac.c file you would like. Or if applying a patch or patchset do so in the terminal. After any changes are made, in the terminal navigate to the downloaded kernel source code's /tablet directory using:
Code: Select all
cd linux-2.6.38/drivers/input/tablet
Code: Select all
make -C/lib/modules/`uname -r`/build M=`pwd` modules
Copy the newly compiled wacom.ko from the current tablet directory into your system kernel's modules /tablet directory with:
Code: Select all
sudo cp wacom.ko /lib/modules/`uname -r`/kernel/drivers/input/tablet/
Code: Select all
sudo depmod -a
If your change is successful, and new, you now have something you could submit to the kernel's linux-input mailing list. Of course they'll want a git patch against the current master in the git repository.
*thanks to Ayuthia for his assistance
Appendix 2: Using DKMS for the wacom.ko
If you want your newly compiled wacom.ko to apply even after a kernel update, without having to recompile it, you can use DKMS.
Attached to the bottom of this post is wacom-2011, a wacom dkms (dynamic kernel module support) framework. The folder just needs to be placed in the /usr/src directory. You might want to change the version number, 2011 in the folder name, to something more specific. If you do modify the version number you also need to modify it in the dkms.conf file. Of course, you will need to replace the source code files with your versions.
In the folder are 6 files:
Code: Select all
dkms.conf Makefile wacom.h
wacom_sys.c wacom_wac.c wacom_wac.h
Then enter in a terminal the following commands:
Code: Select all
sudo dkms add -m wacom -v 2011
sudo dkms build -m wacom -v 2011
sudo dkms install -m wacom -v 2011
Now your new wacom.ko will be applied to any new kernel. The wacom.ko file should end up in /lib/modules/`uname -r`/updates/dkms/. You can verify that everything worked by entering:
Code: Select all
modprobe --show-depends wacom
To remove the wacom.ko dkms:
Code: Select all
sudo dkms remove -m wacom -v 2011 --all
Appendix 3: Make Calibration Available to All Users
To make calibrations or configurations you may have set in .xsetwacom.sh system wide they can be installed in one of the static configuration files. Either the appropriate snippet in the wacom.conf file in xorg.conf.d or the xorg.conf. To transfer the .xsetwacom.sh settings over to xorg.conf.d you can use the -x or --xconf switch with get. It will translate the xsetwacom command into a static configuration Option (you can see these static Options in man wacom). We'll use an example where the translation doesn't work because the xsetwacom Area parameter doesn't yet exist in the static configuration Options. Instead they still use Top and Bottom X & Y. But you can get those coordinates if in a terminal you enter:
Code: Select all
xsetwacom -x get "device name or ID #" Area
Code: Select all
xsetwacom -x get 9 Area
Code: Select all
Option "Area" "0 0 480 320"
Appendix 4: How to Determine Device Input for xorg.conf
The following steps will determine USB input for xorg.conf. First we need to query the kernel buffer for tablet input. In a terminal type:
Code: Select all
dmesg | grep Wacom
Code: Select all
[ 45.460644] input: Wacom ISDv4 93 as /devices/pci0000:00/0000:00:0b.1/usb2/2-2/2-2.3/2-2.3:1.0/input/input9
[ 45.478030] input: Wacom ISDv4 93 as /devices/pci0000:00/0000:00:0b.1/usb2/2-2/2-2.3/2-2.3:1.1/input/input10
Code: Select all
ls -l /dev/input/by-path
Code: Select all
lrwxrwxrwx 1 root root 9 2008-07-27 12:07 pci-0000:00:0b.1-usb-0:2.3:1.0-event-mouse -> ../event9
lrwxrwxrwx 1 root root 9 2008-07-27 12:07 pci-0000:00:0b.1-usb-0:2.3:1.0-mouse -> ../mouse1
lrwxrwxrwx 1 root root 9 2008-07-27 12:07 pci-0000:00:0b.1-usb-0:2.3:1.1- -> ../mouse2
lrwxrwxrwx 1 root root 10 2008-07-27 12:07 pci-0000:00:0b.1-usb-0:2.3:1.1-event- -> ../event10
lrwxrwxrwx 1 root root 9 2008-07-27 12:07 platform-i8042-serio-0-event-kbd -> ../event1
lrwxrwxrwx 1 root root 10 2008-07-27 12:07 platform-i8042-serio-1-event-mouse -> ../event11
lrwxrwxrwx 1 root root 9 2008-07-27 12:07 platform-i8042-serio-1-mouse -> ../mouse3
lrwxrwxrwx 1 root root 9 2008-07-27 12:07 platform-pcspkr-event-spkr -> ../event2
Now you can just amend your xorg.conf with the two input files that you just determined. The one ending with "mouse" should be in the stylus and eraser sections and the one ending in "event-" should be in the touch section.
Appendix 5: Add Wacom Symlinks to “/lib/udev/rules.d”.
It is expected you will use a .conf file in xorg.conf.d rather than an xorg.conf so Ron at Debian has stopped updating his wacom.rules git repository. Although to be frank there is no advantage to using xorg.conf.d over the xorg.conf with a tablet PC. With a tablet PC the digitizer is always connected and you do not ever hot plug it. Unless of course you wish to hot plug a tablet into your tablet PC, which can get tricky.
If for whatever reason you are using an xorg.conf and want to use symlinks for it, rather than using pci by-paths, you need to rely on the wacom.rules symlinks installed in Ubuntu by default. If your model tablet isn't included in the default wacom.rules you can find updated 60-wacom.rules at Fixed device files with udev on the LWP's mediawiki. If you want to look at the now outdated “50-xserver-xorg-input-wacom.rules” (dated 3-29-09) from Ron's Debian git repository open a terminal and enter:
Code: Select all
cd ./Desktop
wget -O 50-xserver-xorg-input-wacom.rules "http://git.debian.org/?p=users/ron/wacom-tools.git;a=blob_plain;f=debian/xserver-xorg-input-wacom.udev;hb=e110b046292d6aff63b489c9b1aecec25d470cdb"
Code: Select all
gksudo gedit /lib/udev/rules.d/69-xserver-xorg-input-wacom.rules
In your xorg.conf for “stylus”, “eraser”, "cursor", and "pad" "InputDevice" sections you would use:
Code: Select all
Option "Device" "/dev/input/wacom"
Code: Select all
Option "Device" "/dev/input/wacom-touch"
If your device is new and there is not yet a rule for it in a terminal enter:
Code: Select all
more /proc/bus/input/devices
Appendix 6: Recovering the default wacom.ko
If you have trouble with your compiled wacom.ko you can recover the default wacom.ko easily even if you don't have a backup. The wacom.ko that comes default for your current installation it is in your kernel's "linux-image". You can find the "linux-image" and install it with Synaptic Package Manager or Software Center. The usb kernel module wacom.ko is at "/lib/modules/`uname -r`/kernel/drivers/input/tablet/wacom.ko" where "uname -r" is your current kernel.