|
Revision 1.32, 11th Mar 2010 www.touch-base.com\documentation\installation Linux
Installation |
|||||||||||
|
Welcome to UPDD Linux platform specific notes for UPDD 4.1.1, released in beta form 25/04/08. For earlier releases click here. Although the first 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, only available in binary form
NOT SOURCE, 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 which undergo constant updates and modifications, 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 – 2009 by Touch-Base Ltd. All rights reserved. The Linux version utilizes 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 © 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 |
|||||||||
|
4.1.1 |
25th
Apr 08 |
Much improved
PnP support based on common code across all platforms |
|||||||||
|
|
30th
July 08 |
Ubuntu 8.04
support with updated X interface |
|||||||||
|
|
18th
Aug 08 |
Slackware 12.1, Fedora Core 8 and 9 support added |
|||||||||
|
|
26th
Sept 08 |
Uninstall utility added |
|||||||||
|
|
Mar 09 |
Debian Lenny support added |
|||||||||
|
|
Apr 09 |
Ubuntu 9.04 (Jaunty Jackalope) support added Supports rotation from Ubuntu display control panel X interface via ‘built in’ method – remove need for
own X interface module Updated KDE UPDD desktop icon mechanism KDE X interface installation fix |
|||||||||
|
|
May 09 |
Fedora Core 10 supported added |
|||||||||
|
|
Aug 09 |
Fedora Core 11 supported added |
|||||||||
|
|
Oct 09 |
Suse 11.1 64 bit support added (Gnome WM only!) |
|||||||||
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 NotesUPDD 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 distributions 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. As standard the driver is dynamically linked and relies on certain system libraries being available. This is normally not an issue for standard Linux desktop systems but can be an issue in older distributions or specialised, cut down or embedded Linux environments. Please contact technical@touch-base.com if you require a statically linked version of the driver. The driver utilises QT cross platform graphics and therefore the installation does install this required QT graphics library.
USB
PS/2As of version 24/09/09 we have removed support for ps/2 devices due to the difficulty of maintaining support of a hardware touch product rarely used in a Linux environment. System RequirementsApart from the Linux kernel software our software requires the following components: |
|||||||||||
|
Processor |
X86 |
Fully supported and tested in-house |
|||
|
|
X86 – 64bit |
Fully supported and tested in-house |
|||
|
|
ARM |
Have generated an ARM build with a cross compiler but have not tested in-house due to lack of ARM based hardware. |
|||
|
|
PowerPC |
Fully supported and tested in-house |
|||
|
X Interface |
This interface is required to access the mouse port to emulate mouse movement and clicks. |
||||
|
|
Standard XF86config-4 XF86config Xorg.conf |
The driver has been tested with these standard interfaces. The “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. The driver utilises two different types of user mode X interfaces either via the UPDD kernel component and more recently (April 2009) via the Linux built in mouse interface. Often the UPDD kernel interface needs to be updated to cater for changes made to the X interface with new Linux distributions. It is our hope that the direct interface to the built in module will overcome this issue. Built in interface is utilised by the following distributions: |
|||
|
|
|
Ubuntu 8.04 |
Aug 2009 |
Ubuntu 9.04 |
April 2009 |
|
|
|
Fedora Core 10 |
May 2009 |
Redhat |
May 2009 |
|
|
|
Cent OS 4.6 |
May 2009 |
Fedora Core 9 |
June 2009 |
|
|
|
Debian Lenny 32bit |
April 2009 |
|
|
|
|
Non-standard X11 Kdrive/TinyX |
This implementation of X is usually found on minimized /embedded Linux distributions and does not use xorg.conf configuration files and does not work with standard X modules. UPDD has been tested with this X and as of June 09 we have a working solution via the built in interface. In these environments it is likely that a manual setup is required as described here. |
|||
|
|
Xorg nanoX |
Graphic system for smaller devices and platform – see http://www.microwindows.org/. Untested and listed here for completeness. We would need to build a system using this X interface and test/address any issues that arise. Unlikely to work until this has been done. |
|||
|
|
None |
Driver will load and work without X allowing for application UPDD API interface to the driver. |
|||
|
|
X is normally enhanced with a Window Manager that sits on top of X. See the Windows Manager installation note below. |
||||
|
File utilities |
mkdir, cd etc, Sound utility sox if using calibration beeps, see Hardware requirement below. |
||||
|
C |
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.
If this library is not available in your distribution then we can
supply a driver with statically linked components. |
||||
|
Hardware |
Sound card |
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 |
For USB devices the USB file system must be a component of the distribution and enabled. |
|||
If you need a driver for other
environments, such as a different graphics manager or different processor we
can update our driver to match your requirements but there will be a cost
involved on a time and materials basis.
UPDD Linux has been around many years
and used on many distribution and the old Linux documentation lists previous
distributions tested. The following
table shows the distributions tested since 4.1.1 release:
|
Distribution |
OS id |
OS rel |
Proc |
UPDD |
Date |
Test status |
|
|
|
|
4 & 5 |
x86 X64 |
4.1.1 4.1.1 |
Apr 08 Sept 09 |
Tested in-house and customer sites |
Redhat |
|
KDE Desktop Manager is the default
desktop for Kubuntu. |
|||||||
|
|
Jaunty Jackalope |
9.04 |
X86 |
4.1.1 |
Apr 09 |
Tested in-house |
Kubuntu-Jaunty-Jackalope |
|
Utilises the XFCE desktop environment. Designed for low-specification computers. |
|||||||
|
|
Linutop - mini PC |
8.04 |
X86 |
4.1.1 |
May 09 |
Tested by customer |
Ubuntu-Hardy-Herron |
|
GNOME Desktop Manager is the default desktop for Ubuntu. |
|||||||
|
|
EEEbuntu - EeePC |
2.0 |
X86 |
4.1.1 |
Feb 09 |
Tested by customer |
|
|
|
Feisty Fawn |
7.04 |
X86 |
4.1.1 |
Apr 07 |
Tested in-house |
Ubuntu-Feisty-Fawn |
|
|
Gutsy Gibbon |
7.10 |
x86 |
4.1.1 |
Apr 08 |
Tested in-house |
Ubuntu-Gusty-Gibbon |
|
LTS |
Hardy Heron |
8.04 |
x86 |
4.1.1. |
July 08 |
Tested in-house |
Ubuntu-Hardy-Herron |
|
|
Intrepid Ibex |
8.10 |
X86 |
4.1.1 |
Jan 09 |
Tested in-house |
Ubuntu-Intrepid-Ibex |
|
|
Jaunty Jackalope |
9.04 |
X86 |
4.1.1 |
Apr 09 |
Tested in-house |
Ubuntu-Jaunty-Jackalope |
|
|
Karmic Koala |
9.10 |
X86 |
4.1.1 |
Jan 10 |
Tested in-house |
Ubuntu-Karmic-Koala |
|
|
Moonshine |
7 |
x86 |
4.1.1 |
Apr 08 |
Tested in-house |
Fedora-Core |
|
|
Werewolf |
8 |
x86 |
4.1.1. |
Aug 08 |
Tested in-house |
Fedora-Core-8 |
|
|
|
9 |
x86 |
4.1.1. |
Aug 08 |
Tested in-house |
Fedora-Core-9 |
|
|
|
10 |
X86 |
4.1.1 |
May 09 |
Tested in-house |
Fedora-Core-10 |
|
|
Leonidas |
11 |
X86 |
4.1.1 |
Aug 09 |
Tested in-house |
Fedora-Core-11 |
|
|
Unite |
12 |
X86 |
n/a |
Jan 10 |
Untested |
n/a |
|
|
10.3 |
x86 |
4.1.1 |
Apr 08 |
Tested in-house and customer sites |
SuSE |
|
|
|
(KDE WM only!) (Gnome only!) |
11.1 11.1 |
X86 X64 |
4.1.1 4.1.1 |
Mar 09 Oct 09 |
Tested on customer site |
SuSE-11 |
|
Based on RedHat Enterprise Linux |
4.6 |
x86 |
4.1.1 |
Apr 09 |
Reported OK by a customer. |
CentOS-4.6 |
|
|
|
|
5.1 |
x86 x64 |
4.1.1 4.1.1 |
Jun 08 Sept 09 |
Reported OK by a customer. |
|
|
|
12.1 |
x86 |
4.1.1 |
Aug 08 |
Tested in-house |
Slackware-12.1 |
|
|
Etch |
4.x |
x86 |
4.1.1 |
Aug 08 |
Reported OK by customers. |
Debian-Etch |
|
|
|
Lenny |
5.x |
X86 |
4.1.1 |
Mar 09 |
Tested in-house |
Debian-Lenny |
|
Guardlinux |
|
|
X86 |
4.1.8 |
Feb 10 |
Tested in-house |
Guada-Linux |
|
2008 |
|
X86 |
4.1.1 |
Jan 09 |
Reported OK by a customer |
|
|
|
2009 |
|
X86 |
4.1.1 |
Mar 09 |
Reported OK by a customer |
|
|
|
(Kernel 2.6.24) |
10.1 |
X86 |
4.1.1 |
Jan 10 |
Reported OK by a customer |
||
|
|
|||||||
|
Important – The table above shows the list of distributions
that have been tested or reported as ok.
However, given the number of Linux distributions it is impossible to
guarantee that our install and/or driver will work in all environments or in
all distributions, even if the same underlying kernel, X interface and
desktop manager is in use or if a distribution is based on one of the
supported distributions. To this end we have selected a number of main stream
distributions to regularly test our latest driver and to try and keep the
driver current, these being ubuntu, Fedora-Core, Redhat and Suse. Issues with
our driver in any other distribution may incur a cost to investigate. |
|||||||
Linux NotesWe have
observed some general and distribution specific issues that are documented
below. If you
are using the graphical install on ‘tested distributions’ then,
where possible, we have catered for the known issues in the individual Linux
distribution setup scripts. If you
are manually installing, or installing on untested distributions or there are
issues after install on tested distributions then please read the appropriate
section below for your distribution: |
|||||||
General |
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 issues |
1) Full screen
calibration Correct
operation of the calibration requires the calibration screen to be displayed
in full screen mode. Some Linux distributions or certain visual effect
settings cannot handle the method used by our graphical calibration program
to force full screen with unpredictable results. To date we have seen this with Linux
distribution Maemo and main stream distributions with certain visual
effects enabled. 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.
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. |
|
2) Changing desktop
resolution The driver does
not automatically monitor desktop resolution and the resolution is captured
at the point calibration is performed and used as part of the X
interface. If resolution is changed a
new calibration will be required. |
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. |
Driver background process |
The driver uses a background process to
monitor video rotation and regularly calls xrandr for this purpose. One
customer reported that this process caused their animated graphics to
temporarily freeze every time xrandr was called. Should the background task cause issues on
your system you can safely kill the process “tblinuxdaemon” to
stop xrandr getting called. To disable it permanently remove the line “/bin/bash /opt/tbupddlx/startdaemon #UPDD” from the file /etc/profile. |
|
|
Distribution |
Issues |
Ubuntu 8.04, 8.10and others |
Some users of
these Linux distros have reported that after calibrating, the cursor tracks
incorrectly on the X axis (increasingly out to the right of the screen
– we do not see this issue on any of our systems!). When this is seen
we believe the driver has not correctly determined the X element of the
screen resolution. To correct the problem it is necessary to store the screen
resolution values in the X configuration file. Follow the instructions below
to configure this:- Either login as
the “root” user OR open a terminal and type “su” to
become the root user (entering the root pasword when prompted), or type
“sudo bash” (entering your pasword when prompted) to get access
to a root shell Open
/etc/X11/xorg.conf in a text editor (eg. by typing “emacs
/etc/X11/xorg.conf” or “vi /etc/X11/xorg.conf” or use any
other text editor) Navigate to the
section that reads: Section
"InputDevice" #UPDD Identifier "Updd0" Driver "xf86_tbupddlx" Option
"SwapXY" "0" Option "Device"
"/opt/tbupddlx/comReadPipe" EndSection #UPDD Modify it to
read Section
"InputDevice" #UPDD Identifier "Updd0" Driver "xf86_tbupddlx" Option
"SwapXY" "0" Option "Width"
"1024" Option "Height"
"768" Option "Device" "/opt/tbupddlx/comReadPipe" EndSection #UPDD Save the file Now either
reboot the computer OR shutdown the X server and then restart it Replace the
values of 1024 and 768 in the modified section to reflect the resolution that
you are using. If
this fix is used then it is important to remember to update these values if a
different screen resolution is used. |
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 the 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 tbupddwu elif [ “$1” = “restart”]; then echo “Restarting updd…” killall tbupddwu sleep 1 /opt/tbupddlx/tbupddwu & else # assume $1 = start: echo “Starting updd:
/opt/tbupddlx/tbupddwu” /opt/tbupddlx/tbupddwu & 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 |
Ships with X3.3.6 to keep embedded components as small as possible. |
|
KNOPPIX |
KNOPPIX
is a live variant of Linux that is run completely off a CD by creating a
RAMDrive. It is used a great deal for kiosk stations. This may require a manual install because
KNOPPIX normally runs out of a RAMDrive and some of the storage areas are
read-only which prevents the automatic installer writing files. In this
environment the driver needs to be embedded into the Knoppix disk image and
the file “/tbupddlx/tbupdd.reg” needs to be a symlink to this
file on the RAMDrive. It also
important that the files retain their case. The files norm*.gif and logo.gif
should all be in uppercase. |
|
Yellowdog |
The UPDD Linux version 3 driver supports both USB and serial devices. However, given the lack of serial ports on the Macs, hardware serial support depends on the availability of a suitable serial to USB adaptor such as the Keyspan interface. We do not believe that the Keyspan or any other adaptor is available for Yellowdog (due to lack of required drivers), so to all intent and purpose there is no serial support. Work is required to produce a UPDD Version 4 power pc version. |
|
Fedora Code 3 |
Fedora Core 3 has a built in HID driver that will take control of HID compatible touch controllers. For our driver to work with this distribution when using an HID compatible touch controller you will need to rebuild the kernel to make HID a loadable module. With UPDD Version 4 this should now be resolved! |
|
SUSE 9.1 |
We have found that Suse 9.1 has a non-standard implementation of HID and this stops our driver working with HID controllers. Although we could cater for this in UPDD we have found that SUSE 9.3 reverts back to a standard HID implementation and all is well. |
|
One customer reported that the driver
would not work with their USB touch controller and we asked for a USB device
listing (as documented in our Support Document). To
produce the device list the USB file system needed to be enabled and in doing
this the driver worked OK. In other
Suse 10.1 implementations it has not been necessary to do this so the UPDD
installation does not automatically enable the USB file system. If you find that the driver does not work
in Suse 10.1, enable the file system and test again. If it still does not work produce the Linux
info as specified in the Support Document and we will investigate further To enable the file system edit the
file “/etc/fstab” and change the line that says: and then reboot the system. Another customer reported
“In Suse 10.2 there’s no
USBFS, meaning with default Suse 10.2 kernel your driver cannot access USB
devices as there is no /proc/bus/usb. In this case the usbfs system will have
to be enabled. This particular customer used a non-default (but still
Open-SUSE) kernel that gave backward compatible libusb access on /proc/bus/usb! 10.3 was tested 21st April 2008 and all was found to be OK. |
|
|
SUSE 11.1 – X64 |
GNOME Window manager support only until we
investigate driver issues when KDE is in use. |
|
Perl needs to be installed (emerge –av perl) Install driver as per the installation instructions The three lib files (libTBapi.so lib Create file: /etc/init.d/updd with the following
contents: #!/sbin/runscript # Copyright 1999-2006 Gentoo
Foundation # Distributed under the terms
of the GNU General Public License v2 # $Header: $ depend() { use hotplug
logger } start() { ebegin
“Starting UPDD” /opt/tbupddlx/tbupddwu
& eend ${?} } stop() { ebegin
“Stopping UPDD” killall
–quiet tbupddwu eend ${?} } Make the file above startable (chmod +x /etc/init.d/updd) Start updd (/etc/init.d/updd start) Include updd at startup (rc-update add updd default) Running up the xsession will allow you to run the UPDD Console and
calibrate the touchscreen. |
|
|
Ubunto 7.10 |
The USB files system needs to be enabled: Edit the file:
/etc/init.d/mountdevsubfs.sh e.g gksudo gedit
/etc/init.d/mountdevsubfs.sh |
|
Controllers |
Issues |
|
ELO |
“If using an ELO controller and it
doesn’t work with UPDD then check the contents of your
/etc/X11/xorg.conf file for the following lines: Section "InputDevice"
Identifier "elo"
Driver
"elo"
Option
"Device" "/dev/input/elo_ser"
Option
"SendCoreEvents" "true" EndSection If they exist then delete them and also delete the
corresponding line “Inputdevice
"elo"” in the “ServerLayout” section of your /etc/X11/xorg.conf
file. The system should then be rebooted.” |
We believe the best approach is to expand the
contents of the linuxupdd.tgz file to the CD ensuring the permissions on the
extracted files are preserved. The end
user should then be able to run the installer directly from the CD. Please test before creating many copies!
You can install the driver using the supplied
GUI installation program or manually (standard Linux / embedded Linux):
The main
installation package is held within the compressed file called linuxupdd.tgz. Copy the file into a directory other than “/opt” or
“/” such as a users home directory on the Linux system, change
to that directory, then decompress it by using the command “tar
zxvf linuxupdd.tgz”.
Important - Do not decompress the software in the root directory or
“/opt/” as the install will fail.
To
install the software open a terminal window and either use “su” or
“kdesu” to become the root user then type “./setup”.
Alternatively type “sudo ./setup” and enter your password (not on
SuSE 10.3; see note above). This will launch the setup program:
Following installation you must reboot the system for the
driver to load
1.
The installation procedure is used to install
the software for a single touch screen / UPDD supported pointer device. In a multi-touch screen or pointer device
environment invoke the UPDD Console -
Hardware dialog to add additional devices after installation. See the Multi monitor and multi
device documentation for further information.
2.
After installation it is a requirement to reboot the system as the
graphical subsystem needs to be reloaded for any new drivers to work.
3. Window Manager: Most Linux distributions use a
Window Manager on top of the X graphical sub-system. The window manager
enhances window management such as window borders and minimise/maximise
buttons, the taskbar and the functionality to manipulate windows. The
underlying X system provides the graphics primitives to allow drawing to the
screen. KDE and Gnome are the most popular window managers so if they are used
the installation procedure will attempt to** create desktop icons
for UPDD. ** Given the nature of
Linux as a moving development target the method used to create the icons may
not always work in all distributions
When the system has restarted and user log in is completed there are two ways
to configure the driver. If KDE or GNOME are the Windows managers then there should be two new icons on the desktop, Console
and Calibrate, which can be used to change driver settings and calibrate the
touchscreen respectively. On systems where the icons are not seen then a Terminal
program should be executed and the user should type
“/opt/tbupddlx/upddconsole” to run the Console, and
“/opt/tbupddlx/upddcalib” to run the Calibration program.
Alternatively manually create a Linux shortcut to the UPDD Console and
Calibration program.
4. Root User: Calibration can not be activated
when running as a root user. The problem is that when starting an X session,
the user is authenticated by X and given permission to connect to the server.
When switching users by using "su", the new user no longer has
permission to connect to the X server and as a consequence cannot run graphical
programs.
5. UPDD
for Linux uses components of the kernel to provide access to the various
hardware ports, such as USB, PS/2 and serial ports. In order to access controller hardware using
a distribution that does not implement or mount these sub-systems by default
the integrator will need to use the kernel documentation for the distribution
in question to enable the appropriate interface.
6. For serial devices the driver
handles the serial device via standard COM port names (/dev/ttySnn) or USB to
serial adaptors (/dev/ttyUSBn), so to use a serial device with a different name
it is required to create a symbolic link to one of these port types. In the UPDD serial dropdown you have a choice
of COMn for hardware serial ports (maps to /dev/ttysnn-1 (e.g COM1 = TTYS0)) or
Adaptorn for virtual serial ports (maps to /dev/ttyUSBn-1 (e.g Adaptor1 =
TTYUSB0)) created via a Serial to USB adaptor.
Following
installation the following folder structure will have been created/updated on
your Linux system:
/opt/tbupddlx/*
Contains
the ini file, calib gif files, etc
/usr/X11R6/lib/modules/input/xf86_tbupddlx.o
This
is the X module for systems using X11R6 based X Window Systems such as Xfree86
and early versions of x.org
/usr/lib/xorg/modules/input/xf86_tbupddlx_drv.so
This
is the X module for systems using X11R7 based X Windows Systems such as the
latest x.org
/etc/init.d/tbupdd
/etc/rc2.d/S90tbupdd
/etc/rc3.d/S90tbupdd
/etc/rc5.d/S90tbupdd
These
automatically load the daemon on system boot
/etc/X11/XF86Config-4 or
/etc/X11/XF86Config or /etc/X11/xorg.conf
(depending
on X version used)
This
pre-existing file gets modified to add a section to load the UPDD XFree86
module
UPDD for Linux is shipped with a graphical
installation program. In general this program should be used in conjunction with
the supplied instructions to install the software as defined above. In some
circumstances however it might be necessary to manually install the software,
if for example to use Linux in an embedded environment. The instructions below
show the steps required to take the contents of the file linuxupdd.tgz and
install the contents manually on a Linux system. The instructions are for the
use of personnel familiar with the Linux command line interface. The commands
should be issued by a user logged on as root.
The
manual installation instructions are as follows:
-cp <location of
tgz>/linuxupdd.tgz /
-cd /
-tar zxvf
linuxupdd.tgz
-rm /setup
-cd /opt/tbupddlx
[Standard Linux]
-cp S90tbupddlx
/etc/rc.d/init.d/tbupdd
-ln -s /etc/rc.d/init.d/tbupdd
/etc/rc.d/rc2.d/S90tbupdd
-ln -s /etc/rc.d/init.d/tbupdd
/etc/rc.d/rc3.d/S90tbupdd
-ln -s /etc/rc.d/init.d/tbupdd
/etc/rc.d/rc5.d/S90tbupdd
[Suse 10.1]
-cp
S90tbupddlx /etc/rc.d/tbupdd
-ln
-s /etc/rc.d/tbupdd /etc/rc.d/rc2.d/S90tbupdd
-ln
-s /etc/rc.d/tbupdd /etc/rc.d/rc3.d/S90tbupdd
-ln
-s /etc/rc.d/tbupdd /etc/rc.d/rc5.d/S90tbupdd
-chmod +x tbupddwu
-chmod +x tbcalib
-chmod +x dcu
-chmod +x xins
-chmod +x upddconsole
-chmod +x upddcalib
-chmod +x helpviewer
-chmod +x updddraw
The X interface sections below, marked
============== are not required if the UPDD driver is being installed on a
distribution using the built-in X interface, as listed
here:
==============
For
X11R6 based systems
-chmod
+x xf86_tbupddlx.o
-mv
xf86_tbupddlx.o /usr/X11R6/lib/modules/input (32 bit systems)
-mv
xf86_tbupddlx.o /usr/X11R6/lib64/modules/input (64 bit systems)
For
X11R7 based systems
-chmod
+x xf86_tbupddlx_drv.so
-mv
xf86_tbupddlx_drv.so /usr/lib/xorg/modules/input (32 bit systems)
-mv
xf86_tbupddlx_drv.so /usr/lib64/xorg/modules/input (64 bit systems)
==============
NOTE:
For linux distributions where the driver does not automatically utilise the
built in user mode mouseport X interface but it is desirable to do so these
notes may help:
“Remove
xmodule references from the xorg.conf file and run "touch
/opt/tbupddlx/usermodemouseport" to enable the driver daemon to use the
built in interface. You now have to configure the system to run
"tblinuxmouse" when X starts (otherwise the cursor won’t move).
This is usually done by modifying the gdm startup script
(/etc/gdm/Init/Default) to add "tblinuxmouse &" near the end.
Also "/opt/tbupddlx/tblinuxmouse" sometimes needs to be copied to
somewhere in the standard path otherwise gdm won't load it for security
reasons. E.g. it could go into /usr/local/bin, or /usr/bin, etc.”
==============
For
systems using SELinux:-
“chcon
–t texrel_shlib_t *.so” should appear after the line “chmod
+x updddraw”
For systems that have a
"/usr/local/lib" directory:-
-cp libTBApi.so
/usr/local/lib
-cp libhbutton.so /usr/local/lib
-cp libqt-mt.so.3 /usr/local/lib
-cp lib
-ldconfig /usr/local/lib
..otherwise:-
-cp libTBApi.so /usr/lib
-cp libhbutton.so /usr/lib
-cp libqt-mt.so.3 /usr/lib
-cp lib
-ldconfig /usr/lib
For
USB and PS/2
-./xins
For
Serial
-./xins
COM<X>
-rm
xins
You then need to run a script according to the
specific distribution you are using. The scripts are shown
here.
Choose the appropriate script for your
distribution and type the command “perl <script>”
e.g. For SuSE Linux - “perl
SuSE.ins”
If your distribution isn’t listed then
use “Other.ins”.
For SUSE 10.1 only
The file /etc/rc.d/.depend.start should be loaded
in an editor and the line "tbupdd: " should be added to the bottom of
this file.
The following line appears at the top of the
file which reads similar to:-
"TARGETS = kbd nfs fbset earlykbd splash
microcode network dbus "
This should be amended to add "
tbupdd" to the end:-
i.e. "TARGETS = kbd nfs fbset earlykbd
splash microcode network dbus tbupdd"
Then restart the system.
Once the system has restarted, start the
UPDD Console as per the user guide and click "Add a new device" and
follow the on screen directions to add your touchscreen configuration.
A list of dependencies for the UPDD Linux
software can be found here.
Given the nature of embedded Linux systems, such
as those utilising Tinyx/Kdrive, it is possible that our standard install
scripts may not set up the driver requirements correctly, especially the
launching of the daemon processes. To this end it is recommended that the
individual driver modules be manually installed in these environments.
Basic instructions to manually install and
run these programs follow and should be read in conjunction of the full manual
install section above. These instructions are for the use of personnel familiar
with the Linux command line interface. The commands should be issued by a user
logged on as root. We cannot provide detailed instructions without details of
the specific target system but we hope these basic instructions will suffice.
We can of course answer any specific questions you might have.
-Copy the driver package (linuxupdd.tgz) to the root (“/”) directory on the target system. ie “cp <location of tgz>/linuxupdd.tgz /”
-Type the following commands:-
-“cd /”
-“tar zxvf linuxupdd.tgz”
-“rm /setup”
-“cd /opt/tbupddlx”
-“touch usermodemouseport”
This will copy the components to the correct locations. You will also need a copy of “libusb-0.1.so.4” which should be copied into the directory “/opt/tbupddlx”. If you don’t have a copy then we can provide it.
You then need to start two daemons: tbupddwu, and tblinuxdaemon. The standard place to start them from is from your “rc” files so that they will run automatically when the system starts. You will also need to set the LD_LIBRARY_PATH environment variable to include “/opt/tbupddlx” in your “rc” script. Note that tbupddwu must be launched before tblinuxdaemon.
To calibrate you need to run the
script “/opt/tbupddlx/upddcalib”.
To run the UPDD Console (settings) you need to run the script “/opt/tbupddlx/upddconsole”. Please note - in some embedded systems we have seen that the UPDD Console and it's related test utility (updddraw)does not load due to missing font files. Only when the dependant modules are available will these programs load without error.
After the
restart and if using the KDE or Gnome window manager, there should be an icon
on the desktop to calibrate:
![]()
If
using a different window manager, open up a shell and type:-
/opt/tbupddlx/upddcalib
or
cd
/opt/tbupddlx
./upddcalib
or
alternatively create a link to it using the window manager.
To
calibrate, double click the calibration icon on the desktop or run the
calibration program and touch the calibration crosses, or arrows, as they
appear. Important note: If the
calibration screen does not cover the full desktop area see calibration notes above. Full calibration
procedure information can be found in the Calibration
document.
Calibration
can be performed in any screen resolution and the calibration data held is
relative to the screen resolution. However, if the screen resolution is changed
then a new calibration will be required as currently we do not automatically
track screen resolution changes.
The UPDD
Console defines the functionality of the pointer device(s) and the UPDD driver
environment.
If using
the KDE or Gnome window manager, there should be an icon on the desktop to
invoke the DCU
![]()
If
using a different window manager, open up a shell and type:-
/opt/tbupddlx/upddconsole
or
cd
/opt/tbupddlx
./upddconsole
To configure the UPDD settings invoke the UPDD
Console program and change the setting as required.
See the UPDD
Console documentation and on-line help for
further information.
Change serial port connection
The UPDD Console - Hardware tab allows the
COM port name to be reassigned after installation.
Standard serial ports
If using a standard serial port,
Select Com1, Com2 etc in the COM port selector. Serial ports should be
registered in the system as ttySn which is mapped to our driver to COMn+1 (e.g.
COM1 = ttyS0)
Serial to USB adaptors
If using a serial to USB adaptor, select
Adaptor 1, Adaptor 2, etc in the COM port selector. This has only been tested
with the Keyspan adaptors so far but the Linux documentation states that the
interface is the same for all serial adaptors; hence UPDD should work for all
serial/USB adaptors. Serial to USB adaptors should be registered within the
system as ttyUSBn which is mapped by our driver to Adaptor n+1. (e.g Adaptor1 =
ttyUSB0)
Serial port
reassignment
The driver handles serial devices via standard
COM port names (/dev/ttySnn) or USB to serial adaptors (/dev/ttyUSBn), so to
use a serial device with a different name it is required to create a symbolic
link to one of these port types.
Example: Assuming you have a serial port
referenced as ttyC1P3 to be reassigned. You need to open a terminal with root
privileges and type the following:
ln -s /dev/ttyC1P3 /dev/ttyUSB0 (for Adaptor 1)
or
ln -s /dev/ttyC1P3 /dev/ttyS0 (for com port 1)
You will then need to open up the UPDD Console
and change the COM port for your device to "Adaptor 1" or “Com
1”.
Should the serial port
connection not be working there are a number of procedures to follow to help
identify the problem as described in the knowledge base article here.
Automatic (4.1.1 - 26th Sept 2008
onwards)
Note: The automated uninstall will only fully remove
installations that have been installed from this build and later. If installing
this build over an earlier build and then uninstalling using the “uninstall”
program the changes to /etc/X11/xorg.conf will not be removed correctly. In the
case of installing this build on a system which has had another build on it,
the best scenario is to manually remove the old software and then install the
new.
Removal
of the driver must be performed as the "root" user. It is usually
possible to "become" the root user by typing command "su
root" or preceding the setup command with “kdesu” or
“sudo”, but we have found on some systems this is not sufficient in
which case you must log on at system start as root. Note that on SuSE 10.3
“sudo” does not allow the uninstaller to work and you must use
either “su” or “kdesu”.
To
uninstall the software open a terminal window and either use “su”
or “kdesu” to become the root user then type
“/opt/tbupddlx/uninstall”. Alternatively type “sudo
/opt/tbupddlx/uninstall” and enter your password (not on SuSE 10.3; see
note above). This will launch the uninstall program:

To
continue and remove the software click on “Uninstall”. To cancel,
click “Cancel” and the system will remain unmodified.
Type
the following commands being careful to use the same case and spacing.
su
*Enter
the root password*
rm
-rf /opt/tbupddlx *If this is mistyped, the whole system could be wiped.
For
Systems using X11R6
rm
/usr/X11R6/lib/modules/input/xf86_tbupddlx.o
For
Systems using X11R7
rm
/usr/lib/xorg/modules/input/xf86_tbupddlx_drv.so
rm
/etc/rc.d/init.d/tbupdd
rm
/etc/rc.d/rc2.d/S90tbupdd
rm
/etc/rc.d/rc3.d/S90tbupdd
rm
/etc/rc.d/rc5.d/S90tbupdd
rm /usr/local/lib/libTBApi.so
rm /usr/local/lib/libhbutton.so
rm /usr/local/lib/libqt-mt.so.3
rm /usr/local/lib/lib
Edit
the file "/etc/X11/XF86Config-4" for Xfree86, or
“/etc/X11/xorg.conf” for x.org and remove the following section:-
Section
"InputDevice""
Identifier "Updd0"
Driver "xf86_tbupddlx"
Option "Device" "/tbupddlx/comReadPipe"
EndSection
In
the section that begins with:-
Section
"ServerLayout"
Remove
the line:-
InputDevice
"Updd0" "SendCoreEvents"
Support for multiple monitors was added in UPDD
Version 4.0.4 and is covered in full in the multi-monitor and device document, Linux section.
Linux
supports rotated video modes for supported video cards under both Xfree86 and
X.org. UPDD will work
with rotated video and this is explained in detail in the separate rotate documentation.
The calibration mapping is based
on the screen resolution setting at the time of calibration so if the
resolution is changed the calibration will be inaccurate. To cater for this you
will need to manually recalibrate after changing video resolution.
Future releases of the driver may well
introduce a daemon process to automatically monitor video resolution and adjust
automatically but until such times as this is available manual intervention is
required.
Double click capabilities are
affected by the system’s Mouse settings. To achieve a double click using
the pointer device these settings need to cater for the type of device in use.
A touch screen may well require different settings to that required by a mouse.
The main setting that affects the ability to double click is the double click
speed. If this is set too fast it may be impossible to produce a double click.
Ensure this is set to an appropriate value in the mouse settings to allow for
double clicks via a stylus. In this example the mouse settings screen is from the KDE Control
Centre. Other window managers will have different ways of configuring the
settings.
The UPDD Console, Click Mode dialog,
System Mouse settings will invoke the Mouse settings for KDE and Gnome
desktops, as shown in the following example:
A number of Virtual keyboards are
available on the Web for Linux as detailed in the UPDD Virtual keyboard documentation.
At the time of writing we are not
aware of any specific end user utility to change the mouse cursor or turn it
on/off. Please contact us if you find
such a suitable utility that we can document for other users.
UPDD was
originally developed for Windows and has since been ported to other OS. Not all
features have been ported to Linux, they include:
For further information or technical assistance please email the technical support team at technical@touch-base.com