summaryrefslogtreecommitdiff
path: root/xc/programs/Xserver/hw/xfree86/doc/README.Bsdi
blob: b6cf60cf7097763d8e68579f42dfc61a49a80a99 (plain)
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
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596









		    README for XFree86 3.1.2 on BSD/OS 2.0

				  Hans Nasten

				 24 July 1995



THIS DOCUMENT IS OUT OF DATE


1.  What and Where is XFree86?

XFree86 3.1.2 is a port of X11R6 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.  The release is available as source patches against
the X Consortium X11R6 code, as well as binary distributions for many architec­
tures.

The sources for XFree86 are available by anonymous ftp from:

ftp://ftp.XFree86.org/pub/XFree86/current

Binaries for BSD/OS 2.0 will be available from:

ftp://ftp.XFree86.org/pub/XFree86/current/binaries/Bsdi

If you're running a earlier version of BSD/OS, you'll have to build the distri­
bution from source.  Building the distribution on BSD/386 1.1 and 1.0 is
untested, but believed to work correctly. If you run into trouble building on a
earlier release, please let us know so that we can correct any incompatibili­
ties.  If you've done it and want to share your binaries, please let the Bsdi
mailing list know.  The binaries are built using gcc 2.6.3 as distributed with
BSD/OS 2.0.  If you build the distribution from source using a gcc compiler
built using the generic gcc source code, you may run into problems using the
binaries on a 386/486 not equipped with a math coprocessor.


2.  Bug Reports for This Document

Send email to nasten@Everyware.SE (Hans Nasten) or XFree86@XFree86.org if you
have comments or suggestions about this file and we'll revise it.


3.  Installing the Binaries

The binary distribution is composed of a number of gzipped tar archives which
contains the executables, servers, fonts, libraries, include files, man pages,
config files, and the server link kit. All tar archives should be extracted as
root with / as the default directory. The full distribution takes over 40MB of
disk space.  The file names are converted to be compatible with CD-rom


README for XFree86 3.1.2 on BSD/OS 2.0





README for XFree86 3.1.2 on BSD/OS 2.0



conventions.

Note that many clients were moved from the X11R6 distribution to the `contrib'
area. However, they are still distributed with the XFree86 binary distribution.

The contents of the archives are:

      REQUIRED:

		  X312doc.tgz
			READMEs and XFree86 specific man pages.

		  X312bin.tgz
			all of the executable X client applications.

		  X312fnts.tgz
			all fonts except the cyrillic fonts

		  X312lib.tgz
			data files needed at runtime

      Choose at least one of the following to match your hardware:

		  X312SVGA.tgz
			the 8-bit pseudo-color X server for Super VGA cards

		  X312VG16.tgz
			the 4-bit pseudo-color X server for VGA & SVGA cards.

		  X312Mono.tgz
			the Monochrome X Server

		  X3128514.tgz
			the X server for IBM 8514/A and compatible boards

		  X312AGX.tgz
			the X server for AGX boards

		  X312Ma8.tgz
			the X server for ATI Mach8 boards

		  X312Ma32.tgz
			the X server for ATI Mach32 boards

		  X312Ma64.tgz
			the X server for ATI Mach64 boards

		  X312P9K.tgz
			the X server for P9000 based boards

		  X312S3.tgz
			the X server for S3 based boards










README for XFree86 3.1.2 on BSD/OS 2.0



		  X312W32.tgz
			the X server for ET4000/W32 and ET6000 based boards

      OPTIONAL:

		  X312fsrv.tgz
			the font server with man pages.

		  X312cfnt.tgz
			cyrillic fonts

		  X312prog.tgz
			the include/X11 header files and static libraries
			needed only for compiling other X applications

		  X312man.tgz
			all man pages

		  X312link.tgz
			the server reconfiguration kit.

If this is your first time, then you should be able to safely install all of
the packages.  As a minimal install, you'll need doc, bin, fonts lib and one X
server.

To unpack and install the archives:

  1.  create some destination directory in which you'd like the X distribution
      to live.	/usr/X11R6 is recommended, but if that partition is full (as it
      is on my machine), then just create an alternate directory, and sym-link
      /usr/X11R6 to this place.

      ie, on my machine, I do the following:


	       % cd /usr/local
	       % mkdir X11R6
	       % ln -s /usr/local/X11R6 /usr/X11R6



  2.  You must be logged in as root to unpack the archives and use a `umask'
      value of 022.  Typing `umask 022' sets it.  Caution: If you do not
      extract the files as user `root' with the correct umask you may not be
      able to run XFree86 3.1.2. The X server needs special permissions that
      are only granted to the root user. You must also cd to / before extract­
      ing the archives.

  3.  Create a symbolic link in /usr/X11R6/bin named `X' that points to the
      server that matches your video card: See the XF86_* man pages for hard­
      ware details. For example, if you have an ET4000 based SVGA card:

	       cd /usr/X11R6/bin
	       rm -f X








README for XFree86 3.1.2 on BSD/OS 2.0



	       ln -s XF86_SVGA X


Note: you don't need to uncompress the fonts files in lib/X11/fonts.  If you
want to uncompress them anyway, don't forget to run `mkfontdir'  in each direc­
tory after that.


4.  Installing Xdm, the display manager

The display manager makes your PC look like an X terminal.  That is, it pre­
sents you with a login screen that runs under X.  To start the display manager,
log in as root on the console and type `xdm -nodaemon'.

You can start xdm automatically on bootup by disabling the console getty and
adding the following code to /etc/rc.local:

       if [ -x /usr/X11R6/bin/xdm ]; then
	 echo -n ' xdm'; /usr/X11R6/bin/xdm
       fi

To disable the console getty, change `on' to `off' in the console entry in
/etc/ttys:

     console "/usr/libexec/getty std.9600"   ibmpc3  off secure


5.  Configuring X for Your Hardware

The XF86Config file tells the X server what kind of monitor, video card and
mouse you have.  You must create it to tell the server what specific hardware
you have.

XFree86 3.1 and later releases uses a new configuration file format.  Consult
the XF86Config man page and the general INSTALL file for instructions.

If you have a Xconfig file for XFree86 2.x, use reconfig to translate part of
it into the new format:

	# reconfig <Xconfig >XF86Config


and complete the rest according to the XF86Config man page and the XF86Con­
fig.sample file as a template.

In order to protect your hardware from damage, the server will no longer read
XF86Config files from a user's home directory, but requires that it be in
/etc/XF86Config, /usr/X11R6/lib/X11/XF86Config.hostname or
/usr/X11R6/lib/X11/XF86Config.

You'll need info on your hardware:

   o Your mouse type, baud rate and its /dev entry.









README for XFree86 3.1.2 on BSD/OS 2.0



   o The video card's chipset (e.g. ET4000, S3, etc).

   o Your monitor's sync frequencies.

The easiest way to find which device your mouse is plugged into is to use `cat'
or `kermit' to look at the output of the mouse.  Connect to it and just make
sure that it generates output when the mouse is moved or clicked:

       % cat < /dev/tty00


If you can't find the right mouse device then use `dmesg|grep com' to get a
list of devices that were detected upon booting:

       % dmesg|grep com
       com0 at isa0 iobase 0x3f8 irq 4


com0 is the hardware port used for /dev/tty00 and com1 is /dev/tty01.  If you
plan to fine tune the screen size or position on your monitor you'll need the
specs for sync frequencies from your monitor's manual.


6.  Running X

8mb of memory is a recommended minimum for running X.  The server, window man­
ager and an xterm take about 4 Mb of memory themselves. On a 4Mb system that
would leave nothing left over for the kernel and other applications like gcc
that expect a few meg free.

The easiest way for new users to start X windows is to type `xinit >&
xinit.log'.  Error messages are lost unless you redirect them because the
server takes over the screen.

To get out of X windows, type `exit' in the console xterm.  You can customize
your X by creating .xinitrc, .xserverrc, and .twmrc files in your home direc­
tory as described in the xinit and startx man pages.


7.  Rebuilding the XFree86 Distribution

The server link kit allows you to rebuild just the X server with a minimum
amount of disk space.  Just unpack it, make the appropriate changes to the
site.def, type `./mkmf' and `make' to link the server.	See
/usr/X11R6/lib/Server/README for more info.

See /usr/X11R6/lib/X11/etc/INSTALL for instructions on unbundling and building
the source distribution. You will need about 250Mb free for the sources,
objects and binaries during the build.

You should configure the distribution by editing xc/config/cf/xf86site.def
before compiling.  To compile the sources, invoke

       make World








README for XFree86 3.1.2 on BSD/OS 2.0



in the xc directory.


8.  Building New X Clients

The easiest way to build a new client (X application) is to use xmkmf if an
Imakefile is included in the sources.  Type `xmkmf' to create the Makefiles,
check the configuration if necessary and type `make'.  Whenever you install
additional man pages you should update whatis.db by running `makewhatis
/usr/X11R6/man'.  To avoid the `Virtual memory exhausted' message from cc while
compiling, increase the data and stack size limits (in csh type `limit datasize
32M' and `limit stacksize 16M').

Note: Starting with XFree86 2.1, the symbol ``__386BSD__'' no longer gets
defined or via the X config files for *BSD systems.  When porting clients to
*BSD systems, make use of the symbol ``BSD'' for code which is truly BSD-spe­
cific.	The value of the symbol can be used to distinguish different BSD
releases.  For example, code specific to the Net-2 and later releases can use:


     #if (BSD >= 199103)


To ensure that this symbol is correctly defined, include <sys/param.h> in the
source that requires it.  Note that the symbol CSRG_BASED is defined for *BSD
systems in XFree86 3.1.1 and later.  This should be used to protect the inclu­
sion of <sys/param.h>.

For code that really is specific to a particular i386 BSD port, use __FreeBSD__
for FreeBSD, __NetBSD__ for NetBSD, __OpenBSD__ for OpenBSD, __386BSD__ for
386BSD, and __bsdi__ for BSD/OS.


9.  Linear access to the frame buffer using BSD/386 1.1

The stock BSD/386 1.1 kernel has problems when trying to mmap the frame buffer
as a linear ( unbanked ) memory area in high memory. This patch removes the
check in /sys/i386/isa/vga.c that disables mmapping the frame buffer in linear
mode. Please consult the BSD/386 1.1 release notes for instructions on how to
build a new kernel. This patch is not needed on BSD/OS 2.0.

   o  save the patch below in a separate file.

   o  cd to /sys/i386/isa.

   o  apply the patch with ``patch -p <the_separate_patch_file''

   o  rebuild and install the new kernel.

   o  reboot.

vga.c patch:










README for XFree86 3.1.2 on BSD/OS 2.0



     *** vga.c.orig Sun Dec 19 09:35:01 1993
     --- vga.c Mon Oct 24 01:38:44 1994
     ***************
     *** 159,165 ****
       #if 0
	  if (off + NBPG > vgap->vga_mem_size)
	       return (-1);
     ! #else
	  if (off + NBPG > IOM_END)
	       return (-1);
       #endif
     --- 159,165 ----
       #if 0
	  if (off + NBPG > vgap->vga_mem_size)
	       return (-1);
     ! /*#else*/
	  if (off + NBPG > IOM_END)
	       return (-1);
       #endif

     $XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/Bsdi.sgml,v 3.20 1997/01/25 03:21:48 dawes Exp $





     $XConsortium: Bsdi.sgml /main/8 1996/10/27 11:05:51 kaleb $



































README for XFree86 3.1.2 on BSD/OS 2.0





































































				   CONTENTS



1. What and Where is XFree86?  .............................................. 1

2. Bug Reports for This Document  ........................................... 1

3. Installing the Binaries  ................................................. 1

4. Installing Xdm, the display manager	..................................... 4

5. Configuring X for Your Hardware  ......................................... 4

6. Running X  ............................................................... 5

7. Rebuilding the XFree86 Distribution	..................................... 5

8. Building New X Clients  .................................................. 6

9. Linear access to the frame buffer using BSD/386 1.1 ...................... 6



































				       i



$XFree86$