Setting up BRLTTY on OpenBSD ---------------------------- This document describes how to get BRLTTY working on a recent OpenBSD system. It assumes that you are working with a recent OpenBSD installation (3.4). 1. Patching "screen" -------------------- Since OpenBSD (and in fact all the other BSDs) do not have a way for user-space applications to access the current text/attribute content of the virtual consoles, we have to use "screen" to make this information available to BRLTTY. This also means that you can not use BRLTTY with the *BSD virtual consoles directly, you have to start "screen" first on some virtual terminal to be able to use BRLTTY. You need to patch "screen" to enable the IPC_SHARED_IMAGE functionality which BRLTTY relies on. Assuming your ports tree is in /usr/ports, you will 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 reading /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 followed by $ sudo make install If you successfully managed to compile and install the screen package, you can proceed to building BRLTTY. There is a simple test you can use to verify if your screen installation does support the IPC_SHARED_IMAGE feature. Start "screen" and execute the command # ipcs -m Shared Memory: T ID KEY MODE OWNER GROUP m 65536 -1160968401 --rwa------ root root If you see output which looks roughly like the above, screen seems to be 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 are working with the CVS ports tree, it might be worthwhile checking if the shm flavor already has been checked in by invoking the following command in /usr/ports/misc/screen: $ make show=FLAVORS If you see "shm" listed as a possible flavor to choose, simply build screen with the FLAVOR environment variable set to shm, and do not bother copying the patch from BRLTTY sources. 2. Compiling BRLTTY ------------------- To compile BRLTTY, you do the following: $ ./configure $ gmake $ sudo gmake install Note that 'gmake' needs to be used to avoid a problem related to BSD and GNU Make incompatibilities. 3. 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. So a typical invocation could look like this: # brltty -b ts -d /dev/cua00 -- Mario Lang