|
Revision 1.15, 14th Jan 2007
Linux Installation |
|
|||||||||||
|
Welcome
to UPDD Linux platform specific notes for UPDD 4.0.6.
Although UPDD V4 driver was released in Oct 2006 these notes and the
information held within has been build up over the years with the usage of
our previous driver in the Linux environments but have been modified to
accommodate installation and other subtle changes relating to version 4. Very important general note: Linux is an open source environment
utilised and supported by highly knowledgeable and capable developers.
Many aspects of the Linux system are maintained by Linux groups and
communities. Nearly all software created by these Linux groups is made
available under open source license agreements, including any touch screen
drivers that have been written, mainly by individuals. Linux distributions
are many and varied and all have slight subtle differences. Many users,
developers and integrators in the Linux community do not expect to pay for
software. All of this makes it commercially very difficult to operate
in the Linux environment with a niche product such as our touch screen driver
products. Our driver is mainly aimed at the non technical Linux users or larger
commercial organisations that need a tried and tested touch driver
solution that comes with comprehensive support. To this end our driver offers
a generalised installation package with basic system requirements and in many
cases should work ‘out the box’, especially with the main
stream Linux distributions. If you are a Linux technician, with access
to open source touch driver code that you can modify and make the
necessary system configuration changes then UPDD is unlikely to match your
specific requirements particularly as there are license costs involved. Further, given the number of Linux distributions, if UPDD has any
issues on distributions not listed and tested we may not be readily able to
offer free
support as the amount of support needed does not match the commercial
viability of Linux sales. License NoticeThe software is licensed software and as such requires a license per system when the production version of the software is installed. Production software is either supplied by pointer device manufacturers or system integrators (who are entitled to distribute the driver) or is available directly from Touch-Base sales. Evaluation software, which is available from our Download Centre has a 100 ‘mouse click’ restriction at which point the driver needs to be reloaded or a calibration performed to gain a further 100 clicks. Copyright NoticeThis software, Universal Pointer Device Driver – TBUPDD, is copyright © 1998 – 2007 by Touch-Base Ltd. All rights reserved. The Linux version utilises a software library, libusb, which is used under the terms of the GNU Lesser General Public License as published by the Free Software Foundation and under the terms of this license the following applies: Copyright (c) 2000-2003 Johannes Erdfelt johannes@erdfelt.com All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTR Under the terms of this license we will also make the Universal Pointer Device Driver binaries available to allow the libusb module to be replaced with an alternative version. Please contact technical@touch-base.com for further information. Full details of the LGPL are available here. |
||||||||||||
Linux driver build history |
||||||||||||
|
Release |
Date |
Change |
||||||||||
|
4.0.2 |
10th
Oct 06 |
Initial
Version 4 release for X86 systems |
||||||||||
|
|
22nd
Nov 06 |
Support new X
interface on Fedora Core 5 |
||||||||||
|
4.0.4 |
5th
Jan 07 |
Added support
for Power PC based systems |
||||||||||
|
|
16th
Jan 07 |
Changes
required for SUSE 10.1 |
||||||||||
|
|
17th
Jan 07 |
Interactive
touch fix. Mouse settings called from Click Mode dialog for KDE and Gnome. |
||||||||||
|
|
9th
March 07 |
Multi-monitor
support added |
||||||||||
|
4.0.6 |
15th
Nov 07 |
Linux 64 bit
support |
||||||||||
DeliverablesThe main
installation package is held within the compressed file called linuxupdd.tgz. Software requested from Touch-Base to be
delivered electronically will be delivered in one of three ways:
General Notes
UPDD for
Linux has two driver components. A core processing engine which exists
outside the kernel and an X extension to provide the mouse interface for X
based GUI applications. This architecture allows for maximum portability. As
the core driver is not embedded in the kernel a single compiled module can be
executed on any kernel version. The vast majority of users use X to host GUI
applications; however, UPDD has the flexibility to support other GUI’s
by reimplementation of this minimal module. The
initial UPDD for Linux was developed under Linux 2.4 + X (or X-Windows). The
driver has been tested on various Linux flavours using Xfree86, mainly
version 4.x and more recently X.org. It has also been extensively tested
under 2.6.x kernel. In theory the driver should install and run on most of
the standard Linux distributions.
Please contact us if you should experience any difficulties installing
or running the driver as it is likely to be a minor issue that is preventing
the software from working. You
should be aware that it is possible to load multiple X sessions on a machine
and switch between them as required. At any one time an X session will be
active on the desktop and the other X sessions will be in the background. The
driver can be installed from any X session. Each X session running will
receive pointer movements and click requests which might not be desirable as
you will not know what is being selected in the hidden, background, X
sessions. We believe that in a touch environment most users will only run
with one X session and therefore we do not think this is a significant issue.
Please contact us if this causes any problems, as it may be possible for us to
limit mouse movement and clicks to the active X session if you must run in a
multiple X session environment. The
driver is statically linked with its required libraries and as such is quite
large in size. This is normally not an
issue for standard Linux desktop systems but can be an issue in specialised,
cut down or embedded Linux environments.
Please contact technical@touch-base.com
if you require a dynamically linked version of the driver.
USB
PS/2
In the file /etc/X11/XF86Config there
is a section which will be similar to the following:- Section “InputDevice” Identifier “Mouse0” #
Modified by mouseconfig Driver “mouse” Option “Device” “/dev/mouse” Option “Protocol” “PS/2” Option “Emulate3Buttons” “no” Option “ZaxisMapping” “4 5” EndSection This identifies a PS/2 mouse to use with X
using the name ’Mouse0’ to identify itself. There will be
another section like the one shown below: Section “ServerLayout” InputDevice
“Updd0” “SendCoreEvents” Identifier “Anaconda Configured”
Screen 0 “Screen0” 0 0
InputDevice
“Mouse0” “CorePointer” #
InputDevice
“Keyboard0” “CoreKeyboard” EndSection The line ‘InputDevice “Mouse0”
“CorePointer”’ in this section is including the PS/2
mouse driver configured in the other section. This line should be removed. The line ‘InputDevice
“Updd0” “SendCoreEvents”’ should be
modified so that it reads:- InputDevice “Updd0”
“CorePointer” System Requirements
Apart from the Linux kernel software our software requires the
following components: |
||||||||||||
|
XF86config Xorg.conf |
graphical interface (if using a graphics interface – driver will load and work without X allowing for application API interface to driver) See Window Manager installation below. |
|
“86” in the config file names refers to the fact that it
was originally developed on x86 and doesn’t actually reflect what
processor/platform it’s running on |
|
|
Fileutils |
mkdir, cd etc, Sound utility sox if using calibration beeps, see Hardware requirement below. |
|
C library |
UPDD V4 uses dynamic linked
library calls so requires the C library to be available. UPDD V4 utilises release 6 (libstdc++.so.6). C library version 6 has
been available for a number of years and should be shipped as standard in
most Linux distributions. For legacy distributions with earlier C libraries
either install the V6 lib or use UPDD V3 (uses V5 C library). A C++ version 6 library that may be suitable in some distributions can
be found here.
|
|
Hardware |
If calibration beeps are enabled in the UPDD Console a sound card is required as we have not been able to access the internal PC speaker under Linux. |
|
USB |
Important: For USB devices the USB file system must be a component of the distribution and enabled. |
UPDD version 4 Linux has been tested on both X86 and Power PC
implementations.
|
X86 Distribution |
Date tested (or
informed all OK by user) |
|
Many Linux X86 distributions have been tested and found to work fine
as long as they conform to the above system requirements: |
|
|
SUSE 8, 9.3 and 10.0 |
May require C library version 6 (libstdc++.so.6)
to be installed |
|
Redhat 8, 9 and 10 |
May require C library version 6 (libstdc++.so.6)
to be installed |
|
Fedora Core 1, 2 and 3 |
|
|
Debian 3.0 (Woody) |
|
|
Gentoo Linux 2006.1 |
31st October 2006, see Gentoo notes
below. |
|
Fedora Core 5 |
22nd Nov 2006. Tested in-house. Needed changes to support
new X interface |
|
Fedora Core 6 |
23rd Nov 2006. Reported OK by a customer. |
|
SUSE 10.x |
15th Jan 2007. Tested in-house. Needed change to support
new task initiation. See Suse 10.x notes below |
|
Mandriva 2006 |
26th Feb 2007. Reported OK by a customer. |
|
Maemo 2.0 |
9th March 2007. Reported OK by a customer. Cannot handle full screen calibration so calibration style Custom2Point must be defined and used. See Calibration note below. |
|
Maemo 3.0 |
9th March 2007. Tested in-house. Cannot handle full screen calibration so calibration style Custom2Point must be defined and used. See Calibration note below. |
|
Slackware 11 |
23rd March 2007. Tested in-house. |
|
Debian 4.0 (Etch) |
1st Aug 2007. Tested in-house. |
|
Ubuntu – Edgy Eft |
1st Aug 2007. Tested in-house. |
|
Ubuntu – Feisty Fawn |
13th Dec 2007. Tested in-house. Needed change to driver start up scripts. |
|
Ubuntu – Gusty Gibbon |
13th Dec 2007. Tested in-house. Needed change to driver start up scripts. USBFS must be enabled, see below. |
|
Limited testing on Power PC but there is a good chance that it will
work on most Power PC distributions |
|
|
Power PC distribution |
|
|
Debian |
5th Jan 2007 – Tested in-house. |
|
Important – Check
the distribution notes section below that records any issues we have had
during testing |
|
Distribution Notes
At the time of writing we are aware of the following distributions
that have some issue: |
|
Distribution |
Issues |
General |
Window
management issue – first noted on Fedora Core 5 and 6 and also reported
on Suse 10.1 but could effect other distributions: Generating a
click via touch is sometimes ignored. In some areas of the Linux menu system
we have found that unless the mouse is moved to the position of the click the
click is ignored, such as the 2nd level of menus from the
Application start menu option:
Some items
within the applications menu will expand to a 2nd level menu.
Lifting the stylus off the first menu and clicking into the second menu item will not activate the selected
item. You need to slide your finger
from the first menu to the second menu and lift the stylus off when over the
desired item. This problem can also be
seen with a mouse by having the mouse at the position of the second level
item and clicking when it is shown. With no mouse movement prior to click, the
click is ignored. |
Calibration |
Correct operation of the calibration requires the calibration screen to
be displayed in full screen mode. Some Linux distributions cannot handle the
method used by our calibration program to force full screen with unpredictable
results. To date we have seen this
with Linux distribution Maemo. On systems where
the full screen issue occurs, one of the following actions will be necessary: 1. Execute the calibration program in an environment
that supports full screen display. For example if a window manager is
preventing full screen mode try running without the window manager
active. (This has been necessary on
systems using the TWM window manager) 2. In cases where
full screen is not possible we have utilised a UPDD calibration style, named Custom2Point,
whereby calibration does not attempt full screen mode (and therefore cannot
draw accurate calibration points) but instead requests that the top left and
bottom right corners of the calibration area be used as the calibration reference
points. No
other calibration patterns are catered for.
Either request a build from Touch-Base with this calibration style
pre-defined or use the UPDD Console, calibration dialog to add the style
(deleting the existing style) and then calibrate to invoke corner
calibration. |
TWM window manager |
In order to calibrate you must run the
calibration program (tbcalib) without the TWM window manager active so that
the entire screen area is used. If
this is not possible see calibration notes above. |
Slackware 10 |
We found two issues with this distribution: 1. The Linux files are installed in a different file structure so UPDD install does not locate configuration file and therefore there is some extra work to do after installation, as follows: Install UPDD as normal. Then create a file called “rc.updd” in the
“/etc/rc.d” directory with the following content:- #!/bin/sh if [ “$1” = “stop” ]; then echo “Stopping
updd…” killall tbupddlx elif [ “$1” = “restart”]; then echo “Restarting
updd…” killall tbupddlx sleep 1 /tbupddlx/tbupddlx & else # assume $1 = start: echo “Starting
updd: /tbupddlx/tbupddlx” /tbupddlx/tbupddlx & fi It should be marked executable by typing “chmod +x
/etc/rc.d/rc.updd” The file “/etc/rc.d/rc.local” should be modified to
include the following 3 lines (the location of these lines is not significant
so long as they do not split an existing code block):- if [ -x /etc/rc.d/rc.updd –a –x /usr/sbin/syslogd –a
–d /var/log ]; then . /etc/rc.d/rc.updd start fi The system should then be rebooted. We will automate this installation in a forthcoming UPDD release.
2. The default
Linux kernel provided with Slackware 10.1 has problems with USB that prevent
UPDD communicating with a USB device. However there is a 2.6 kernel supplied
on CD2 of the distribution which functions correctly. To install and use this
kernel follow the instructions located in
mountpath>/testing/packages/linux-2.6.10/README.initrd. |
|
Mandrake 9.2 |
Installs X 3.n.n. X needs to be upgraded to 4 to work. |
|
Elinos Embedded |