Page 1 of 142 1231151101 ... LastLast
Results 1 to 10 of 1415

Thread: HOW TO: Install a LinuxWacom Kernel Driver for Tablet PC's

  1. #1
    Join Date
    Nov 2008
    Beans
    9,635
    Distro
    Ubuntu 12.04 Precise Pangolin

    HOW TO: Install a LinuxWacom Kernel Driver for Tablet PC's

    This HOW TO installs input-wacom's wacom.ko (the usb driver/module) & Xorg's xf86-input-wacom, the Wacom X driver, in Lucid (10.04), Maverick (10.10), Natty (11.04), Oneiric (11.10), & Precise (12.04). In Lucid & Maverick 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 Natty's 2.6.38 kernel as an example) along with dkms implementation of the patched module (see Appendices 1 & 2).

    Last Updated: May 2, 2012

    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.0; 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.13.0 has been released (4-24-12). Adds support for the Cinitq 24HD and Intuos5 tablets.
    input-wacom-0.12.1 has been released (12-22-11). A minor update of input-wacom-0.12.0. Second gen BambooPT support is included. It was inadvertently left out of 0.12.0. Support for the Cintiq 24HD was added - but note there are pending updates to xf86-input-wacom before this hardware is fully usable.
    input-wacom-0.12.0 has been released (12-3-11). To match the recently released xf86-input-wacom-0.12.0. Two of the new features include OLED support for Intuos4 tablets and support for 2nd and 3rd generation Bamboo Pen and Touch tablets (limited to 2.6.38 or newer kernels as mt.h is required). Additionally support for the 3.0 kernel has been added.
    input-wacom-0.11.1 has been released (6-30-11). Removes uneeded menu strip support for Cintiq 21UX2. Adds the two new Bamboo One tablets 6A and 6B. Adds support for two tablet PC's, the E6 (Thinkpad X220t) and the 97. Updates the Graphire and old Bamboo tablet buttons.

    Xorg's xf86-input-wacom - the X driver
    xf86-input-wacom 0.15.0 has been released (5-2-12). Adds support for the Intuos5 and DTI-520. Neither have kernel drivers available upstream yet, though the former has been integrated into input-wacom 0.13.0 for immediate use.
    xf86-input-wacom 0.14.0 has been released (3-9-12). Fixes invalid array size for serial values in wcmXCommand. Some modifications to the tool ID property. Temporary update to 50-wacom.conf to recognize the Intuos4 Wireless until the name change (to include Wacom) gets into the kernel.
    xf86-input-wacom 0.13.0 has been released (1-16-12). The two big changes from 0.12 are a significantly improved touch and multi-
    touch experience, and support for Wacom's new Cintiq 24HD.
    xf86-input-wacom 0.12.0 has been released (11-15-11). 10 contributors to this release. Lots of new patches including a new ToolSerials option for hotplugging pens, MapToOutput support for TwinView, gesture improvements, touch strip inversion fix, button release fix, and support for new models added.

    Linuxwacom - the USB kernel module/driver and X driver in one package In maintenance.
    linuxwacom 1.0.9.3 has been released (1-16-12). Adds the new Cintiq 24HD and LED support for Intuos4 small. Distinguish right wheel (wheel2) from left one.
    linuxwacom 1.0.9.2 has been released (10-27-11). Remove the old LED usbfs defines. Tilt2R applies to I4 mouse.
    linuxwacom 1.0.9.1 has been released (10-19-11). Adds LED support for Cintiq21UX2 and Intuos4.
    linuxwacom 1.0.9.0 has been released (6-20-11). Adds "ignore the first two USB motion events" back in to prevent a cursor jump the first time the tool is in proximity. Adds "-lc" to src/xdrv/Makefile.am for SLED11 which is required when "AutoAddDevices" option is true in xorg.conf.


    Sources
    Originally adapted from gali98's tutorial at post #5 on the "Tablet PC Issues" thread.
    Loic2's Wacom wiki. Also his wiki on installing the WacomLatestDriver.
    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.


    Ubuntu Release Specific Notes
    Precise Pangolin (12.04): Currently has xf86-input-wacom-0.14.0 as the default. According to Timo Intuos5 support has been added to 0.14.0. Serial tablet support has been confirmed in Oneiric by testers through the new serio kernel drivers and inputattach, see HOW TO Set Up a Wacom Serial Tablet in Ubuntu Lucid, Maverick, Natty, Oneiric, & Precise.

    Oneiric Ocelot (11.10): Currently has xf86-input-wacom-0.11.0 as the default. There is a bug in Oneiric 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/+s...mp/+bug/863154. Use Aapo Rantalainen's PPA to get a usable Gimp. Serial tablet support has been confirmed in Oneiric by testers through the new serio kernel drivers and inputattach, see HOW TO Set Up a Wacom Serial Tablet in Ubuntu Lucid, Maverick, Natty, & Oneiric.

    Natty Narwhal (11.4): Currently 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 tablet support issue is now being addressed by tokenrove and roaldfre through new serial kernel drivers and inputattach, see HOW TO Set Up a Wacom Serial Tablet in Ubuntu Lucid, Maverick, & Natty. Testers needed!

    Lucid Lynx (10.4) & Maverick Meerkat (10.10): For X.Org's Xserver 1.7 (X11R7.5 or later) the X 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 (Lucid) 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). Lucid's default version is the xf86-input-wacom 0.10.5 Xserver 1.7 X11 linuxwacom input driver while Maverick'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.

    To install xf86-input-wacom you can download (clone) it from the git repository. Please see Section 2) below. If you have a Serial tablet pc 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. 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 the wacom.conf. See "a) Lucid, Maverick, & Natty -configuring through 10-wacom.conf" in "Section 3: Configuring the Wacom Tablet/Devices".


    Miscellaneous Notes
    Notice for Serial Graphics Tablet Users: Please see HOW TO Set Up a Wacom Serial Tablet in Ubuntu.
    This quote is from the LWP developer Ping Cheng (2-17-10):
    If it is not an ISDv4 model, i.e., the digitizer is not embedded in your laptop/desktop, you will have to use an X server older than XOrg 1.7. We do not support regular serial tablets on X server 1.7 or later.
    In other words external Serial Graphics Tablets connecting via a serial cable will is not supported on X server 1.7 (Lucid) and up. This turns out to have been due to lack of dev. resources not policy. Patches were submitted to restore Serial Tablets to xf86-input-wacom/Xserver 1.7. The second set was submitted, see this linuxwacom-discuss thread. They still needed work before acceptance into xf86-input-wacom. But even so serial tablets have set up in Lucid & 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 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".

    Attention HP TX2z and Dell Latitude XT & XT2 (N-trig digitizer) users. We've figured out how to get multi-touch working in Maverick and Natty (with a lot of help from Ubuntu). 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 Maverick & Natty users. Waltop tablets now work with the wacom drivers! I have had multiple users confirm this. Please see the Waltop HOW TO. The HOW TO also helps Waltop tablet in Lucid users place the tablet 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 support the tablet using the wacom drivers. Patches submitted by Nikolai Kondrashov to the kernel fixed that, especially for Natty. Lucid users might also want to see monchiron's post #1002 and al.do's thread "Graphic Tablet working in 5 steps!!". A 70-wizardpen.conf modified for the Waltop is at post #1150. AlexDS has another HOW TO.


    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. Then we will add the appropriate entries to xorg.conf or the wacom.conf to detect the tablet inputs. Next we configure and calibrate (if needed) the tablet inputs using a .xsetwacom.sh (a script of xsetwacom commands). This will give us a working Tablet or Tablet PC. Then for Tablet PC's a link leads to the Rotation HOW TO which provides screen rotation.

    Section 1 - The LinuxWacom's input-wacom: Intended for "testing" or support for a new model only. It provides back ported support for kernels 2.6.26 to 2.6.38. Those with kernels 2.6.36 or higher should use their distro supplied kernel drivers if possible as the code logic may differ between the two. Download source code, compile, and install the USB kernel driver/module wacom.ko. Only needed by USB tablets.

    If you are using Lucid (10.04) follow the Mini-HOW TO: Updating xorg-macros to v. 1.8 for Lucid in Section 2 - Xorg's xf86-input-wacom below before proceeding.

    Currently at Linux Wacom Project the latest driver available is:
    input-wacom-0.13.0
    (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 enter:
    Code:
    cd Desktop
    
    wget http://prdownloads.sourceforge.net/linuxwacom/input-wacom-0.13.0.tar.bz2
    2) Next install the needed libraries and updates using the following apt-get commands.
    Code:
    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.
    * Linux Mint uses libX11-dev instead of libx11-dev.

    3) Now the kernel headers for your kernel are needed. To determine your kernel version:
    Code:
    uname -r
    If you have the generic kernel:
    Code:
    sudo apt-get install linux-headers-generic
    If you have the rt or pae kernel:
    Code:
    sudo apt-get install linux-headers-rt
    or
    sudo apt-get install linux-headers-generic-pae
    (Remember if you update to a newer kernel and have a usb tablet it will seem to "break". This is because the wacom.ko usb kernel driver/module you compiled won't be in the directory for kernel modules the new kernel creates. You will need to recompile the wacom.ko.)

    4) Okay now unpack the source code tar and go into the unpacked source code directory.
    Code:
    tar xjvf input-wacom-0.13.0.tar.bz2
    
    cd input-wacom-0.13.0
    5) Then we compile the linuxwacom kernel module.
    Code:
    ./autogen.sh --prefix=/usr
    [Using the --prefix=/usr flag installs to /usr instead of the default /usr/local. On a 64-bit install you may need to add another flag. To check see where evdev_drv.so is located. If it is in /usr/lib/xorg/modules/input, then '--prefix=/usr' is correct. If in /usr/lib64/xorg/modules/input, then you need to add '--libdir=/usr/lib64']

    6) Next we copy the module to the appropriate directory:
    For Lucid & Maverick use:
    Code:
    sudo cp ./2.6.30/wacom.ko /lib/modules/`uname -r`/kernel/drivers/input/tablet/wacom.ko
    For Natty & Oneiric use:
    Code:
    sudo cp ./2.6.38/wacom.ko /lib/modules/`uname -r`/kernel/drivers/input/tablet/wacom.ko
    The folder the compiled wacom.ko is in is mentioned in the last few lines of the compile output.

    Now rebuild all of the module dependencies:
    Code:
    sudo depmod -a
    (The driver (wacom.ko) inside the kernel translates the raw data into system data and sends that to Xinput/Xserver where the xf86-input-wacom X driver (wacom_drv.so) takes control.)

    7) You now need to restart.


    Alternate Section 1 - The LWP's linuxwacom; for Lucid & Maverick only: Download source code, compile, and install linuxwacom's USB kernel driver/module wacom.ko. 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 drivers available are:
    ... Production: 0.9.3 ..... Development: 0.8.9
    (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:
    cd ./Desktop
    
    wget http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.9.3.tar.bz2
    (If the wget command doesn't download the linuxwacom source code tar check the LWP's SourceForge site: http://sourceforge.net/projects/linuxwacom/files/ If a newer version is available download that.)

    2) Next install the needed libraries and updates using the following apt-get commands.
    Code:
    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 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.
    * Linux Mint uses libX11-dev instead of libx11-dev.
    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:
    uname -r
    a) If you have the generic kernel:
    Code:
    sudo apt-get install linux-headers-generic
    If you have the rt or pae kernel:
    Code:
    sudo apt-get install linux-headers-rt
    or
    sudo apt-get install linux-headers-generic-pae
    (Remember if you update to a newer kernel and have a usb tablet it will seem to "break". This is because the wacom.ko usb kernel driver/module you compiled won't be in the directory for kernel modules the new kernel creates. Either copy your compiled wacom.ko into the new directory (see 6) below) or if that doesn't work recompile.)

    4) Okay now unpack the source code tar and go into the unpacked source code directory.
    Code:
    tar xjvf linuxwacom-0.9.3.tar.bz2
    
    cd linuxwacom-0.9.3
    5) Then we compile and install the linuxwacom kernel module.
    (To see the options the linuxwacom configure script offers you type "./configure --help | less".)
    Code:
    ./configure --enable-wacom --prefix=/usr
    (Using --prefix=/usr installs to /usr instead of the default /usr/local. On a 64-bit install you may need to add another flag. To check see where evdev_drv.so is located. If it is in /usr/lib/xorg/modules/input, then '--prefix=/usr' is correct. If in /usr/lib64/xorg/modules/input, then you need to add '--libdir=/usr/lib64'):
    Code:
    ./configure --enable-wacom --prefix=/usr --libdir=/usr/lib64
    If you had a Xserver less than 1.7 (pre-Lucid), to install the linuxwacom X driver you would continue with:
    Code:
    make
    
    sudo make install
    (Don't worry if this returns an error saying "wacom" is not loaded. It just means you've never installed wacom before.)

    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:
    sudo cp ./src/2.6.30/wacom.ko /lib/modules/`uname -r`/kernel/drivers/input/tablet/wacom.ko
    The bottom line is if the copy command doesn't work you need to locate the folder the compiled wacom.ko has appeared in and modify the copy (cp) command accordingly.

    Now rebuild all of the module dependencies:
    Code:
    sudo depmod -a
    (The driver (wacom.ko) inside the kernel translates the raw data into system data and sends that to Xinput/Xserver where XFree86's Wacom X driver (wacom_drv.o) takes control.)

    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:
    modinfo -n wacom
    (The module is called “wacom”, not “linuxwacom”.)

    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:
    lsmod | grep wacom
    If it's not present (auto-loading) try martinjochimsen's "fix" (in post #3 below). Add "wacom" (without the quotes) to the end of the file 'modules' in "/etc/":
    Code:
    gksudo gedit /etc/modules
    Save, Close, and reboot.


    Section 2 - Xorg's xf86-input-wacom: Clone (download source code), compile, and install.

    Preliminaries: You only need to do these once.
    a) First install git (you only need to do this once). Open a terminal and enter (copy & paste):
    Code:
    sudo apt-get install git-core
    b) Mini-HOW TO: Updating xorg-macros to v. 1.8 for Lucid.
    You can skip this step if you're on Maverick or later. On (6-2-10) the xf86-input-wacom branch of the LWP updated xorg-macros to v. 1-8. Since Lucid 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. When and if Lucid will update it's macros in the xutils-dev package is not clear. To update the macros version first download it onto your desktop from the Xorg site. Then backup the Lucid default 1.5 version:
    Code:
    sudo cp /usr/share/aclocal/xorg-macros.m4 /usr/share/aclocal/xorg-macros.m4.bak
    *there may be no xorg-macros.m4 to back up if you haven't previously installed xutils-dev.

    Then enter:
    Code:
    cd ./Desktop
    
    tar xjvf util-macros-1.8.0.tar.bz2
    
    cd util-macros-1.8.0
    
    ./configure --prefix=/usr
    
    make
    
    sudo make install
    If you downloaded the 0.10.6 tar or earlier you don't need to do this.

    Now to clone the git:
    1) Open a terminal and then change directory to your Desktop and clone the xf86-input-wacom git repository (download xf86-input-wacom):
    Code:
    cd ./Desktop
    
    git clone git://linuxwacom.git.sourceforge.net/gitroot/linuxwacom/xf86-input-wacom
    2) Next install the needed libraries and updates using the following apt-get commands:
    Code:
    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
    * Linux Mint uses libX11-dev instead of libx11-dev.
    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:
    cd xf86-input-wacom
    
    ./autogen.sh --prefix=/usr
    On a 64-bit install you may need to add another flag. To check see where evdev_drv.so is located. If it is in /usr/lib/xorg/modules/input, then --prefix=/usr is correct. If in /usr/lib64/xorg/modules/input, then you need to add --libdir=/usr/lib64.
    Code:
    make
    
    sudo make install
    Wacom.fdi files are no longer used in Lucid as HAL is not installed by default. You can still use a xorg.conf. Please see "Section 3: Configuring the Wacom Tablet/Devices" in "b) Lucid, Maverick, and Natty-configuring through xorg.conf" below. The Wacom wiki linked above (near the top) should be useful. However the "preferred" method is using the 10-wacom.conf in xorg.conf.d. Please see "a) Lucid, Maverick, and Natty-configuring through 10-wacom.conf" also in Section 3 below. Also see the mediawiki for xf86-input-wacom. One thing to note is in X server 1.7 and up "SendCoreEvents" is deprecated.

    Xorg's xf86-input-wacom doesn't have a configuration gui like linuxwacom's wacomcpl (Wacom Control Panel). You'll have to 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). Sample .xsetwacom.sh scripts are available, attached to posts #1 and #2, at the Bamboo P&T HOW TO. The xsetwacom commands were rebuilt for xf86-input-wacom, so they may be a little different from the linuxwacom ones. See "man wacom" and "man xsetwacom".

    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.


    Section 3: Configuring the Wacom Tablet/Devices.

    a) Lucid, Maverick, & Natty-configuring through 10 or 50-wacom.conf: You can still use xorg.conf as in b). The current wacom.conf looks like (but the default should be fine for most):
    Code:
    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"
    	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
    
    Section "InputClass"
     	Identifier "Wacom N-Trig class"
    	MatchProduct "HID 1b96:0001|N-Trig Pen"
     	MatchDevicePath "/dev/input/event*"
     	Driver "wacom"
    	Option "Button2" "3"
    EndSection
    To edit in Lucid use:
    Code:
    gksudo gedit /usr/lib/X11/xorg.conf.d/10-wacom.conf
    For Maverick & Natty use:
    Code:
    gksudo gedit /usr/share/X11/xorg.conf.d/50-wacom.conf
    It's important to note that you can not configure dependent devices in the wacom.conf snippets unless you have Xserver 1.10 (Natty) or later. For example you can add options for stylus but not the eraser. With Natty to configure the dependent device eraser you would add a new snippet, like so:
    Code:
    Section "InputClass"
          Identifier "Wacom eraser class"
          MatchDriver "wacom"
          MatchProduct "eraser"
          Option "Foo" "bar"
    EndSection
    If other input tool devices have "eraser" in their name, say a second Wacom tablet, you will need a more specific match than "eraser". It is recommended you add dependent device options to a new file in a different location. Call it 52-wacom-options.conf and create the new file in /etc/X11/xorg.conf.d. You may need to create the /etc/X11/xorg.conf.d directory.
    *Current 10-wacom.conf (actually now 50-wacom.conf): http://linuxwacom.git.sourceforge.ne...m.conf;hb=HEAD
    *Serial Wacom snippet from Peter Hutterer.
    *N-trig snippet from Rafi Rubin.

    b) Lucid, Maverick, and Natty-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/”. Wacom entries used to be included in the xorg.conf of previous versions of Ubuntu before Intrepid. Sample xorg.conf's are attached below. The LWP mediawiki has a modern generic Example xorg.conf. Either add the relevant sections to your xorg.conf or replace your xorg.conf completely. If you decide to replace your xorg.conf with one of the attached ones be sure it is the one for your laptop. Please study the sample xorg.conf and compare it carefully to your xorg.conf before making any changes. And be sure to back up your xorg.conf first!
    To edit xorg.conf you have to be administrator so in a terminal:
    Code:
    gksudo gedit /etc/X11/xorg.conf
    Let's look at an example (one that uses all of linuxwacom's Tablet PC features). For a HP TX2000 you need to add the following InputDevice Sections.
    Code:
    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
    (The four options ( TopX to BottomY) in the stylus and touch sections are there to provide calibration if needed. These calibrations would apply to all users. You can determine your calibration using one of the methods discussed in Calibration at the LWP's mediawiki. Or you could use a xsetwacom set command with the Area parameter. That would allow each user their own calibration. See also Appendix 3.)

    You also need to add the following three lines to the "ServerLayout" Section which should be at the bottom of xorg.conf. In Lucid and later (Xserver 1.7 or higher) "SendCoreEvents" is deprecated so the "ServerLayout" lines become:
    Code:
          Inputdevice       "stylus"
          Inputdevice       "eraser"
          Inputdevice       "touch"
    Options are available in man wacom and in the Linuxwacom HOWTO at the mediawiki. If you want to learn how the “Device” input paths were determined please look at Appendix 4 below.

    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>.
    After you restart the stylus and touch should work. If it does not, restart again. Make sure you cover the entire screen to see if the pointer moves to 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...&postcount=176


    Section 4: Configuring and Calibrating your Tablet or Tablet PC.

    Note: the linuxwacom configuration and calibration gui wacomcpl (Wacom Control Panel) was dropped by xf86-input-wacom, so it is no longer available in Lucid and later releases. Instead sample .xsetwacom.sh scripts are available, attached to posts #1 and #2, at the Bamboo P&T HOW TO. More information on writing a script is available at the LWP's mediawiki: http://sourceforge.net/apps/mediawik..._Configuration Information on calibration is at: http://sourceforge.net/apps/mediawik...le=Calibration

    The wacomcpl settings were a set of xsetwacom commands stored in a file called .xinitrc. We are essentially duplicating that file with the .xsetwacom.sh file. 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 Xserver through a reboot you need to make it executable:
    Code:
    chmod +x ~/.xsetwacom.sh
    Or use the path to the directory you have placed .xsetwacom.sh in. You could also right click on the file and in Properties, in the Permission tab, check Execute as program. Go to System->Preferences->Startup Applications and click on add and for the command write "sh /home/yourusername/.xsetwacom.sh" (without the quotes and using the appropriate directory). And title it “Wacom Tablet Calibration Settings” or whatever you like. By the way the period in front of xsetwacom.sh makes it a hidden file. You do not need to do that, it just prevents directory clutter. If you create a folder/directory named bin (/home/yourusername/bin), as some recommend for placing user scripts and binaries, there is no need to make xsetwacom.sh hidden.

    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 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:
    cd Desktop
    
    apt-get source linux-image-`uname -r`
    The kernel is about 94 MB and takes a few minutes to download depending on your connection. You'll see linux_2.6.38.orig.tar.gz, linux_2.6.38-8.42.dsc, linux_2.6.38-8.42.diff.gz, and linux-2.6.38 if your release is Natty. And of course the 3.0 kernel if your release is Oneiric.

    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:
    cd linux-2.6.38/drivers/input/tablet
    Now you are ready to compile the wacom.ko. Use the following command:
    Code:
    make -C/lib/modules/`uname -r`/build M=`pwd` modules
    You may have to install the gcc compiler if you haven't already. This will also compile several other modules in the /tablet directory, but the compile goes fast even so. If despite that you only want to compile the wacom.ko you could alter the Makefile in /tablet.

    Copy the newly compiled wacom.ko from the current tablet directory into your system kernel's modules /tablet directory with:
    Code:
    sudo cp wacom.ko /lib/modules/`uname -r`/kernel/drivers/input/tablet/
    Rebuild all of the module dependencies:
    Code:
    sudo depmod -a
    Then reboot.

    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 with your changes.

    In the folder are 6 files:
    Code:
    dkms.conf	Makefile	wacom.h
    wacom_sys.c	wacom_wac.c	wacom_wac.h
    Replace the source files wacom.h, wacom_sys.c, wacom_wac.c, and wacom_wac.h with the same files from the source code you compiled your wacom.ko from. Including the wacom_wac.c you made any changes in.

    Then enter in a terminal the following commands:
    Code:
    sudo dkms add -m wacom -v 2011
    sudo dkms build -m wacom -v 2011
    sudo dkms install -m wacom -v 2011
    You would use your version number in the commands, if you changed it, of course.

    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:
    modprobe --show-depends wacom
    That will show you the path where all the dependent kernel modules are stored including the wacom.ko module.

    To remove the wacom.ko dkms:
    Code:
    sudo dkms remove -m wacom -v 2011 --all
    * thanks to Ayuthia for supplying the framework package.

    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:
    xsetwacom -x get "device name or ID #" Area
    Using the "device name" or ID # xinput list returns for the device. For example for a BambooPT:
    Code:
    xsetwacom -x get 9 Area
    Giving an output of:
    Code:
    Option "Area" "0 0 480 320"
    You now need to take the 4 coordinates and break them into TopX, TopY, BottomX, and BottomY and then they can be put into, as 4 Option lines, the .conf file in xorg.conf.d under the appropriate snippet or in the xorg.conf in the "touch" section. Just repeat the "translations" as needed.

    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:
    dmesg | grep Wacom
    There should be two lines similar to this.
    Code:
    [ 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
    Next we list the USB input files in “/dev/input/by-path” using the long listing format. Type:
    Code:
    ls -l /dev/input/by-path
    Which should give you something similar to.
    Code:
    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 we need to find the device input file that matches the output of dmesg. Notice that input9 (from dmesg) matches with event9 (in the ls command). So the USB input file [pci-0000:00:0b.1-usb-0:2.3:1.0-event-mouse] is the one needed for the stylus. And input10 (from dmesg) matches with event10 (in the ls command). So the USB input file [pci-0000:00:0b.1-usb-0:2.3:1.1-event-] is touch.

    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:
    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"
    The 60-wacom.rule file at the mediawiki contains Wacom symlink rules. If needed you can copy a rule from there, or create your own (see below or the mediawiki page), for a new model not yet in the default Ubuntu “69-xserver-xorg-input-wacom.rules”. Open the “69-xserver-xorg-input-wacom.rules” file in "/lib/udev/rules.d/":
    Code:
    gksudo gedit /lib/udev/rules.d/69-xserver-xorg-input-wacom.rules
    and add your new rule. Then restart X.

    In your xorg.conf for “stylus”, “eraser”, "cursor", and "pad" "InputDevice" sections you would use:
    Code:
    	Option		"Device"	"/dev/input/wacom"
    In your “touch” section (if you have it) you'd use:
    Code:
    	Option		"Device"	"/dev/input/wacom-touch"
    And you would also use wacom-touch for a BambooPT pad.

    If your device is new and there is not yet a rule for it in a terminal enter:
    Code:
    more /proc/bus/input/devices
    In the output should be at least one section labeled Wacom. Your vendor and product ID should be in it. The vendor ID for Wacom is Vendor=056a. If your device is not in the table you should be able to construct a symlink. Using the symlinks in the large “table” as templates construct a rule using your vendor and product ID. Add it to the end of the table, before “# Convenience links for the common case etc.”.

    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.
    Attached Files Attached Files
    Last edited by Favux; May 2nd, 2012 at 09:27 PM.

  2. #2
    Join Date
    Jan 2009
    Beans
    4

    Re: HOW TO: Install a LinuxWacom Kernel Driver for Tablet PC's

    Hi,
    I followed the exact instructions as mentioned above, my touch screen worked, but when i rebooted it did not work. Apparently i have to restart xserver (ctrl+alt+bckspc) to make my touch screen work. Any idea what's wrong?

    Also when i tried to check for Device Input using (Appendix 1)

    dmesg | grep Wacom

    and compared it with

    ls -l /dev/input/by-path

    it does not seem to match, is this the problem?

  3. #3
    Join Date
    May 2007
    Beans
    136

    Re: HOW TO: Install a LinuxWacom Kernel Driver for Tablet PC's

    Hi amol_deshmukh

    I had the same problem until I added "wacom" to /etc/modules, then it worked everytime.

    sudo nano /etc/modules
    add wacom (fx at the bottom)
    crtl-o (save)
    crtl-x (exit)


    My /etc/modules looks like this:

    # /etc/modules: kernel modules to load at boot time.
    #
    # This file contains the names of kernel modules that should be loaded
    # at boot time, one per line. Lines beginning with "#" are ignored.

    fuse
    lp
    wacom
    powernow-k8


    Martin (tx2590oe)

  4. #4
    Join Date
    Nov 2008
    Beans
    9,635
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: HOW TO: Install a LinuxWacom Kernel Driver for Tablet PC's

    Hi everyone,

    Linux Wacom Project has released a new driver, v. 1.0.8.2-2. I updated the HOW TO and tested it. Works fine.

    Their site seems to be confused somehow. On the all packages link it takes you to 0.8.1-6 and 0.8.0-3 [from 5-24-08]. Basically it is saying 0.8.0-3 is the current production branch. Of course it isn't, 0.8.2-2 is, unless I'm totally missing something. I think it must be a goof. Edit: Never mind, it's straightened out now.

    Anyway for Jaunty alpha 3 users they are saying that 0.8.2-2 supports the new Xorg server 1.6 and should be in sync with kernel 2.6.28. If I'm interpreting it correctly this means 0.8.2-2 is their first driver that could/might work with Jaunty.

    PS: Thank you martin for helping out amol_deshmukh.
    Last edited by Favux; January 21st, 2009 at 08:08 PM.

  5. #5
    Join Date
    Feb 2005
    Beans
    2

    Exclamation Re: HOW TO: Install a LinuxWacom Kernel Driver for Tablet PC's

    Please note that in

    Code:
          Option            “BottomY"        "16375"
    the first double quotes sign is not ". This gives a syntax error if you copy and paste into xorg.conf.

  6. #6
    Join Date
    Feb 2005
    Beans
    2

    Question Re: HOW TO: Install a LinuxWacom Kernel Driver for Tablet PC's

    Quote Originally Posted by amol_deshmukh View Post
    Also when i tried to check for Device Input using (Appendix 1)

    dmesg | grep Wacom

    and compared it with a Wacom Cintiq 12WX

    ls -l /dev/input/by-path

    it does not seem to match, is this the problem?
    I have the same problem. What would be the path for "touch" in this case?

    Code:
    $ dmesg | grep Wacom
    [    8.056688] input: Wacom Cintiq 12WX as /devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/input/input6
    [    8.149311] wacom: v1.49:USB Wacom Graphire and Wacom Intuos tablet driver
    [  417.991134] input: Wacom Cintiq 12WX as /devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/input/input7
    [12447.248118] input: Wacom Cintiq 12WX as /devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/input/input8
    [12658.739396] input: Wacom Cintiq 12WX as /devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/input/input9
    Code:
    $ ls -l /dev/input/by-path
    total 0
    lrwxrwxrwx 1 root root 9 2009-01-21 13:46 pci-0000:00:1d.2-usb-0:1:1.0-event-kbd -> ../event4
    lrwxrwxrwx 1 root root 9 2009-01-21 13:46 pci-0000:00:1d.2-usb-0:2:1.0-event-mouse -> ../event5
    lrwxrwxrwx 1 root root 9 2009-01-21 13:46 pci-0000:00:1d.2-usb-0:2:1.0-mouse -> ../mouse1
    lrwxrwxrwx 1 root root 9 2009-01-21 17:17 pci-0000:00:1d.3-usb-0:2:1.0-event-mouse -> ../event6
    lrwxrwxrwx 1 root root 9 2009-01-21 17:17 pci-0000:00:1d.3-usb-0:2:1.0-mouse -> ../mouse2
    lrwxrwxrwx 1 root root 9 2009-01-21 13:46 platform-pcspkr-event-spkr -> ../event3
    Cheers.

  7. #7
    Join Date
    Nov 2008
    Beans
    9,635
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: HOW TO: Install a LinuxWacom Kernel Driver for Tablet PC's

    Hi Ramón Casero,

    Thank you for pointing out the syntax error. Hopefully it's corrected now. The perils of moving a document between Text Editor, OOo Writer, and the forum text editor!

    Also thank you for providing your output. What model of Tablet PC do you have? What are the features? Are you on Ubuntu 8.10? Which kernel? I agree there doesn't seem to be a touch match. Or touch at all. Are you using:
    Code:
    pci-0000:00:1d.3-usb-0:2:1.0-event-mouse
    (input/event 6) for the stylus? And it is working?

    There maybe a way to short circuit this. At least for external tablets I know the following can work:
    Code:
    Option   "Device"   "device/input/wacom"
    And you insert it in each section you have, eg: stylus, eraser, etc. At least one serial Tablet PC user I talked to seemed to be saying this worked for him. Apparently there is some kind of "sym-link"(?) they're trying to introduce. So you don't need "ttyS0" or whatever or the usb input path. I have tried it intermittently since and so far it hasn't worked for me. But I haven't tried it yet on 0.8.2-2.

    By any chance do you have any usb device plugged into your Tablet PC? If so try removing it and running dmesg and ls etc. again.
    Last edited by Favux; January 24th, 2009 at 09:36 PM.

  8. #8
    Join Date
    Nov 2008
    Beans
    9,635
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: HOW TO: Install a LinuxWacom Kernel Driver for Tablet PC's

    All right I tested the "device/input/wacom" with 0.8.2-2 in 8.10 with kernel 2.6.27-11-generic. Still no joy. At least for my HP TX2000. The stylus works, but under HAL. The quick and dirty way I can tell it is HAL is the side-switch does not act as a right click. Also when I type "wacomcpl" in a terminal and the LinuxWacom calibration gui pops up there is no "stylus" or "eraser" or "touch" listed.
    Last edited by Favux; January 27th, 2009 at 09:31 PM.

  9. #9
    Join Date
    Nov 2008
    Beans
    9,635
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: HOW TO: Install a LinuxWacom Kernel Driver for Tablet PC's

    Hi everybody,

    I finally think I have a handle on the "dev/input/wacom" issue. I took another look at the LWP's HOWTO section 3.2 which discusses symlinks. First you want to look at the output of:
    Code:
    more /proc/bus/input/devices
    In there you will find vendor and product ID as well as the name. Here's the relevant part of my output:
    code:
    Code:
    I: Bus=0003 Vendor=056a Product=0093 Version=0330
    N: Name="Wacom ISDv4 93"
    P: Phys=
    S: Sysfs=/devices/pci0000:00/0000:00:0b.1/usb2/2-2/2-2.3/2-2.3:1.0/input/input10
    U: Uniq=
    H: Handlers=mouse2 event10 
    B: EV=b
    B: KEY=3c03 0 0 0 0 0
    B: ABS=1000100001b
    
    I: Bus=0003 Vendor=056a Product=0093 Version=0330
    N: Name="Wacom ISDv4 93"
    P: Phys=
    S: Sysfs=/devices/pci0000:00/0000:00:0b.1/usb2/2-2/2-2.3/2-2.3:1.1/input/input11
    U: Uniq=
    H: Handlers=mouse3 event11 
    B: EV=b
    B: KEY=3c03 0 0 0 0 0
    B: ABS=1000100001b
    Now knowing my vendor is "056a" I could proceed to find "/etc/udev/rules.d/60-symlinks.rules". At least I think it is the right place. Looking in it I saw there was no Wacom symlink. Ah ha, no wonder it wasn't working in my xorg.conf. So I added at the bottom of the file the following (per section 3.2):
    Code:
    # Link Wacom USB tablet to "/dev/input/wacom" (Linux Wacom Project HOWTO sec. 3.2)
    KERNEL=="event*", ATTRS{idVendor}=="056a", SYMLINK="input/wacom"
    Then in xorg.conf I changed "stylus", "eraser", and "touch" in "dev/input/*" to "wacom" and removed "by-path" so they all looked like "dev/input/wacom". In each of the three sections ("stylus", "eraser", and "touch") the line read:
    Code:
    Option "Device" "/dev/input/wacom"
    rather than, for eg.:
    Code:
    Option "Device" "/dev/input/by-path/pci-0000:00:0b.1-usb-0:2.3:1.0-event-mouse"
    Then I rebooted. And it worked! Well except for touch. Stylus, side-switch, and eraser seemed to be working fine. But I did not test exhaustively. Wacomcpl showed all three: stylus, eraser, and touch; but touch did not work. If I got any reaction out of it the pointer would immediately head to the lower right corner of the screen. This is a symptom that Xserver isn't getting any input. However this may work for a Tablet PC that does not have touch.

    It makes sense that touch does not work because section 3.2 says the symlink is for kernel 2.6.28. I'm using 2.6.27-11 on Intepid 8.10. But why then does it work for external tablet users? They can't have been on 2.6.28 until recently. There must be another entry somewhere that establishes their symlink. So apparently kernel 2.6.27 does support usb external tablets via symlinks (at least partially). And can be coaxed to at least support the stylus and eraser of a usb Tablet PC.

    I do not recommend anyone doing this. I was just curious as to what the symlink thing was about. I have reverted back to the pci path method, and now have touch again. In Jaunty we are suppose to be/may be getting a gui that will configure xorg.conf, so that we don't actually work with it directly (and can't break it). So with Jaunty, if we have to configure the xorg.conf at all, at least for input paths, it looks like all we will need to use is "wacom". Now that's progress!
    Last edited by Favux; February 2nd, 2009 at 08:30 PM.

  10. #10
    Join Date
    Sep 2008
    Beans
    8

    Re: HOW TO: Install a LinuxWacom Kernel Driver for Tablet PC's

    Thanks for the great tutorial.

    I wonder is pressure working for any of you? I tried drawing in both gimp and inkscaoe and it seemed that neither of them was pressure aware(as opposed to vista where they were)

    Is it a problem with the driver or did I just mess up somewhere?

Page 1 of 142 1231151101 ... LastLast

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •