summaryrefslogtreecommitdiff
path: root/sgml/RELNOTES.sgml
blob: c80f3f5b594f85a359fd9273a23211e209b78b36 (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
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
<!DOCTYPE linuxdoc PUBLIC "-//XFree86//DTD linuxdoc//EN" [
<!ENTITY % defs SYSTEM "defs.ent"> %defs;
]>

<article>

<title>Release Notes for XFree86&trade; &relvers;
<author>The XFree86 Project, Inc
<date>18 December 2003

<ident>
$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml,v 1.89 2003/12/19 04:26:12 dawes Exp $
</ident>

<abstract>

This document contains some information about features present
in XFree86 &relvers; and their status.

</abstract>

<toc>

<p>

<sect>Introduction to the 4.x Release Series
<p>
XFree86 4.0 was the first official release of the new XFree86 4 series.
<![ %updaterel [
XFree86 &relvers; is the &whichupdaterel; update to &fullrelvers;, which
is the latest full release in that series.
]]>
<![ %fullrel [
The current release (&relvers;) is the latest in that series.
]]>
XFree86
4 represents a significant redesign of the XFree86 X server.  Not all
of the hardware drivers from 3.3.x have been ported to 4.x yet, but
conversely, 4.x has support for a lot of hardware that is not supported
in 3.3.x.  Our <htmlurl name="Driver Status document" url="Status.html">
summarizes how the hardware driver support compares between &legacyvers;
and &relvers;.  Please check there first before downloading &relvers;.

XFree86 4.4 introduces an automatic configuration mechanism for the
XFree86 server.  This makes it possible to start XFree86 in a usable
way without first creating a configuration file.  The initial automatic
configuration support is currently targetted towards Linux and FreeBSD.
Automatic configuration will be supported on other platforms in future
releases.  If you're running Linux or FreeBSD, try it out if you don't
already have a working <tt>XF86Config</tt> file.  If you want to customise
things afterwards, you can cut and paste the automatically generated
configuration from the <tt>/var/log/XFree86.0.log</tt> file into an
<tt>XF86Config</tt> file and make your customisations there.  Runtime
and dynamic configuration is planned for future releases.

If you don't have any luck with automatic configuration, or you are using
a platform that it isn't currently supported on, try one of the older
methods for getting started.

XFree86 comes with a graphical configuration tool called "<tt>xf86cfg</tt>".
It also has a text mode interface.  It can be used to create an iniital
configuration file, and to customise existing configurations.

Next in the order of configuration preferences is to make use of the
XFree86 server's ability to create a starting configuration file.  To
do this, just run (as root):

<tscreen><verb>
XFree86 -configure
</verb></tscreen>

and follow the instructions.

Finally, the trusty old text-based tool "<tt>xf86config</tt>" can also
be used for generating X server config files.

At least one of these configuration options will give you a reasonable
starting point for a suitable configuration file.  With the automatic
mechanism you might even find that you don't need one!  If you do need
to customise the configuration file, you can find it fully documented
in the <htmlurl name="XF86Config manual page" url="XF86Config.5.html">.
Also check the driver-specific manual pages and the related documentation
for further information.  References to this driver-specific information
can be found in the <ref id="drivertables" name="tables below">.

Before you go to download and install the binary distributions for
this release, please have a quick read through the <htmlurl
name="Installation Document" url="Install.html">.  It may save you some
time and help you figure out which of the binary releases you need.

<![ %updaterel [
The next sections describe what has changed in the update release(s)
as well as what is new in the latest full release (&fullrelvers;).
]]>
<![ %fullrel [
The next section describes what is new in the latest version (&relvers;)
compared with the previous full release (&prevfullrelvers).
]]>
The other sections below describe some of the new features and changes
between 3.3.x and 4.0.  There are lot's of new features, and we definitely
don't have enough space to cover them all here.

</sect>

<![ %updaterel [
<sect>Summary of updates in &relvers;.
<p>

</sect>
]]>

<sect>Summary of new features in &fullrelvers;.

<sect1>Video Driver Enhancements

<p>
<itemize>
<item>Several stability issues with the support for the Intel 830M,
	845G, 852GM, 855GM and 865G integrated graphics chipsets have been
	fixed.  Some limitations related to the driver's use of the video
	BIOS remain, especially for some laptops.

<item>The nv driver for NVIDIA cards has been updated as follows:

	<itemize>
	<item>Support added to the nv driver for the GeForce FX 5700,
		which didn't work with XFree86 4.3.

	<item>The driver now does a much better job of autodetecting
		which connector of dual output cards the monitor is
		attached to, which should reduce or eliminate the need
		for manual XF86Config overrides.

	<item>The 2D acceleration for TNT and GeForce was completely
		rewritten.  Performance should be substantiallly improved.

	<item>TNT and GeForce cards have a new Xv PutImage adaptor which
		does scaled YUV bit blits.

	</itemize>

<item>The SiS driver has seen major updates, including:

	<itemize>
	<item>Support for 661/741/760 and support for 330 (Xabre).

	<item>Merged Framebuffer mode.

	<item>Support for DVI, and much more.

	<item>DRI for 300 series (300/305, 540, 630, 730) is supported
		again.

	</itemize>

<item>A new driver for several VIA integrated graphics chipsets has been added.

<item>Various updates and bug fixes have been made to most other drivers.

</itemize>

<sect1>Input Driver Enhancements

<p>
<itemize>
<item>The mouse driver has some support on Linux and FreeBSD for
	auto-detecting the device node to use, making it unnecessary to
	supply this information in the XF86Config file in most cases.

</itemize>

<sect1>IPv6 support
<p>
XFree86 4.4 supports IPv6, based on the code contributed by Sun
Microsystems to X.Org. See 
<url name="X.org's document" url="http://www.x.org/IPV6_Specific_Changes.html"> for a detailled list of the changes. 

<sect2>Protocol names and aliases. 
<p>
<itemize>
<item>tcp is an alias for both IPv6 and IPv4 transports.
<item>inet specifies IPv4 only. 
<item>inet6 specifies IPv6 only.
</itemize>
<p>
You can force the X server to only listen to IPv4 connections with 
the <tt>X -nolisten inet6 </tt> command.
Or you can force a IPv6 connection by setting <bf>DISPLAY</bf> to 
<tt>inet6/host:0</tt>.

<sect2>XDM
<p>
The IPv6 XDMCP code is not enabled by default on platforms that don't 
support binding a IPv6 socket to a IPv4 address. 
<p>
The XDM-AUTHORIZATION-1 authentification scheme does not support IPv6
addresses. A new release of the protocol, XDM-AUTHORIZATION-2 has been
designed, but is not implemented yet. 
Note that  by default XFree86 builds do not enable the XDM-AUTHORIZATION-1
code. 


<sect1>X Server and Extension Updates

<p>
<itemize>

<item>The Mesa version used for OpenGL&reg; 1.3 and DRI driver support
	has been updated to 5.0.2.

</itemize>

<sect1>Client and Library Updates

<p>
<sect2>Xterm
<p>

The user-visible changes to xterm since XFree86 4.3 are:

	Bug Fixes:
	<itemize>
	<item>Make signalInhibit resource work, i.e., disable the menu
		entries that would send signals to, or exit xterm.

	<item>Make cursor definition in tek4014 emulation work as originally
		implemented.

	<item>Modify translations for scrollbar so that one can use
		shifted pageup, wheel mouse, etc., while the mouse
		pointer is over the scrollbar.

	<item>Correct initialization of G1 character set mapping.

	</itemize>

	New Features:
	<itemize>
	<item>Modify the predictable version of the generated logfile
		name to append the process-id rather than a random value.

	<item>Modify scroll-back and scroll-forw actions to accept an
		adjustment value, e.g.,

		<tscreen><verb>
scroll-back(1, page-2)
		</verb></tscreen>

		to scroll back by 2 lines less than a page.
		
	<item>Add visualBellDelay resource to modify the length of
		time used for visual bell, for very slow displays or
		very fast computers.

	</itemize>

	Improved Locale Support:
	<itemize>
	<item>modify uxterm script to strip modifiers such as "@euro" from the
		locale setting before adding ".UTF-8".

	<item>Add logic to wide-character support which attempts to
		load fonts specified by utf8Fonts subresources at startup.
		The subresources have the same names as the fonts which
		they replace, e.g., font, font1, etc., so that the
		ISO-10646-1 fonts can be specified in the XTerm
		app-defaults file.

	<item>Improved performance with chinput application.

	</itemize>

	Improved Font Handling:
	<itemize>
	<item>Document in xterm's manpage how to use XFree86 ":unscaled"
		keyword to suppress scaling of bold fonts.

	<item>Improved logic for deriving bold fontname from normal
		fontname.

	<item>Make double-width characters work with -u8 option.

	<item>Updated table of Unicode line-drawing characters.

	<item>Several fixes for rendering using Xft (option -fa):
		<itemize>
		<item>Make height of TrueType fonts match ascent+descent.

		<item>Translate Unicode values (from UTF-8 output to
			xterm) for line-drawing to xterm's internal
			code, etc., since TrueType fonts generally do
			not have either set of line-drawing glyphs.
			xterm can draw these directly.

		<item>Pass 16-bit values rather than 8-bit values to
			xtermXftDrawString() to allow for wide-characters.

		<item>Use built-in line-drawing characters for Xft fonts.

		<item>Implement underlining.
		</itemize>

	<item>Implement boldMode for wide-characters.

	<item>Modified to work with CJK double-width (bi-width/monospace)
		fonts.

	</itemize>

	Workarounds for Special Applications:
	<itemize>
	<item>Add option -k8 and resource allowC1Printable to allow
		users of non-VTxxx character sets such as KOI-8 to treat
		the C1 control area (character codes 128-159) as printable
		rather than control characters.

	<item>Add configure option --enable-broken-st and resource
		brokenStringTerm to allow user to revert one part of
		the parsing table corrections.

	<item>Add configure option --enable-broken-osc and resource
		brokenLinuxOSC to accommodate scripts which do not
		distinguish between running in the Linux console and
		running in X.  Linux console recognizes malformed control
		strings which start with an OSC, but are fixed-length,
		with no terminator.

	<item>Add configure option --enable-pty-handshake to allow
		one to compile-in support for the pty handshaking logic,
		and resource ptyHandshake to enable or disable it.  This
		feature is normally enabled.

	</itemize>

	Modified Resources:
	<itemize>
	<item>Change color4 to "dodger blue", since this provides
		better contrast.

	<item>Remove color resources from XTerm.ad, leaving them only
		in XTerm-col.ad

	<item>Modify UXTerm.ad resource file to include "XTerm-color"
		rather than "XTerm", in case the latter file contains
		no color resource definitions.

	<item>Changed class of veryBoldColors to VeryBoldColors, since
		ColorMode is associated with boolean resources.

	<item>Changed classes of colorBDMode and similar resources
		that override colors when a video attribute is set to
		ColorAttrMode, to make them distinct from ColorMode.
		This avoids an unexpected rendering of reverse video,
		for example.

	</itemize>

	Modified terminfo/termcap entries:
	<itemize>
	<item>Add indp and rin to terminfo entry.

	<item>Add le to termcap xterm-basic entry.  Though missing
		from older termcaps for xterm, some applications check
		for it.

	<item>Correct AF/AB strings in termcap for xterm-256color and
		xterm-88color entries.

	</itemize>

<sect1>I18N and Font Updates

<p>
<itemize>
<item>FreeType2 updated to version 2.1.4.

<item>The "freetype" X server font backend has been updated by the
	<url name="After X-TT Project" url="http://x-tt.sourceforge.jp/"> to
	include the functionality previously provided by the "xtt" backend,
	and to fix some bugs.  The "xtt" backend will be dropped in the
	next release in favour of the updated unified "freetype" backend.

</itemize>

<sect1>OS Support Updates

<p>
<itemize>
<item>On Mac OS X, the appropriate backend drawing code is now dynamically
	loaded at runtime. This reduces the X server's memory footprint.
	In rootless mode, Apple's Xplugin library is used where available.
	(Xplugin is included as part of Mac OS X on Panther.) With Xplugin,
	XDarwin provides identical performance to Apple's X11, including
	the following improvements over 4.3:
	<itemize>
	<item>Added direct GLX rendering with thread support.
	<item>Faster 2-D drawing.
	<item>Added support for the Apple-WM extension so XDarwin interoperates
		with quartz-wm.
	</itemize>

<item>On Darwin, IOKit mode now uses shadowfb for much faster drawing.

<item>Various GNU/Hurd support updates.

<item>Experimental support added for GNU/KFreeBSD and GNU/KNetBSD systems.

</itemize>

A more complete list of changes can be found in the CHANGELOG that is
part of the XFree86 source tree.  It can also be viewed online at our
<url name="CVSweb server"
url="http://cvsweb.xfree86.org/cvsweb/xc/programs/Xserver/hw/xfree86/CHANGELOG?rev=HEAD">.

<!--
<sect>Summary of new features in &prevrelvers;.
<p>
-->

<sect>Drivers<label id="drivertables">
<p>

<sect1>Video Drivers
<p>

XFree86 &relvers; includes the following video drivers:

<table border=1 align="center">
<tabular ca="|l|l|l|">
   <tabrow>Driver Name<colsep>Description<colsep>Further Information</tabrow>
   <hline>
   <tabrow><tt>apm</tt><colsep>Alliance Pro Motion<colsep><htmlurl
		name="README.apm" url="apm.html"></tabrow>
   <tabrow><tt>ark</tt><colsep>Ark Logic<colsep>&nbsp;</tabrow>
   <tabrow><tt>ati</tt><colsep>ATI<colsep><htmlurl
		name="README.ati" url="ati.html">, <htmlurl
		name="README.r128" url="r128.html">, <htmlurl
		name="r128(4)" url="r128.4.html">, <htmlurl
		name="radeon(4)" url="radeon.4.html"></tabrow>
   <tabrow><tt>chips</tt><colsep>Chips &amp; Technologies<colsep><htmlurl
		name="README.chips" url="chips.html">, <htmlurl
		name="chips(4)" url="chips.4.html"></tabrow>
   <tabrow><tt>cirrus</tt><colsep>Cirrus Logic<colsep>&nbsp;</tabrow>
   <tabrow><tt>cyrix</tt> (*)<colsep>Cyrix MediaGX<colsep><htmlurl
		name="README.cyrix" url="cyrix.html"></tabrow>
   <tabrow><tt>fbdev</tt><colsep>Linux framebuffer device<colsep><htmlurl
		name="fbdev(4)" url="fbdev.4.html"></tabrow>
   <tabrow><tt>glide</tt><colsep>Glide2x (3Dfx)<colsep><htmlurl
		name="glide(4)" url="glide.4.html"></tabrow>
   <tabrow><tt>glint</tt><colsep>3Dlabs, TI<colsep><htmlurl
		name="glint(4)" url="glint.4.html"></tabrow>
   <tabrow><tt>i128</tt><colsep>Number Nine<colsep><htmlurl
		name="README.I128" url="I128.html">, <htmlurl
		name="i128(4)" url="i128.4.html"></tabrow>
   <tabrow><tt>i740</tt><colsep>Intel i740<colsep><htmlurl
		name="README.i740" url="i740.html"></tabrow>
   <tabrow><tt>i810</tt><colsep>Intel i8xx<colsep><htmlurl
		name="README.i810" url="i810.html">, <htmlurl
		name="i810(4)" url="i810.4.html"></tabrow>
   <tabrow><tt>imstt</tt><colsep>Integrated Micro Solns<colsep>&nbsp;</tabrow>
   <tabrow><tt>mga</tt><colsep>Matrox<colsep><htmlurl
		name="mga(4)" url="mga.4.html"></tabrow>
   <tabrow><tt>neomagic</tt><colsep>NeoMagic<colsep><htmlurl
		name="neomagic(4)" url="neomagic.4.html"></tabrow>
   <tabrow><tt>newport</tt> (-)<colsep>SGI Newport<colsep><htmlurl
		name="README.newport" url="newport.html">, <htmlurl
		name="newport(4)" url="newport.4.html"></tabrow>
   <tabrow><tt>nsc</tt><colsep>National Semiconductor<colsep><htmlurl
		name="nsc(4)" url="nsc.4.html"></tabrow>
   <tabrow><tt>nv</tt><colsep>NVIDIA<colsep><htmlurl
		name="nv(4)" url="nv.4.html"></tabrow>
   <tabrow><tt>rendition</tt><colsep>Rendition<colsep><htmlurl
		name="README.rendition" url="rendition.html">, <htmlurl
		name="rendition(4)" url="rendition.4.html"></tabrow>
   <tabrow><tt>s3</tt><colsep>S3 (not ViRGE or Savage)<colsep>&nbsp;</tabrow>
   <tabrow><tt>s3virge</tt><colsep>S3 ViRGE<colsep><htmlurl
		name="README.s3virge" url="s3virge.html">, <htmlurl
		name="s3virge(4)" url="s3virge.4.html"></tabrow>
   <tabrow><tt>savage</tt><colsep>S3 Savage<colsep><htmlurl
		name="savage(4)" url="savage.4.html"></tabrow>
   <tabrow><tt>siliconmotion</tt><colsep>Silicon Motion<colsep><htmlurl
		name="siliconmotion(4)" url="siliconmotion.4.html"></tabrow>
   <tabrow><tt>sis</tt><colsep>SiS<colsep><htmlurl
		name="README.SiS" url="SiS.html">, <htmlurl
		name="sis(4)" url="sis.4.html"></tabrow>
   <tabrow><tt>sunbw2</tt> (+)<colsep>Sun bw2<colsep>&nbsp;</tabrow>
   <tabrow><tt>suncg14</tt> (+)<colsep>Sun cg14<colsep>&nbsp;</tabrow>
   <tabrow><tt>suncg3</tt> (+)<colsep>Sun cg3<colsep>&nbsp;</tabrow>
   <tabrow><tt>suncg6</tt> (+)<colsep>Sun GX and Turbo GX<colsep>&nbsp;</tabrow>
   <tabrow><tt>sunffb</tt> (+)<colsep>Sun Creator/3D, Elite 3D<colsep>&nbsp;</tabrow>
   <tabrow><tt>sunleo</tt> (+)<colsep>Sun Leo (ZX)<colsep>&nbsp;</tabrow>
   <tabrow><tt>suntcx</tt> (+)<colsep>Sun TCX<colsep>&nbsp;</tabrow>
   <tabrow><tt>tdfx</tt><colsep>3Dfx<colsep><htmlurl
		name="tdfx(4)" url="tdfx.4.html"></tabrow>
   <tabrow><tt>tga</tt><colsep>DEC TGA<colsep><htmlurl
		name="README.DECtga" url="DECtga.html"></tabrow>
   <tabrow><tt>trident</tt><colsep>Trident<colsep><htmlurl
		name="trident(4)" url="trident.4.html"></tabrow>
   <tabrow><tt>tseng</tt><colsep>Tseng Labs<colsep>&nbsp;</tabrow>
   <tabrow><tt>via</tt><colsep>VIA<colsep><htmlurl
		name="via(4)" url="via.4.html"></tabrow>
   <tabrow><tt>vesa</tt><colsep>VESA<colsep><htmlurl
		name="vesa(4)" url="vesa.4.html"></tabrow>
   <tabrow><tt>vga</tt><colsep>Generic VGA<colsep><htmlurl
		name="vga(4)" url="vga.4.html"></tabrow>
   <tabrow><tt>vmware</tt><colsep>VMWare guest OS<colsep><htmlurl
		name="vmware(4)" url="vmware.4.html"></tabrow>
</tabular>
</table>

Drivers marked with (*) are present in a preliminary form in this release,
but are not complete and/or stable yet.
<p>

Drivers marked with (+) are for Linux/Sparc only.
<p>

Drivers marked with (-) are for Linux/mips only.
<p>

Darwin/Mac OS X uses IOKit drivers and does not use the module loader drivers
listed above. Further information can be found in
<htmlurl name="README.Darwin" url="Darwin.html">.

XFree86 &relvers; includes the following input drivers:

<sect1>Input Drivers
<p>

<table border=1 align="center">
<tabular ca="|l|l|l|">
   <tabrow>Driver Name<colsep>Description<colsep>Further Information</tabrow>
   <hline>
<!--
   <tabrow><tt>acecad</tt><colsep>AceCad<colsep>&nbsp;</tabrow>
-->
   <tabrow><tt>aiptek(*)</tt><colsep>Aiptek USB tablet<colsep><htmlurl
		name="aiptek(4)" url="aiptek.4.html"></tabrow>
   <tabrow><tt>calcomp</tt><colsep>Calcomp<colsep>&nbsp;</tabrow>
   <tabrow><tt>citron</tt><colsep>Citron<colsep><htmlurl
		name="citron(4)" url="citron.4.html"></tabrow>
   <tabrow><tt>digitaledge</tt><colsep>DigitalEdge<colsep>&nbsp;</tabrow>
   <tabrow><tt>dmc</tt><colsep>DMC<colsep><htmlurl
		name="dmc(4)" url="dmc.4.html"></tabrow>
   <tabrow><tt>dynapro</tt><colsep>Dynapro<colsep>&nbsp;</tabrow>
   <tabrow><tt>elographics</tt><colsep>EloGraphics<colsep>&nbsp;</tabrow>
   <tabrow><tt>fpit</tt><colsep>Fujitsu Stylistic Tablet PCs<colsep><htmlurl
		name="fpit(4)" url="fpit.4.html"></tabrow>
   <tabrow><tt>hyperpen</tt><colsep>Aiptek HyperPen 6000<colsep>&nbsp;</tabrow>
   <tabrow><tt>js_x</tt><colsep>JamStudio pentablet<colsep><htmlurl
		name="js_x(4)" url="js_x.4.html"></tabrow>
   <tabrow><tt>kbd</tt><colsep>generic keyboards (alternate)<colsep><htmlurl
		name="kbd(4)" url="kbd.4.html"></tabrow>
   <tabrow><tt>keyboard</tt><colsep>generic keyboards<colsep><htmlurl
		name="keyboard(4)" url="keyboard.4.html"></tabrow>
   <tabrow><tt>microtouch</tt><colsep>MicroTouch<colsep>&nbsp;</tabrow>
   <tabrow><tt>mouse</tt><colsep>most mouse devices<colsep><htmlurl
		name="mouse(4)" url="mouse.4.html"></tabrow>
   <tabrow><tt>mutouch</tt><colsep>MicroTouch<colsep>&nbsp;</tabrow>
   <tabrow><tt>palmax</tt><colsep>Palmax PD1000/PD1100<colsep><htmlurl
		name="palmax(4)" url="palmax.4.html"></tabrow>
   <tabrow><tt>penmount</tt><colsep>PenMount<colsep>&nbsp;</tabrow>
   <tabrow><tt>spaceorb</tt><colsep>SpaceOrb<colsep>&nbsp;</tabrow>
   <tabrow><tt>summa</tt><colsep>SummaGraphics<colsep>&nbsp;</tabrow>
   <tabrow><tt>tek4957</tt><colsep>Tektronix 4957 tablet<colsep><htmlurl
		name="tek4957(4)" url="tek4957.4.html"></tabrow>
   <tabrow><tt>ur98(*)</tt><colsep>Union Reality UR-F98 headtracker<colsep><htmlurl
		name="ur98(4)" url="ur98.4.html"></tabrow>
   <tabrow><tt>void</tt><colsep>dummy device<colsep><htmlurl
		name="void(4)" url="void.4.html"></tabrow>
   <tabrow><tt>wacom</tt><colsep>Wacom tablets<colsep><htmlurl
		name="wacom(4)" url="wacom.4.html"></tabrow>
</tabular>
</table>

Drivers marked with (*) are available for Linux only.

<sect>Overview of XFree86 4.x.
<p>
XFree86 4.x has a single X server binary called <tt>XFree86</tt>.  This
binary can either have one or more video and input drivers linked in
statically, or, more usually, dynamically load the video drivers, input
drivers, and other modules that are needed.

XFree86 &relvers; has X server support for most UNIX&reg; and UNIX-like
operating systems on Intel/x86 platforms, plus support for Linux and
some BSD OSs on Alpha, PowerPC, IA-64, AMD64, Sparc, and Mips platforms,
and for Darwin on PowerPC.  Work on support for additional architectures
and operating systems is in progress, and is planned for future releases.

<sect1>Loader and Modules
<p>
The XFree86 X server has a built-in run-time loader developed from code
donated by <url name="Metro Link" url="http://www.metrolink.com">.  This
loader can load normal object files and libraries in most of the commonly
used formats.  Since the loader doesn't rely on an operating system's
native dynamic loader support, it works on platforms that don't provide
this feature, and makes it possible for the modules to be operating
system independent (although not, of course, independent of CPU
architecture).  This means that a module compiled on Linux/x86 can be
loaded by an X server running on Solaris/x86, or FreeBSD, or even OS/2.

One of the main benefits of this loader is that when modules are
updated, they do not need to be recompiled for every different operating
system.

The loader in version &relvers; has support for Intel (x86), Alpha and
PowerPC platforms.  It also has preliminary support for Sparc platforms.

The X server makes use of modules for video drivers, X server extensions,
font rasterisers, input device drivers, framebuffer layers (like mfb,
cfb, etc), and internal components used by some drivers (like XAA),

The module interfaces (API and ABI) used in this release is subject
to change without notice.  While we will attempt to provide backward
compatibility for the module interfaces as of the 4.0 release (meaning
that 4.0 modules will work with future core X server binaries), we cannot
guarantee this.  Compatibility in the other direction is explicitly
not guaranteed because new modules may rely on interfaces added in new
releases.

<bf>Note about module security</bf>
<quote><p>
	The XFree86 X server runs with root privileges, i.e. 
	the X server loadable modules also run with these privileges.
	For this reason we recommend that all users be careful to only
	use loadable modules from reliable sources,  otherwise the
	introduction of viruses and contaminated code can occur and
	wreak havoc on your system.  We hope to have a mechanism for
	signing/verifying the modules that we provide available in a
	future release.

</quote>

<sect1>Configuration File <label id="config">
<p>

The XFree86 server uses a configuration file as the primary mechanism
for providing configuration and run-time parameters.  The configuration
file format is described in detail in the <htmlurl name="XF86Config(5)"
url="XF86Config.5.html"> manual page.

The XFree86 server has support for automatically determining an initial
configuration on most platforms, as well as support or generating a basic
initial configuration file.

<sect1>Command Line Options
<p>

Command line options can be used to override some default parameters and
parameters provided in the configuration file.  These command line options
are described in the <htmlurl name="XFree86(1)"
url="XFree86.1.html"> manual page.
  
<sect1>XAA
<p>

The XFree86 Acceleration Architecture (XAA) was completely rewritten
from scratch for XFree86 4.x.  Most drivers implement acceleration by
making use of the XAA module.

<sect1>Multi-head
<p>
Some multi-head configurations are supported in XFree86 4.x, primarily
with multiple PCI/AGP cards.

One of the main problems is with drivers not sufficiently initialising
cards that were not initialised at boot time.  This has been improved
somewhat with the INT10 support that is used by most drivers (which
allows secondary card to be "soft-booted", but in some cases there are
other issues that still need to be resolved.  Some combinations can be
made to work better by changing which card is the primary card (either
by using a different PCI slot, or by changing the system BIOS's preference
for the primary card).

<sect1>Xinerama
<p>
Xinerama is an X server extension that allows multiple physical screens
to behave as a single screen.  With traditional multi-head in X11,
windows cannot span or cross physical screens.  Xinerama removes this
limitation.  Xinerama does, however, require that the physical screens
all have the same root depth, so it isn't possible, for example, to use
an 8-bit screen together with a 16-bit screen in Xinerama mode.

Xinerama is not enabled by default, and can be enabled with the
<tt>+xinerama</tt> command line option for the X server.

Xinerama was included with X11R6.4.  The version included in XFree86 4.x
was completely rewritten for improved performance and correctness.

Known problems:
<itemize>
  <item>Most window managers are not Xinerama-aware, and so some
	operations like window placement and resizing might not behave
	in an ideal way.  This is an issue that needs to be dealt with
	in the individual window managers, and isn't specifically an
	XFree86 problem.

</itemize>

<sect1>DGA version 2
<p>

DGA 2.0 is included in &relvers;.
Documentation for the client libraries can be found in the <htmlurl
name="XDGA(3)" url="XDGA.3.man"> man page.  A good degree of backwards
compatibility with version 1.0 is provided.


<sect1>DDC
<p>
The VESA&reg; Display Data Channel (DDC&trade;) standard allows the monitor
to tell the video card (or on some cases the computer directly) about
itself; particularly the supported screen resolutions and refresh rates.

Partial or complete DDC support is available in most of the video drivers.
DDC is enabled by default, but can be disabled with a "Device" section
entry:  <tt>Option "NoDDC"</tt>.  We have support for DDC versions 1
and 2; these can be disabled independently with <tt>Option "NoDDC1"</tt>
and <tt>Option "NoDDC2"</tt>.

At startup the server prints out DDC information from the display, and
can use this information to set the default monitor parameters, or to
warn about monitor sync limits if those provided in the configuration file
don't match those that are detected.

<sect2>Changed behavior caused by DDC.
<p>
Several drivers uses DDC information to
set the screen size and pitch.  This can be overridden by explicitly
resetting it to the and non-DDC default value 75 with the <tt>-dpi
75</tt> command line option for the X server, or by specifying appropriate
screen dimensions with the "DisplaySize" keyword in the "Monitor" section
of the config file.


<sect1>GLX and the Direct Rendering Infrastructure (DRI)
<p>

Direct rendered OpenGL&reg; support is provided for several hardware
platforms by the Direct Rendering Infrastructure (DRI).  Further information
about DRI can be found at the <url name="DRI Project's web site"
url="http://dri.sf.net/">.  The 3D core rendering component is provided by
<url name="Mesa" url="http://www.mesa3d.org">.

<sect1>XVideo Extension (Xv)
<p>

The XVideo extension is supported in XFree86 4.x.
An XvQueryPortAttributes function has been added as well as
support for XvImages.  XvImages are XImages in alternate color spaces 
such as YUV and can be passed to the server through shared memory
segments.  This allows clients to display YUV data with high quality
hardware scaling and filtering.

<sect1>X Rendering Extension (Render) <label id="render">
<p>

The X Rendering extension provides a 2D rendering model that more
closely matches application demands and hardware capabilities.  It provides
a rendering model derived from Plan 9 based on Porter/Duff image
composition rather than binary raster operations.

<p>
Using simple compositing operators provided by most hardware, Render
can draw anti-aliased text and geometric objects as well as perform 
translucent image overlays and other image operations not possible with 
the core X rendering system.

<p>
XFree86 &relvers; provides a partial implementation of Render sufficient 
for drawing anti-aliased text and image composition.  Still to be 
implemented are geometric primitives and affine transformation of images.

<p>
Unlike the core protocol, Render provides no font support for applications,
rather it allows applications to upload glyphs for display on the screen.
This allows the client greater control over text rendering and complete
access to the available font information while still providing hardware
acceleration.  The Xft library provides font access for
Render applications.

<sect2>The Xft Library
<p>

On the client side, the Xft library provides access to fonts for
applications using the FreeType library, version 2.  FreeType currently
supports Type1 and TrueType font files, a future release is expected to 
support BDF and PCF files as well, so Render applications will have access 
to the complete range of fonts available to core applications.  One 
important thing to note is that Xft uses the vertical size of the monitor 
to compute accurate pixel sizes for provided point sizes; if your monitor 
doesn't provide accurate information via DDC, you may want to add that 
information to <tt>XF86Config</tt>.

<p>

To allow a graceful transition for applications moving from core text
rendering to the Render extension, Xft can use either core fonts or FreeType
and the Render extension for text.  By default, Xft is configured to support
both core fonts and FreeType fonts using the supplied version of FreeType
2.  See the section on FreeType support in Xft for instructions on
configuring XFree86 to use an existing FreeType installation.

<p>
The Xft library uses a configuration file, <tt>XftConfig</tt>, which
contains information about which directories contain font files and also
provides a sophisticated font aliasing mechanism.  Documentation for that
file is included in the <htmlurl name="Xft(3)" url="Xft.3.man"> man page.

</sect2>
<sect2>FreeType support in Xft
<p>

XFree86 &relvers; includes sources for FreeType version 2.1.4, and, by
default, they are built and installed automatically.

</sect2>

<sect2>Application Support For Anti-Aliased Text
<p>

Only three applications have been modified in XFree86 &relvers; to work 
with the Render extension and the Xft and FreeType libraries to provide 
anti-aliased text.  Xterm, xditview and x11perf.  Migration of other 
applications may occur in future releases.

<p>
By default, xterm uses core fonts through the standard core API.  It has
a command line option and associated resource to direct it to use
Xft instead:
<itemize>
  <item><tt>-fa</tt> family / <tt>.VT100.faceName:</tt> family.  Selects the 
	font family to use.
</itemize>

<p>
Xditview will use Xft instead of the core API by default.  X11perf 
includes tests to measure the performance of text rendered in three ways, 
anti-aliased, anti-aliased with sub-pixel sampling and regular chunky 
text, but through the Render extension, a path which is currently somewhat
slower than core text.
</sect2>

<sect1>Other extensions
<p>

The XFree86-Misc extension has not been fully ported to the new server
architecture yet.  This should be completed in a future release.

The XFree86-VidModeExtension extension has been updated, and mostly
ported to the new server architecture.  The area of mode validation
needs further work, and the extension should be used with care.  This
extension has support for changing the gamma setting at run-time, for
modes where this is possible.  The <tt>xgamma</tt> utility makes
use of this feature.  Compatibility with the 3.3.x version of the
extension is provided.  The missing parts of this extension and some
new features should be completed in a future release.


<!--
<sect>X libraries and clients
<p>
-->

<sect1>xedit
<p>

Xedit has several new features, including:
<itemize>
  <item>An embedded lisp interpreter that allows easier extension of the editor.
  <item>Several new syntax highlight modes, and indentation rules for C and Lisp.
  <item>Flexible search/replace interface that allows regex matches.
  <item>Please refer to <tt><htmlurl name="xedit(1)" url="xedit.1.html"></tt>
	for more details.
</itemize>

<!--
<sect>Fonts and Internationalisation
<p>
-->

<sect1>Font support
<p>

Details about the font support in XFree86 4.x can be found
in the <htmlurl name="README.fonts" url="fonts.html"> document.

<sect1>TrueType support
<p>

XFree86 4.x comes with two TrueType backends, known as
"FreeType" backend (the <tt>"freetype"</tt> module) and `X-TrueType'
(the <tt>"xtt"</tt> module).  Both of these backends are based on the
FreeType library.  The functionality of X-TrueType has been merged into
the FreeType backend by the After X-TT Project for XFree86 4.4.
Consequently, the old X-TrueType backend will be dropped as of XFree86
4.5.

<sect1>CID font support
<p>

Support for CID-keyed fonts is included in XFree86 4.x.
The CID-keyed font format was designed by <url name="Adobe Systems"
url="http://www.adobe.com"> for fonts with large character sets.  The
CID-keyed font support in XFree86 was donated by <url name="SGI"
url="http://www.sgi.com">.  See the <htmlurl name="LICENSE"
url="LICENSE.html"> document for a copy of the CID Font Code Public
License.

<sect1>Internationalisation of the scalable font backends
<p>

XFree86 4.x has a ``fontenc'' layer to allow the scalable font backends
to use a common method of font re-encoding.  This re-encoding makes it
possible to uses fonts in encodings other than their their native
encoding.  This layer is used by the Type1 and Speedo backends and the
`xfsft' version of the TrueType backend.  The `X-TrueType' version of
the TrueType backend uses a different re-encoding method based on loadable
encoding modules.

<sect1>Large font optimisation
<p>

The glyph metrics array, which all the X clients using a particular font
have access to, is placed in shared memory, so as to reduce redundant
memory consumption.  For non-local clients, the glyph metrics array is
transmitted in a compressed format.

<sect1>Unicode/ISO 10646 support
<p>
What is included in 4.x:

<itemize>
  <item>All ``-misc-fixed-*'' BDF fonts are now available in the
        ISO10646-1 encoding and cover at least the 614 characters
        found in ISO 8859-{1-5,7-10,14,15}, CP1252, and MES-1. The
        non-bold fonts also cover all Windows Glyph List 4 (WGL4)
        characters, including those found in all 8-bit MS-DOS/Windows
        code pages. The 8-bit variants of the ``-misc-fixed-*'' BDF
        fonts (ISO8859-1, ISO8859-2, KOI8-R, etc.) have all been
        automatically generated from the new ISO10646-1 master fonts.

  <item>Some ``-misc-fixed-*'' BDF ISO10646-1 fonts now cover a
        comprehensive Unicode repertoire of over 3000 characters
        including all Latin, Greek, Cyrillic, Armenian, Gregorian,
        Hebrew, IPA, and APL characters, plus numerous scientific,
	typographic, technical, and backwards-compatibility
        symbols. Some of these fonts also cover Arabic, Ethiopian,
        Thai, Han/Kanji, Hangul, full ISO 8859, and more. For the 6x13
        font there is now a 12x13ja Kanji extension and for the 9x18
        font there is a 18x18ja Kanji/Han/Hangul extension, which
        covers all ISO-2022-JP-2 (RFC 1554) characters. The 9x18 font
        can also be used to implement simple combining characters by
        accent overstriking. For more information, read Markus Kuhn's
        <url name="UTF-8 and Unicode FAQ"
        url="http://www.cl.cam.ac.uk/~mgk25/unicode.html">.

  <item>Mark Leisher's ClearlyU proportional font (similar to Computer
	Modern).

  <item>ISO 10646/Unicode UTF-8 Level 1 support added to xterm
	(enabled with the <tt>-u8</tt> option).

  <item>Both the xfsft (the <tt>"freetype"</tt> module) and the X-TrueType
	(the <tt>"xtt"</tt> module) TrueType font backends support
	Unicode-encoded fonts.

</itemize>

<sect1>Luxi fonts from Bigelow and Holmes <label id="luxi">
<p>

XFree86 now includes the ``Luxi'' family of Type&nbsp;1 fonts and TrueType
fonts.  This family consists of the fonts ``Luxi&nbsp;Serif'',
``Luxi&nbsp;Sans'' and ``Luxi&nbsp;Mono'' in Roman, oblique, bold and
bold oblique variants.  The TrueType version have glyphs covering the
basic ASCII Unicode range, the Latin&nbsp;1 range, as well as the
<it/Extended Latin/ range and some additional punctuation characters.
In particular, these fonts include all the glyphs needed for ISO&nbsp;8859
parts 1, 2, 3, 4, 9, 13 and 15, as well as all the glyphs in the Adobe
Standard encoding and the Windows 3.1  character set.

The glyph coverage of the Type&nbsp;1 versions is somewhat reduced,
and only covers ISO&nbsp;8859 parts 1, 2 and 15 as well as the Adobe
Standard encoding.

The Luxi fonts are original designs by Kris Holmes and Charles Bigelow
from Bigelow and Holmes Inc., who developed the Luxi typeface designs
in Ikarus digital format.  URW++ Design and Development GmbH converted
the Ikarus format fonts to TrueType and Type&nbsp;1 font programs and
implemented the grid-fitting "hints" and kerning tables in the Luxi
fonts.

The license terms for the Luxi fonts are included in the file
`<tt/COPYRIGHT.BH/', as well as in the <htmlurl
name="License document" url="LICENSE.html">.  For further information,
please contact
<email>design@bigelowandholmes.com</email> or
<email>info@urwpp.de</email>, or consult the
<url name="URW++ web site" url="http://www.urwpp.de">.


<!--
<sect>Miscellaneous
<p>
-->



</article>