Electronics and Software
Engineering Innovation


XVI for Linux

Beta Demo Release


This software is a demonstration release of the BEAM XVI software following an initial port to Linux.
The software was developed to work with Motif applications in an X-Terminal environment.
The software needs much more work before it forms a useful screen reader for most X-Windows applications but is presented here to show where we have got to.

Supported Hardware

The release supports the following hardware:
Graphics boards, mice, keyboards Graphics boards, mouse and keyboard that will operate with the XFree86 3.3.3 SVGA or S3 X-Servers. See the XFree web site for more information. http://www.xfree86.org. Only the UK keyboard map is supported at present.
Speech Apollo Dolphin 2 speech unit. Alpha Delphi 440 Braille display with firmware modification or IBM's ViaVoice software speech synthesiser
Braille  Alva Delphi 440 Braille display

We have tested the system with the following Graphics cards: Matrox G200, S3 Trio64.
The system employs a speech/braille server that has support for plug-in drivers. So it is quite easy to add different speech/braille devices.

Contributed Drivers

Device Device Name By Who
Double Talk Speech Unit DoubleTalk Matthew Campbell <mattcampbell@pobox.com> Written and Contributed within 8 hours of release !


The software is distributed as a set of RPM files which have been tested on the RedHat 7.0 distribution of Linux.
RPM File Description
lesstif-0.91.4-1.i386.rpm The Lesstif application libraries
xvi_sbserver-4.1.0-4.i386.rpm The XVI Speech/Braille Server and standard drivers
xvi_xservers-4.1.0-3.i386.rpm The modified XVI X-Servers
xvi_apps-4.1.0-3.i386.rpm The XVI magnification and screen reader applications
xvi_base-4.1.0-3.i386.rpm The XVI base runtime system
xvi_doc-4.1.0-3.i386.rpm XVI documentation
xvi_demo-4.1.0-3.i386.rpm The XVI demo system
nedit-5.02-2.i386.rpm X-Windows editor program for use in demo
fvwm2-icons-2.2.4-9.i386.rpm Window manager for use in demo (may be already present in system)
fvwm2-2.2.4-9.i386.rpm Window manager for use in demo (may be already present in system)
xvi_sbserver_src-4.1.0-4.i386.rpm Source code for speech/braille drivers
alvafw.tar.gz Updated Alva Firmware for Alpha Delphi 440 and 480

Download all of the rpm files into a directory and install using the command:

rpm -i *.rpm

Once the files have been installed, the system needs to be configured for XVI use. To do this perform the following steps:

  1. If you need to use the X-Server for S3 type graphics cards, link the XF86_S3 X-Server to the file /usr/xvi/etc/X
    1. ln -sf /usr/xvi/bin/XF86_S3 /usr/xvi/etc/X
  2. The X-Server configuration file /usr/xvi/etc/XF86Config will need to be edited in order to specify mouse type and perhaps monitor frequencies. In the file look at the Pointer section and uncomment the appropriate protocol for the mouse in use. The Monitor frequencies are set in the fields HorizSync and VertRefresh.
  3. Netscape needs the "Show ToolTips" option turned off to prevent the browser tracking tooltip windows.

Speech Braille Device Setup

First the devices need to be setup:

Dolphin Apollo 2 Speech Unit

This just needs to be plugged into a spare serial port using the cable supplied with the Apollo 2.

Alva Delphi 440

This needs a firmware upgrade in order to provide both speech and braille output from a single serial connection.
The tar file alvafw.tar.gz on our download site contains the necessary firmware and instructions. Once loaded the Alva's serial port 1 (closest to the power switch) can be connected to any available serial port on the host computer.

IBM Via Voice Software

The IBM ViaVoice TTS Run Time Kit for Linux V5.1 software is available for free download from http://www-4.ibm.com/software/speech/dev/ttssdk_linux.html.
Download this software, which is available as an RPM (ViaVoice_TTS_rtk-5.1-1.2.i386.rpm), and install it following the instructions given on the IBM web site. Note that the Linux systems sound device needs to be set up and working first.
The speech/braille server's configuration will now need to be set up in the file /usr/xvi/etc/sbserver.conf. Using an editor uncomment the appropriate lines for the speech and/or braille devices in use. Note: the serial device used may also need to be changed.
Once this configuration file has changed restart the sbserver with the command
/etc/rc.d/init.d/sbserver restart
The speech/braille server should announce its startup on the speech and/or braille devices.


Documentation is located in the directory /usr/xvi/doc.
In this directory are the user manuals for the XVI screen magnification program and the XVISB screen reader program.
The HTML file index.html provides an index to the documentation files.

Demo Usage

The demo software has been setup to operate with a minimal X-Windows environment. In order to try the demo, login on a system text console and run the command :-
This will startup the XVI X-Server as display :1 and startup a simple menu program to enable you to try the demo.
The demo will allow you to move around some simple Motif based applications to get the feel for the XVI screen reader.
The screen magnification application can be driven using the on screen control panel or by pressing short cut keys.
The main key presses are:
Key Action
LCTRL SHIFT KP+ Increase magnification
LCTRL SHIFT KP- Decrease magnification
LCTRL SHIFT M Magnifying glass toggle
LCTRL SHIFT U Magnifying glass increase magnification
LCTRL SHIFT D Magnifying glass decrease magnification

The screen reader application can be driven from the keys on a braille display or from the keyboards numeric keypad. The main functions on the numeric keypad are:

Key Action Object Mode Action Text Mode
NumLock Toggle between Object and Text modes Toggle between Object and Text modes
KP_/ Mouse Button 1 Mouse Button 1
KP_* Mouse Button 2 Mouse Button 2
KP_- Mouse Button 3 Mouse Button 3
KP_+ Next Application Next Application
KP_Enter Previous Application Previous Application
KP_4 Go left one object Go left one character
KP_6 Go right one object Go right one character
KP_8 Go up one Object Go up one line
KP_2 Go down one Object Go down one line
KP_insert Speak/display object information and data Speak/display object information and data
KP_Del Stop speaking Stop speaking
RCTRL F1 Help system Help system
RCTRL F2 User Options User Options

Please read the XVI screen magnification and XVISB screen reader manuals for full usage information.

Future development

The XVI screen reader provided with the demo gathers its model of the applications GUI by means of an X-Server extension called XVI that snoops on the low level X-Protocol that the application uses to draw its GUI onto the display. This has been tailored for applications written using the Motif/Lesstif tool kits. It has yet to be extended to fully support Gnome or KDE tool kits.
We are in the process of developing a "screen reader application interface" that will allow the screen reader to access the applications directly to get a better model of the GUI in use.
In order to perform this work we are looking for funding and support from other parties.