1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
|
<!DOCTYPE linuxdoc PUBLIC "-//XFree86//DTD linuxdoc//EN" [
<!ENTITY % defs SYSTEM "defs.ent"> %defs;
]>
<article>
<title>README for XFree86 &relvers; on LynxOS
<author>Thomas Mueller
<date>25 February 2000
<ident>
$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/LynxOS.sgml,v 3.20 2000/06/17 00:27:32 dawes Exp $
</ident>
<toc>
<sect>What and Where is XFree86?
<p>
XFree86 is a port of X11R6.4 that supports several versions of
Intel-based Unix. It is derived from X386 1.2, which was the X server
distributed with X11R5. This release consists of many new features
and performance improvements as well as many bug fixes.
See the <htmlurl url="COPYRIGHT.html" name="Copyright Notice">.
The sources for XFree86 &relvers; are available by anonymous ftp from:
<htmlurl name="ftp://ftp.XFree86.org/pub/XFree86/&relvers;"
url="ftp://ftp.XFree86.org/pub/XFree86/&relvers;">
Binaries of XFree86 for LynxOS x86 are available from:
<htmlurl name="ftp://ftp.XFree86.org/pub/XFree86/&relvers;/binaries/LynxOS"
url="ftp://ftp.XFree86.org/pub/XFree86/&relvers;/binaries/LynxOS">
A list of mirror sites is provided by
<htmlurl name="ftp://ftp.XFree86.org/pub/XFree86/MIRRORS"
url="ftp://ftp.XFree86.org/pub/XFree86/MIRRORS">
The binaries on the FTP site were built on the latest released LynxOS
version at the time XFree86 &relvers; was released. In this case it is
`LynxOS x86 3.0.1'. Because of changes made to the object format they
don't run on LynxOS versions earlier than 3.0.0.
Building of this XFree86 version has never been tested on LynxOS versions
earlier than 2.5.1.
This release contains preliminary build support for `LynxOS 3.1.0'.
Since this OS release was not available long enough for serious testing
`LynxOS 3.1.0' support has to be considered to be in `alpha state'.
Initial tests were performed on LynxOS x86 only!
XFree86 &relvers; supports LynxOS on the x86 and on
the PowerPC platform. X servers are currently available only on the
x86 platform. The X server may work with some PowerPC platforms
supported by LynxOS though this has not (yet) been thoroughly tested.
If you need binaries for other platforms than the one on the
XFree86 FTP server or if you have comments or suggestions about this
document contact me (<email>tmueller@sysgo.de</email>).
<sect>Installing the Binaries
<p>
Please refer to the <htmlurl name="Installation Document"
url="Install.html"> for detailed installation instructions.
It may be necessary to increase the process stack limit in order to
run XFree86 on your system. Edit <tt>/etc/startab</tt> and reboot your
system to make the changes active before you begin the installation.
Also, be sure to include <tt>/usr/X11R6/bin</tt> in your PATH
environment variable.
Refer to the next section <ref id="running" name="Running XFree86"> for
further information on necessary configuration steps before running
XFree86 on LynxOS.
<sect1>Accessing XFree86 manual pages
<p>
Include <tt>/usr/X11R6/man</tt> in the MANPATH environment variable or add
the directory <tt>/usr/X11R6/man</tt> to <tt>/usr/Lib/man.config</tt>
<sect>Running XFree86<p><label id="running">
This section describes the changes to the LynxOS environment
which may be necessary to successfully run XFree86.
<!--
Read <htmlurl url="QuickStart.html" name="Quick-Start Guide
to XFree86 Setup"> to learn more about how to configure XFree86 for
your hardware.
-->
<sect1>System tuning<p>
<sect2>Tunable parameters<p>
To reasonably run XFree86 you may have to adjust a few system parameters.
On LynxOS 2.5.x and 3.0.x include a line
<verb>
#define X_WINDOWS
</verb>
in <tt>/sys/lynx.os/uparam.h</tt>.
<sect2>Adjustment for "nv" driver for NVidia graphics cards<p>
If you're using the "nv" driver (Riva 128, nVidia TNT, TNT2, GeForce),
you will have to increase the value of the SMEMS parameter in
<tt>/sys/lynx.os/uparam.h</tt> from 10 to 20.
<sect2>Increase number of ptys<p>
You should also increase the number of ptys to be able run a couple
more xterms. You may replace <tt>/sys/cfg/pty.cfg</tt> with
<tt>/usr/X11R6/lib/X11/etc/pty.cfg</tt>.
<sect2>MTRR device driver<p>
If you're using an Intel PentiumPRO or Pentium II (or higher) class
CPU you might want to install the MTRR device driver. This driver
enables the XFree86 X server to manipulate the CPU memory type range
registers which may improve performance on certain systems.
To install the driver (on LynxOS x86 2.5.0 systems an higher) follow
these steps:
<tscreen><verb>
# cd /
# bash /usr/X11R6/lib/X11/etc/MTRR-Lynx.shar
# cd sys/drivers/mtrr
# make install
</verb></tscreen>
Then add a line
<tscreen><verb>
I:../drivers/mtrr/mtrr.cfg
</verb></tscreen>
to <tt>/sys/lynx.os/CONFIG.TBL</tt> and rebuild the kernel (see next section).
<sect2>Kernel build<p>
If you plan to use a PS/2 mouse to the following sections
before rebuilding the kernel, if not, you should rebuild the kernel
now:
<tscreen><verb>
# cd /sys/lynx.os
# make install
# reboot -N
</verb></tscreen>
<sect1>Mouse support in XFree86<p>
XFree86 includes support for PnP mice (see also <htmlurl
url="mouse.html" name="Mouse Support in XFree86">). The current LynxOS
TTY device driver doesn't allow the necessary manipulation of the RTS
line and therefore the support for PnP mice has been disabled for
LynxOS.
<sect1>PS/2 mouse drivers<p>
LynxOS x86 comes with a PS/2 mouse driver. If it is not currently
installed on your system install it with
<tt>/usr/bin/Install.ps2mouse</tt>. Older versions of this driver
contained code to translate the PS/2 mouse protocol to the format of a
serial mouse, thus you'll have to specify "Microsoft" as the mouse
protocol format. The mouse driver contained in LynxOS x86 patchlevel
015 (and higher) does no longer perform the protocol translation an
therefore can be defined as "PS/2" protocol format.
<sect1> ATC console driver and VT switching<p>
Currently there is no support for virtual terminal switching
once the server has started. Support for this feature may be added in
future versions (it requires a patch to the vt100 LynxOS terminal
driver).
You will need a free console which the X server will use for keyboard
input. You must disable login on at least one of the four virtual
terminals in <tt>/etc/ttys</tt>, e.g. <tt>/dev/atc3</tt>:
<tscreen>
change
<verb>
/dev/atc3:1:default:vt100at:/bin/login
</verb>
to
<verb>
/dev/atc3:0:default:vt100at:/bin/login
^
</verb></tscreen>
<sect1>X Server debug diagnostics output and other VT peculiarities<p>
Output made by the XFree86 X on its stdout or stderr will be lost
after the server switches to graphics mode. The XFree86 &relvers;
server stores its output in <tt>/usr/adm/XFree86.n.log</tt> (where
<tt>n</tt> is the screen number).
When the X server is running output made to other consoles will be
lost. After server shutdown the screen contents of other consoles may
be inconsistent with what one would expect (i.e. random).
<!--
<sect>Using XFree86 with Motif<p>
The Motif libraries shipped with LynxOS AT 2.3.0 and 2.4.0 can be
used with the XFree86 libraries. Follow the steps outlined below after
you have installed XFree86 and LynxOS Motif on your system.
<sect1>Copy Motif files<p>
You must create symbolic links for the Motif libraries and
utilities in the <tt>/usr/X11R6</tt> directory tree.
<tscreen><verb>
ln -s /usr/bin/X11/uil /usr/X11R6/bin
ln -s /usr/lib/libUil.a /usr/X11R6/lib
ln -s /usr/lib/libMrm.a /usr/X11R6/lib
ln -s /usr/lib/libXm.a /usr/X11R6/lib
ln -s /usr/lib/X11/uid /usr/X11R6/lib/X11
ln -s /usr/include/Xm /usr/X11R6/include
ln -s /usr/include/Mrm /usr/X11R6/include
ln -s /usr/include/uil /usr/X11R6/include
</verb></tscreen>
The Motif imake-configuration files are part of the LynxOS X Window
package. They must be copied to the <tt>/usr/X11R6</tt> directory tree.
<tscreen><verb>
cp /usr/lib/X11/config/Motif.* /usr/X11R6/lib/X11/config
</verb></tscreen>
<sect1>Motif library patch for LynxOS AT 2.3.0<p>
The XFree86 libraries are compiled with the -mposix compiler option
while the Motif libraries shipped with LynxOS AT 2.3.0 are not. This
incompatibility will cause Motif <tt>XmFileSelection</tt> widgets to be linked
with the wrong (i.e. POSIX) directory routines. To circumvent this
problem apply the following patch to the library:
<tscreen><verb>
cp /usr/lib/libXm.a /usr/X11R6/lib
ar x /usr/X11R6/lib/libXm.a Xmos.o
ar x /lib/libc.a directory.s.o
ld -r -o x.o Xmos.o directory.s.o
mv x.o Xmos.o
ar r /usr/X11R6/lib/libXm.a Xmos.o
</verb></tscreen>
This patch is not necessary for LynxOS revisions after 2.3.0.
<sect1>X11R6 config file patch<p>
Edit <tt>/usr/X11R6/lib/X11/config/lynx.cf</tt> and change the definition
of <tt>HasMotif</tt>
<tscreen>
from
<verb>
#define HasMotif NO
</verb>
to
<verb>
#define HasMotif YES
</verb></tscreen>
<sect1>Motif config file patch<p>
The file <tt>Motif.tmpl</tt> shipped with LynxOS Motif must be
modified to work with XFree86. In every reference to
<tt>UnsharedLibReferences</tt> the first argument must be changed
<tscreen>
from
<verb>
UnsharedLibReferences(<Something>LIB, Arg2, Arg3)
</verb>
to
<verb>
UnsharedLibReferences(<Something>, Arg2, Arg3)
</verb></tscreen>
Be sure to apply the change to the file copied to
<tt>/usr/X11R6/lib/X11/config</tt>.
-->
<sect>Compiling the XFree86 Distribution<p>
<!-- out of date
Before trying to rebuild XFree86 from source read <htmlurl url="BUILD.html"
name="Building XFree86"> for a detailed description of the build
process. -->The next sections contain LynxOS specific notes with
respect to the build process.
<sect1>Disk space requirements<p>
Currently there is no support for shared libraries in the LynxOS
XFree86 port. A complete binary installation along with manual pages
will require approximately 100 MBytes of disk space. To compile
the system you will need at least 250 MBytes of free disk space.
<sect1>Changes to system environment (LynxOS x86)<p>
Before compiling the XFree86 distribution you will have to make a
few little adjustments to your system:
<itemize>
<item>If not already installed on your system create a shell script
named <tt>/lib/cpp</tt> as follows:
<tscreen><verb>
#!/bin/sh
/usr/lib/gcc-lib/i386-unknown-lynxos2.5/2.7-96q1/cpp \
-traditional "$@"
</verb></tscreen>
On other platforms than the x86 the paths for the compiler support
programs are different. You may use
<tscreen><verb>
gcc -v
</verb></tscreen>
to find out the correct path. Set the file mode of <tt>/lib/cpp</tt> with
<tscreen><verb>
# chown root /lib/cpp
# chmod 755 /lib/cpp
</verb></tscreen>
<item>Modify <tt>/lib/liblynx.a</tt>. The X servers need the
<tt>smem_create()</tt> system call to map the frame buffer into their
address space. The system call is in <tt>liblynx</tt> library along
with other Lynx proprietary calls which (unfortunately) overlap with
calls in <tt>libc</tt>. To reduce confusion you should modify
<tt>liblynx</tt> as follows:
<tscreen><verb>
# mv /lib/liblynx.a /lib/liblynx.a.ORG
# mkdir /tmp/xx; cd /tmp/xx
# ar xv /lib/liblynx.a.ORG
# ar rv /lib/liblynx.a *smem*
# ranlib /lib/liblynx.a
</verb></tscreen>
</itemize>
<sect1> make World<p>
<!-- out of date
Read <htmlurl url="BUILD.html" name="Building XFree86"> before trying
to rebuild XFree86 from the source distribution.
-->
If you have the MTRR device driver installed, add a line
<tscreen><verb>
#define HasMTRRSupport YES
</verb></tscreen>
to the <tt>config/cf/host.def</tt> file.
You may then issue a
<tscreen><verb>
make World
</verb></tscreen>
to compile XFree86. After a few hours (and hopefully a successful
build of the XFree86 system) you can install the software using
<tscreen><verb>
make install
</verb></tscreen>
You must be logged in as super-user (root) when you invoke `make
install'.
On LynxOS x86 2.5.0 you may encounter problems with <tt>make</tt> in
deeply nested subdirectories (eg core dumps, hangups). In this case
update to GNU make version 3.75 or higher.
<sect1>Installing XFree86 manual pages<p><label id="installman">
LynxOS uses cat-able manual pages, and because a doc preparation
system is definitely not a vital component of a real-time operating
system you must first install groff-1.09 (or newer).
XFree86 manual pages may be installed using
<tscreen><verb>
make install.man
</verb></tscreen>
The index and whatis database for the XFree86 manual pages will be
created automatically. If you already have a whatis database or index
file in the destination directories you should perform a sort/uniq
operation to remove duplicate entries:
<tscreen><verb>
for i in 1 3 5
do
rm -f /tmp/tmpfile
sort /usr/X11R6/man/cat$i/LIST$i | uniq > /tmp/tmpfile
mv /tmp/tmpfile /usr/X11R6/man/cat$i/LIST$i
done
sort /usr/X11R6/man/whatis | uniq > /tmp/tmpfile
mv /tmp/tmpfile /usr/X11R6/man/whatis
</verb></tscreen>
<!--
<sect>Building on microSPARC and PowerPC<label id="others"><p>
XFree86 3.3 compiles on LynxOS microSPARC and on LynxOS PPC as well. On the
microSPARC there is X server support for the colour frame buffers CG3 and CG6
while on the PPC there is no X server available at this time. Before you
start the build (on versions earlier than 2.5.0) you must create a symbolic
link from the CYGNUS gcc to a file named <tt>cc</tt> somewhere in a
directory included in your PATH environment variable.
<sect1>Console driver patch for microSPARC<p>
Before building on the microSPARC you should install the patch for the console
driver supplied in <tt>xc/programs/Xserver/hw/sunLynx/patch.Console</tt>.
(<tt>xc/programs/Xserver/hw/sunLynx/patch.Console-2.4.0</tt> for LynxOS
revisions earlier than 2.5.0).
The patch fixes minor problems in the original LynxOS driver and adds
functionalities to detect the keyboard type and control the key click.
To create a backup of the original driver and install the patch issue
the commands
<tscreen><verb>
# cd /
# tar cf /sys/drivers/console.tar /sys/drivers/console
# patch -p -E < xc/programs/Xserver/hw/sunLynx/patch.Console
# cd /sys/drivers/console
# make install
# cd /sys/lynx.os
# make install
# reboot -a
</verb></tscreen>
If you opt not to install the patch you must edit <tt>xc/config/cf/lynx.cf</tt>
and change the definition of <tt>SparcConsoleDefines</tt>
<tscreen>
from
<verb>
#define SparcConsoleDefines -DPATCHED_CONSOLE
</verb>
to
<verb>
#define SparcConsoleDefines /* -DPATCHED_CONSOLE */
</verb></tscreen>
<sect1>Known Bug of the microSPARC server<p>
On the first start of the X server on the microSPARC you will notice that
the pointer follows mouse movements with a certain delay (especially if
you're moving the mouse real fast). You will also notice that moving
windows with certain window managers (eg mwm) is not working correctly.
These effects should go away on the next server start.
The server for monochrome cards builds properly if you enable it in
<tt>lynx.cf</tt> but it has never been tested (reports are welcome).
-->
</article>
|