speakup installation instructions
=================================

Installing speakup requires knowledge of building your own
kernel. Hopefully your distro includes speakup in your kernel, so that
you don't have to install it yourself. But if they don't, here are
some basic instructions which assume you understand the kernel
compilation process:

Speakup consists of the speakup source and a small patch for the
kernel's makefiles.  Speakup can either be installed into the kernel or
built as external modules.

Installing into the Kernel
==========================

To install speakup into the kernel, perform the following steps:

Unpack your kernel source to a known location such as /usr/src/linux
or ~/linux-version.  If you are installing from a standard linux tar
archive you might unpack a tar archive file with a command such as:

tar jxf linux-2.6.26.tar.bz2

From the location where speakup is unpacked run:

$ ./install ~/linux-2.6.26

(~/linux-2.6.26 is the path where you have unpacked the kernel source)

At this point, you will be presented with messages about patches being
applied to your kernel, followed by a message stating whether or not the
installation was successful.

If the installation was successful, configure, compile and install
your kernel the usual way.  Remember to select speakup and it's
appropriate synthesizer support from the configuration menu.

Upon completion of your new kernel compile follow the normal steps for
it's installation.

You can now boot into your new kernel.

Building Speakup as External Modules
====================================

It is possible to build speakup as a set of modules outside the kernel 
tree.  The advantage of this approach is 
is that you can build speakup for any kernel without modifying
the kernel itself.

In order to build the speakup modules, perform the following steps:

Make sure that /lib/modules/kernelversion/build points to the location 
of a full build of the kernel.  This can be for the current running 
kernel or for any other kernel that supports building external modules.

Change to the src directory where speakup is unpacked as follows:

$ cd speakupdir/src

To compile speakup as external modules for the currently running kernel,
execute the following commands:

make clean
make

Then, as root, execute the following:

make modules_install

To compile speakup modules for a kernel other than the running kernel,
specify the path to the kernel directory as follows:

make KERNELDIR=/lib/modules/kernelversion/build clean
make KERNELDIR=/lib/modules/kernelversion/build

To install the modules execute the following as root:

make KERNELDIR=/lib/modules/kernelversion/build modules_install

For these commands, please note that KERNELDIR is in upper case and
kernelversion should be replaced with a full kernel version such as one
that is returned by  uname -r.

Starting Speakup
================

If speakup is built in to your new kernel it may be started on the
kernel command line or from a boot loader such as grub or lilo by
supplying the appropriate speakup parameters e.g. speakup.synth=xxxx
where 'xxxx' indicates the unique code to represent your synthesizer.
So if you are using a DECTalk Express you would use a KCL argument
such as speakup.synth=dectlk.

If you are loading speakup as modules then you could load it with
modprobe followed by the speakup module for the given synth.  If you
are using a DoubleTalk LT or LiteTalk or TripleTalk serial synth then
you might use:

modprobe speakup_ltlk

You can load any speakup synthesizer with an additional start=0
parameter to make it not begin speaking upon a successful load.  To
switch to that synthesizer later then you would use speakup's sysfs pseudo file
support to change to that synth such as:

echo "txprt" >/sys/module/speakup/parameters/synth

This same mechanism can be used to switch between synths which have
been loaded by subsequent modprobe commands or that have been built
into the kernel at compile time.
