|
The Linux Wacom Project
|
| Main | News | FAQ | Downloads | Help | Development | TOC | All | Nov 09, 2009 |
Linux Wacom Project HOWTO2.5 - Configuring the PackageThis section describes how to configure the package. You can run the configure script now as the samples below demonstrate, or later when you reach the section of the document that explains what specifically needs to be configured and why. This page is provided largely as a reference. By default, xidump, wacdump, xsetwacom, wacom_drv.o, and wacomcpl are built. Additional options include replacement of kernel drivers for hid, mousedev, evdev, and usbmouse as well as building the XFree86/Xorg driver from scratch. Lastly, remember that for every --enable option, there is also an equivalent --disable option. The configuration options are listed on this page. You can also see the online list by issuing ./configure -help under linuxwacom's base directory. Note: You should remove the existing linuxwacom package on your system before installing the drivers and utilities from this project. Building Kernel Modules - USB OnlyIn order to build kernel modules, you will need the kernel source installed on your system. If you are running on Redhat or Mandrake, you can get it by installing the kernel-source RPM. The kernel source directory is assumed to be in /usr/src/linux-2.4, /usr/src/linux, /usr/src/linux-2.6, /usr/src/linux-`uname -r`, or /lib/modules/`uname -r`/source. If your kernel sources are elsewhere, you will need to specify the directory with the --with-kernel option described below. For older 2.6 kernels, you need to configure the kernel modules (wacom and hid) under your kernel source directory before configuring linuxwacom. Note, for kernel 2.6.18 and later, no need to build hid any more. Refer to Testing Tablet Detection to see if you need to build hid or not. Module Versioning - USB OnlyThe script attempts to discover if the kernel is using module versioning by detecting the presence of version numbers in the hid.o module of the currently active kernel. Recent package versions also check for hid.o.gz which exist on Mandrake systems. The configure script may not be able to determine if kernel module versioning should be enabled or not, in which case it will say "unknown, assuming no." If module versioning is disabled when it should be enabled, depmod will complain about missing symbols but otherwise, things will probably work fine. If it is enabled when it should be disabled, the code may not compile, and it almost certainly will not load properly. If the configure script fails to determine the correct value, the default action of disabling module versioning is the better choice, and you can allows enable it manually and rebuild if depmod complains. The XFree86/Xorg XInput Driver - USB and SerialGenerally, you will not need to build wacom_drv.o since it ships in binary form in the prebuilt directory. There are prebuilt binaries for XFree86 and Xorg corresponding to x86 and x86-64 systems, respectively. If no one works for you, building from source may be your only option. See the Building wacom_drv.o from Scratch page for more information. Library Dependencies - ncurses and XLibVarious utilities in the linuxwacom package require not only specific libraries, but their development header files as well. The ncurses package is one such example. Most distributions install the ncurses libraries by default, but the header files are often located in a separate package. You will need both. On Redhat 8.0, they can be found in the ncurses-devel RPM. Similarly, if you wish to test your tablet using xidump to view XFree86/Xorg input events, you will need the XFree86/Xorg development headers. On Redhat/Fedore Core, they are contained in the XFree86-devel/xorg-sdk package. If any packages are missing, the configuration will warn you and disable building any programs that depend on them. Processor TypeThe processor type is determined by the script and used to build the kernel modules. If it guesses incorrectly, or you would prefer a different setting, use the --with-arch option described below. Linux Specific FeaturesThe Linux wacom driver uses the Linux input subsystem, as does the USB portions of the XFree86/Xorg driver. Consequently, if you are building on a non-Linux system, the USB code will not work for you. This is detected, and a comment to that effect is added to the configuration summary. I recognize that FreeBSD and similar systems have USB support; however, until someone can bridge the gap between the FreeBSD kernel and the XFree86/X.org driver, the problem is largely unsolved. Contributions are of course welcome. The Linux-specific features can be enabled/disabled using the --with-linux argument. Configuration OptionsThe following options are provided as reference. Normally, you will only need a few of these options. Some obscure systems or you want to build a driver for another platform may need all of them. Each section of the document identifies which options are needed and when.
Configuration SamplesHere is a sample output of the script on a Fedora Core 5 system:
If the configure script fails to find something that it is looking for, it may disable some options that you previously enabled on the command-line. If this happens, check the output for a warning like the following:
In this particular case, the X driver was enabled. The --with-x-src option was not specified. And the configure can not find the header file, xf86Version.h, under any of the predefined paths. Without the build environment, the module cannot be compiled and was consequently disabled. The following sample command-line will build everything but wacdump while disabling module versioning. It also has a user-specified kernel source directory:
Notice that the configure script guessed module versioning was enabled by default, but was disabled by the command-line option --disable-modver. Similarly, the wacdump program which is enabled by default was also disabled. All the kernel modules and the XFree86 wacom driver are enabled. Here is another sample from Red Hat Enterprise Linux ES v.4:
|