~~~~~~~~~~~~~~~~~
BRLTTY on OpenBSD
~~~~~~~~~~~~~~~~~
:Author: Mario Lang <mlang@delysid.org>

.. include:: prologue.rst

This document describes how to get BRLTTY working on a recent OpenBSD system.
It assumes that you're working with a recent OpenBSD installation (e.g. 3.4).

Setting up BRLTTY
=================

Patching ``screen``
-------------------

Since OpenBSD doesn't have a way for user-space applications to access the
contents of the virtual consoles, we have to use ``screen`` to make this
information available to BRLTTY. This also means that you can't use BRLTTY with
the OpenBSD virtual consoles directly - you must start ``screen`` first on some
virtual terminal in order to be able to use BRLTTY.

You need to patch ``screen`` to enable the ``IPC_SHARED_IMAGE`` functionality
that BRLTTY relies on. Assuming your ports tree is in ``/usr/ports``, you'll
need to copy the appropriate patch from ``brltty/Patches`` into
``/usr/ports/misc/screen/patches``.

OpenBSD 3.4 comes with screen-4.0.1. You can check the ``screen`` version by
looking in ``/usr/ports/misc/screen/Makefile``.

The patch file should be named with the prefix ``patch-`` so that the
``screen`` build process will find it.

Now change into ``/usr/ports/misc/screen`` and run::

   make
   sudo make install

If you've successfully managed to compile and install the ``screen`` package,
you can proceed to building BRLTTY.

There's a simple test you can use to verify if your ``screen`` installation
does support the ``IPC_SHARED_IMAGE`` feature. Start ``screen``, and then
execute the command::

   ipcs -m

You should see output that looks roughly like this::

   Shared Memory:
   T       ID     KEY        MODE       OWNER    GROUP
   m    65536 -1160968401 --rwa------     root     root

If you do, then ``screen`` seems to have been compiled with the
``IPC_SHARED_IMAGE`` feature.

Note that proper integration of the ``IPC_SHARED_IMAGE`` functionality via an
additional "flavor" for the ``screen`` port has recently been submitted to the
OpenBSD ports mailing list. If you're working with the CVS ports tree, it might
be worthwhile to check if the ``shm`` flavor has already been checked in by
invoking the following command when in ``/usr/ports/misc/screen``::

   make show=FLAVORS

If you see ``shm`` listed as a choosable flavor, simply build ``screen`` with
the ``FLAVOR`` environment variable set to ``shm`` - don't bother copying the
patch from BRLTTY's source tree.

Compiling BRLTTY
================

To compile BRLTTY, do the following::

   ./configure
   gmake
   sudo gmake install

Note that ``gmake`` should be used in order to avoid a problem related to BSD
and GNU Make incompatibilities.

Running BRLTTY
==============

You need to have ``screen`` started before you try to run BRLTTY. Inside
``screen``, simply invoke BRLTTY as you would on other systems. Note that the
first serial port is ``/dev/cua00``.

A typical invocation could look like this::

   brltty -b ts -d serial:cua00

