Annotation of xsrc/xfree/xc/RELNOTES, Revision 1.1.1.1
1.1 veego 1: Release Notes for XFree86[tm] 4.0.2
2:
3: The XFree86 Project, Inc
4:
5: 17 December 2000
6:
7: Abstract
8:
9: This document contains some information about the features present
10: in XFree86 4.0.2 and their status.
11:
12: 1. Introduction to the 4.x Release Series
13:
14: XFree86 4.0 was the first official release of the new XFree86 4 series. The
15: current release (4.0.2) is the latest in that series. XFree86 4 represents a
16: significant redesign of the XFree86 X server. Not all of the hardware
17: drivers from 3.3.x have been ported to 4.x yet, but conversely, 4.x has some
18: hardware support not present in 3.3.x. Our Driver Status document summarizes
19: how the hardware driver support compares between 3.3.6 and 4.0.2. Please
20: check there first before downloading 4.0.2.
21:
22: The 4.0.1 release introduced a new graphical configuration tool, "xf86cfg",
23: and a text mode interface was added to it for the 4.0.2 release. It is work
24: in progress, but definitely worth trying out. The trusty old text-based tool
25: "xf86config" can also be used for generating X server config files. In addi-
26: tion to these tools, we've been working on a configuration tool that is
27: built-in to the X server. It is included in the release, and it works well
28: for some hardware. To try it out, just run (as root) "XFree86 -configure".
29: Each of these configuration options will give you a reasonable starting point
30: for a suitable configuration file. We've put some effort into documenting
31: the 4.0.2 config file format, and you can find that information in the
32: XF86Config manual page. Check that, the driver manual pages and the related
33: documentation for further information.
34:
35: Before you go to download and install the binary distributions for this
36: release, please have a quick read through the Installation Document. It may
37: save you some time and help you figure out which of the binary releases you
38: need.
39:
40: The next section describes what is new in the latest version (4.0.2). The
41: other sections below describe some of the new features and changes between
42: 3.3.x and 4.0. There are lot's of new features, and we definitely don't have
43: enough space to cover them all here.
44:
45: 2. Summary of new features in 4.0.2.
46:
47: 2.1 X server
48:
49: o Darwin/Mac OS X is now supported and the X server runs on PowerPC. The
50: X server for this platform is called "Xdarwin", and its installation and
51: configuration is different from the "XFree86" server used on other plat-
52: forms. Please read the XFree86 on Darwin and Mac OS X document for fur-
53: ther information.
54:
55: o Mesa has been updated to the 3.4 stable release.
56:
57: o A driver for ATI Radeon adapters has been added.
58:
59: o ATI driver support for multi-head configurations and non-Intel platforms
60: has been improved.
61:
62: o The ATI driver has been changed to invoke the appropriate driver for any
63: Rage 128 and Radeon adapters that it finds in the system.
64:
65: o A driver (i128) for Number Nine chipsets has been added.
66:
67: o A driver (savage) for S3 Savage chipsets has been added.
68:
69: o A driver (siliconmotion) for some Silicon Motion chipsets has been
70: added.
71:
72: o The driver (ark) for Ark Logic chips has been ported to 4.x.
73:
74: o A VESA driver has been added.
75:
76: o A driver for SGI newport cards has been added (Linux/mips).
77:
78: o The trident driver has lots of fixes to the CyberBlade/Blade support,
79: XVideo support for the Image/Blade series (although scaling doesn't work
80: yet on the Image series).
81:
82: o The s3virge driver has stabilized ViRGE GX2 support, includes ViRGE DX
83: and ViRGE support for XVideo YUV images, and various fixes.
84:
85: o The 3Dlabs (glint) driver now has Permedia3 support.
86:
87: o The SiS driver has had many updates, and XVideo support for the 630 is
88: included.
89:
90: o The NVIDIA (nv) driver has been updated to include support for the
91: GeForce2, and line acceleration has been added. Also, DDC support has
92: been improved, and support added for Alpha platforms (dense only).
93:
94: o The neomagic driver has had various bug fixes and extended acceleration
95: support. DGA support has also been added.
96:
97: o The Chips and Technologies driver (chips) has initial support for the
98: 69030.
99:
100: o The tseng driver has multi-head fixes and DGA support has been added.
101:
102: o Most video drivers have been converted to use the integrated "fb" frame-
103: buffer code instead of the old "cfb" code.
104:
105: o DRI support has been updated for the Rage 128, 3Dfx Voodoo3 and Voodoo5,
106: Intel i810/i815 and Matrox G400. DRI support for SiS and Sun Creator3D
107: is available. The DRI is now also available on Alpha platforms.
108:
109: o An input driver (citron) for Citron Infrared Touch devices has been
110: added.
111:
112: o An input driver (penmount) for PenMount devices has been added.
113:
114: o An input driver (digitaledge) for DigitalEdge devices has been added.
115:
116: o Big endian problems in Xinerama have been fixed.
117:
118: o The new "render" extension has been added (see below (section 4.11, page
119: 1)). The design has been extended in the following ways:
120:
121: o A new FillRectangles request was added.
122:
123: o The 'mask' operand was changed to allow per-channel alphas.
124:
125: Server implementation:
126:
127: o Implemented remaining code for client clip lists.
128:
129: o Fixed plenty of bugs related to text rendering.
130:
131: o Complete compositing code, except for separate alpha.
132:
133: Todo:
134:
135: o Polygons
136:
137: o Image scaling
138:
139: o Separate alpha channels
140:
141: o Support for visuals other than TrueColor.
142:
143: Drivers with render extension support include: i128, glint, ati (r128
144: and radeon), chips, cirrus, mga, neomagic, nv, tdfx, trident, tseng,
145: vesa, s3virge.
146:
147: Acceleration for the render extension:
148:
149: o XAA infrastructure for acceleration.
150:
151: o Experimental MGA acceleration using XAA
152:
153: o kdrive (TinyX) infrastructure
154:
155: o Experimental TinyX Trident 9525DVD acceleration
156:
157: Xft library:
158:
159: o New font naming/access library.
160:
161: o Abstraction for core/Render text.
162:
163: o Uses FreeType2 rasterizer.
164:
165: o Allows anti-aliased/subpixel sampled text.
166:
167: o Gracefully falls back to core rendering.
168:
169: o Complicated font matching mechanism.
170:
171: o Uses server DPI to convert point sizes to pixel sizes, even for
172: core fonts.
173:
174: xterm:
175:
176: o Can use Xft, by default uses core fonts.
177:
178: o Uses new options '-fa' for family name and '-fs' for font size (in
179: points).
180:
181: x11perf:
182:
183: o Add tests for anti-aliased, subpixel sampled and aliased fonts
184: using the Xft library.
185:
186: xditview:
187:
188: o When the Xft library is build, uses Xft for all font access.
189:
190: Qt, Gtk, twm:
191:
192: o Qt changes available here <URL:http://XFree86.org/~keithp/down-
193: load/qtkernel.tar.bz2>.
194:
195: o Gtk changes in process.
196:
197: o twm hacks should never see the light of day.
198:
199: o xf86cfg, a new graphical configuration tool for XFree86 4.x, and can be
200: used to either write the initial configuration or make customisations to
201: the current configuration. xf86cfg is a work in progress, and allows
202: configuration of:
203:
204: o Specific setup of monitors, cards, keyboards and mice, as well as
205: adding or removing them.
206:
207: o Server layout setup, allowing complex configuration of physical
208: monitor positions, default color depth and/or rotated monitors.
209:
210: o Mode line editor that can be used to configure multiple monitors,
211: and allows adding a modeline specific to a monitor directly to the
212: configuration file.
213:
214: o AccessX configuration interface, that provides an interface to easy
215: setup of most AccessX options, including:
216:
217: o Timeout to reset controls.
218:
219: o StickyKeys, for people with disabilities that cannot press two
220: keys at the same time.
221:
222: o MouseKeys, mouse control only with the keyboard.
223:
224: o RepeatKeys, repeat rate and repeat delay.
225:
226: o SlowKeys, to avoid pressing keys accidentally, they're only
227: accepted if pressed for some specific amount of time.
228:
229: o BounceKeys, helps avoiding multiple key presses by only
230: accepting a key if it is pressed only once and not pressed
231: again in a specific amount of time.
232:
233: New configuration options are being worked on, as well as correcting
234: some of the bugs in the current options. A protocol for plugging in
235: external modules is also planned.
236:
237: 2.2 X libraries and clients.
238:
239: o Significant updates to the internationalisation support in Xlib (see
240: below (section 2.3, page 1)).
241:
242: o Some xfs updates, including font path verification, and new options.
243:
244: o XTerm updates.
245:
246: o New "xvinfo" client for querying the XVideo extension.
247:
248: 2.3 Fonts and Internationalisation
249:
250: o Many of the "misc" bdf fonts have been updated and extended, and a wider
251: range of ISO-8859 subsets have been added. These are now auto-generated
252: from ISO-10646 encoded master fonts.
253:
254: o The ClearlyU ISO-10646 encoded fonts have been updated.
255:
256: o Functions to read keyboard input in locale independent UTF-8 encoding
257: have been added to libX11: Xutf8LookupString, Xutf8ResetIC.
258:
259: o Functions to output strings in locale independent UTF-8 encoding have
260: been added to libX11: Xutf8DrawString, Xutf8DrawImageString, Xutf8Tex-
261: tEscapement, Xutf8TextExtents, Xutf8TextPerCharExtents, Xutf8DrawText.
262:
263: o Functions to convert between Compound Text or locale dependent encoding
264: and UTF-8 have been added to libX11: Xutf8TextListToTextProperty,
265: Xutf8TextPropertyToTextList. The converter between Compound Text and
266: UTF-8 in Xlib has been improved; a round-trip conversion now correctly
267: converts all graphic Unicode characters back and forth.
268:
269: o libXaw now offers selected text using both selection targets,
270: UTF8_STRING and COMPOUND_TEXT.
271:
272: o Locales with UTF-8 encodings are now supported; but the UTF-8 displaying
273: facilities are not adequate yet.
274:
275: o XKB keyboard definitions have been added and updated for some countries.
276:
277: 2.4 Platforms
278:
279: o Darwin/Mac OS X.
280:
281: o Greatly improved IA-64 support.
282:
283: o Improved Linux/mips support.
284:
285: o Support has been added for more Alpha platforms under Linux. This now
286: includes all platforms that require sparse memory mapping.
287:
288: 3. Drivers
289:
290: 3.1 Video Drivers
291:
292: XFree86 4.0.2 includes the following video drivers:
293:
294: +--------------+--------------------------+----------------------------------+
295: |Driver Name | Description | Further Information |
296: +--------------+--------------------------+----------------------------------+
297: |apm | Alliance Pro Motion | README.apm |
298: |ark | Ark Logic | |
299: |ati | ATI | README.ati, README.r128, r128(4) |
300: |chips | Chips & Technologies | README.chips, chips(4) |
301: |cirrus | Cirrus Logic | |
302: |cyrix (*) | Cyrix MediaGX | README.cyrix |
303: |fbdev | Linux fbdev | fbdev(4) |
304: |glide | Glide2x (3Dfx) | glide(4) |
305: |glint | 3Dlabs, TI | glint(4) |
306: |i128 | Number Nine | README.I128, i128(4) |
307: |i740 | Intel i740 | README.i740 |
308: |i810 | Intel i810 | README.i810, i810(4) |
309: |imstt | Integrated Micro Solns | |
310: |mga | Matrox | mga(4) |
311: |neomagic | NeoMagic | neomagic(4) |
312: |newport (-) | SGI Newport | README.newport, newport(4) |
313: |nv | NVIDIA | nv(4) |
314: |rendition | Rendition | README.rendition, rendition(4) |
315: |s3virge | S3 ViRGE | README.s3virge, s3virge(4) |
316: |savage | S3 Savage | savage(4) |
317: |siliconmotion | Silicon Motion | siliconmotion(4) |
318: |sis | SiS | README.SiS |
319: |sunbw2 (+) | Sun bw2 | |
320: |suncg14 (+) | Sun cg14 | |
321: |suncg3 (+) | Sun cg3 | |
322: |suncg6 (+) | Sun GX and Turbo GX | |
323: |sunffb (+) | Sun Creator/3D, Elite 3D | |
324: |sunleo (+) | Sun Leo (ZX) | |
325: |suntcx (+) | Sun TCX | |
326: |tdfx | 3Dfx | |
327: |tga | DEC TGA | README.DECtga |
328: |trident | Trident | trident(4) |
329: |tseng | Tseng Labs | |
330: |vesa | VESA | vesa(4) |
331: |vga | Generic VGA | vga(4) |
332: +--------------+--------------------------+----------------------------------+
333:
334: Drivers marked with (*) are present in a preliminary form in this release,
335: but are not complete and/or stable yet.
336:
337: Drivers marked with (+) are for Linux/Sparc only.
338:
339: Drivers marked with (-) are for Linux/mips only.
340:
341: Darwin/Mac OS X uses IOKit drivers and does not use the module loader drivers
342: listed above. Further information can be found in README.Darwin.
343:
344: XFree86 4.0.2 includes the following input drivers:
345:
346: 3.2 Input Drivers
347:
348: +------------+--------------------+---------------------+
349: |Driver Name | Description | Further Information |
350: +------------+--------------------+---------------------+
351: |acecad | AceCad | |
352: |citron | Citron | citron(4) |
353: |digitaledge | DigitalEdge | |
354: |dynapro | Dynapro | |
355: |elographics | EloGraphics | |
356: |keyboard | generic keyboards | keyboard(4) |
357: |microtouch | MicroTouch | |
358: |mouse | most mouse devices | mouse(4) |
359: |mutouch | MicroTouch | |
360: |penmount | PenMount | |
361: |spaceorb | SpaceOrb | |
362: |summa | SummaGraphics | |
363: |void | dummy device | void(4) |
364: |wacom | Wacom tablets | wacom(4) |
365: +------------+--------------------+---------------------+
366:
367: 4. Summary of XFree86 4.
368:
369: Unlike XFree86 3.3.x where there are multiple X server binaries, each of
370: which drive different hardware, XFree86 4.0.2 has a single X server binary
371: called XFree86. This binary can either have one or more video drivers linked
372: in statically, or, more usually, dynamically load the video drivers and other
373: modules that are needed.
374:
375: XFree86 4.0.2 has X server support for most UNIX(R) and UNIX-like operating
376: systems on Intel/x86 platforms, plus support for Linux on Alpha, PowerPC,
377: IA-64, Sparc, and Mips platforms, and for Darwin on PowerPC. Work on support
378: for additional architectures and operating systems is in progress, and is
379: planned for future releases.
380:
381: 4.1 Loader and Modules
382:
383: The XFree86 X server has a built-in run-time loader, donated by Metro Link
384: <URL:http://www.metrolink.com>. This loader can load normal object files and
385: libraries in most of the commonly used formats. Since the loader doesn't
386: rely on an operating system's native dynamic loader support, it works on
387: platforms that don't provide this feature, and makes it possible for the mod-
388: ules to be operating system independent (although not, of course, independent
389: of CPU architecture). This means that a module compiled on Linux/x86 can be
390: loaded by an X server running on Solaris/x86, or FreeBSD, or even OS/2.
391:
392: One of the main benefits of this loader is that when modules are updated,
393: they do not need to be recompiled for every different operating system. In
394: the future we plan to take advantage of this to provide more frequent driver
395: module updates in between major releases.
396:
397: The loader in version 4.0.2 has support for Intel (x86), Alpha and PowerPC
398: platforms. It also has preliminary support for Sparc platforms.
399:
400: The X server makes use of modules for video drivers, X server extensions,
401: font rasterisers, input device drivers, framebuffer layers (like mfb, cfb,
402: etc), and internal components used by some drivers (like XAA),
403:
404: The module interfaces (API and ABI) used in this release is still subject to
405: change without notice. While we will attempt to provide backward compatibil-
406: ity for the module interfaces as of the 4.0 release (meaning that 4.0 modules
407: will work with future core X server binaries), we cannot guarantee this.
408:
409: Note about module security
410:
411: The XFree86 X server runs with root privileges, i.e. the X server
412: loadable modules also run with these privileges. For this reason
413: we recommend that all users be careful to only use loadable modules
414: from reliable sources, otherwise the introduction of viruses and
415: contaminated code can occur and wreak havoc on your system. We
416: hope to have a mechanism for signing/verifying the modules that we
417: provide available in a future release.
418:
419: 4.2 Configuration File
420:
421: The X server configuration file format has been extended to handle some of
422: the new functionality. The xf86config utility can be used to generate a
423: basic config file, that may require some manual editing. The X server also
424: has preliminary support for generating a basic config file. This is done by
425: running (as root) "XFree86 -configure". Alternatively, the sample config
426: file XF86Config.eg that is installed in /usr/X11R6/lib/X11 may be used as a
427: starting point. The XF86Setup utility is currently not usable, but work is
428: continuing in this area.
429:
430: The main changes are covered here, but please refer to the XF86Config manual
431: page for more comprehensive information:
432:
433: o The Module section is used to load server extension modules and font
434: modules, but not XInput drivers. The .so suffix should no longer be
435: specified with module names. Options may be supplied for modules by
436: loading the module via a SubSection instead of the usual Load keyword.
437: The bitmap module is the only font module that is loaded by default. No
438: server extensions are loaded by default, but some are built-in to the
439: server. It is strongly recommended that the extension module containing
440: a range of small miscellaneous extensions (extmod) be loaded because
441: some commonly used things won't work correctly without it. The follow-
442: ing example shows how to load all the server extensions plus the Type1
443: and TrueType fonts support, and a commented example that shows how to
444: pass options to an extension (this one is for loading the misc exten-
445: sions (extmod) with the XFree86-VidModeExtension disabled):
446:
447: Section "Module"
448:
449: Load "dbe"
450: Load "record"
451: Load "glx"
452: Load "pex5"
453: Load "xie"
454: Load "extmod"
455:
456: Load "type1"
457: Load "freetype"
458:
459: # SubSection "extmod"
460: # Option "Omit XFree86-VidModeExtension"
461: # EndSubSection
462:
463: EndSection
464:
465: o Option flags have been extended and are now used more widely in the con-
466: fig file. Options flags come in two main types. The first type is
467: exactly like the old form:
468:
469: Option "name"
470:
471: where the option just has a name specified. The name is case insensi-
472: tive, and white space and underscore characters are ignored. The second
473: type consists of a name and a value:
474:
475: Option "name" "value"
476:
477: The value is passed transparently as a string to the code that uses the
478: option. Common value formats are integer, boolean, real, string and
479: frequency. The following boolean option values are recognised as mean-
480: ing TRUE: "true", "yes", "on", "1", and no value. The values recognised
481: as FALSE are "false", "no", "off", "0". In addition to this, "no" may
482: be prepended to the name of a boolean option to indicate that it is
483: false. Frequency options can have the strings Hz, kHz, or MHz appended
484: to the numerical value specified.
485:
486: Note: the value must always be enclosed in double quotes ("), even when
487: it is numerical.
488:
489: o The ServerFlags section now accepts its parameters as Options instead of
490: as special keywords. The older keyword format is still recognised for
491: compatibility purposes, but is deprecated and support for it will likely
492: be dropped in a future release. The DPMS and screen save timeout values
493: are now specified in the ServerFlags section rather than elsewhere
494: (because they are global parameters, not screen-specific). This example
495: shows the defaults for these:
496:
497: Option "blank time" "10"
498: Option "standby time" "20"
499: Option "suspend time" "30"
500: Option "off time" "40"
501:
502: o The Keyboard, Pointer and XInput sections have been replaced by a more
503: general InputDevice section. The old Keyboard and Pointer sections are
504: still recognised for compatibility purposes, but they are discommended
505: and support for them may be dropped in future releases. The old XInput
506: sections are no longer recognised. The keywords from the old sections
507: are expressed as Options in the InputDevice sections. The following
508: example shows typical InputDevice sections for the core mouse and key-
509: board.
510:
511: Section "InputDevice"
512: Identifier "Keyboard 1"
513: Driver "keyboard"
514: Option "AutoRepeat" "500 5"
515: Option "XkbModel" "pc104"
516: Option "XkbLayout" "us"
517: EndSection
518:
519: Section "InputDevice"
520: Identifier "Mouse 1"
521: Driver "mouse"
522: Option "Protocol" "PS/2"
523: Option "Device" "/dev/mouse"
524: Option "SampleRate" "80"
525: EndSection
526:
527: o The Monitor section is mostly unchanged. The main difference is that a
528: set of VESA modes is defined internally in the server, and so for most
529: monitors, it isn't necessary to specify any modes explicitly in the Mon-
530: itor section. There is also a new Modes section that can be used to
531: define a set of modes separately from the Monitor section, and the Moni-
532: tor section may "include" them with the "UseModes" keyword. The Monitor
533: section may also include Options. Options that are monitor-specific,
534: like the "DPMS" and "Sync on Green" options are best specified in the
535: Monitor sections.
536:
537: o The Device sections are mostly unchanged. The main difference is the
538: new (and mandatory) Driver keyword that specifies which video driver
539: should be loaded to drive the video card. Another difference is the
540: BusID keyword that is used to specify which of possibly multiple video
541: cards the Device section is for. The following is an example for a
542: Matrox card:
543:
544: Section "Device"
545: Identifier "MGA 1"
546: Driver "mga"
547: BusID "PCI:1:0:0"
548: EndSection
549:
550: o The Screen sections are mostly unchanged. The old Driver keyword is no
551: longer used, and a mandatory Identifier keyword has been added. The
552: DefaultColorDepth keyword has been renamed to DefaultDepth.
553:
554: o A new section called ServerLayout has been added to allow the layout of
555: the screens and the selection of input devices to be specified. The
556: ServerLayout sections may also include options that are normally found
557: in the ServerFlags section. Multiple ServerLayout sections may be pre-
558: sent, and selected from the command line. The following example shows a
559: ServerLayout section for a dual-headed configuration with two Matrox
560: cards, and two mice:
561:
562: Section "ServerLayout"
563: Identifier "Layout 1"
564: Screen "MGA 1"
565: Screen "MGA 2" RightOf "MGA 1"
566: InputDevice "Keyboard 1" "CoreKeyboard"
567: InputDevice "Mouse 1" "CorePointer"
568: InputDevice "Mouse 2" "SendCoreEvents"
569: Option "BlankTime" "5"
570: EndSection
571:
572: See the XF86Config man page for a more detailed explanation of the for-
573: mat of the new ServerLayout section.
574:
575: The config file search patch has been extended, with the directories /etc/X11
576: and /usr/X11R6/etc/X11 being added. The full search path details are docu-
577: mented in the XF86Config manual page.
578:
579: 4.3 Command Line Options
580:
581: The following new X server command line options have been added:
582:
583: -depth n
584:
585: This specifies the colour depth that the server is run-
586: ning at. The default is 8 for most drivers. Most
587: drivers support the values 8, 15, 16 and 24. Some
588: drivers also support the values 1 and 4. Some drivers
589: may also support other depths. Note that the depth is
590: different from the ``bpp'' that was specified with previ-
591: ous versions. The depth is the number of bits in each
592: pixel that are significant in determining the pixel's
593: value. The bpp is the total size occupied by each pixel,
594: including bits that are not used. The old -bpp option is
595: no longer recognised because it isn't a good way of spec-
596: ifying the server behaviour.
597:
598: -fbbpp n
599:
600: This specifies the bpp format to use for the framebuffer.
601: This may be used in 24-bit mode to force a framebuffer
602: format that is different from what the driver chooses by
603: default. In most cases there should be no need to use
604: this option.
605:
606: -pixmap24
607:
608: This specifies that the client-side pixmap format should
609: be the packed 24-bit format that was often used by the
610: 3.3.x servers. The default is the more common 32-bit
611: format. There should normally be no need to use this
612: option.
613:
614: -pixmap32
615:
616: This specifies that the client-side pixmap format should
617: be the sparse 32-bit format. This is the default, so
618: there should normally be no need to use this option.
619:
620: -layout name
621:
622: This specifies which ServerLayout section in the config
623: file to use. When this option is not specified, the
624: first ServerLayout section is used. When there is no
625: ServerLayout section, the first Screen section is used.
626:
627: -screen name
628:
629: This specifies which Screen section in the config file to
630: use. When this option is not specified, the first
631: ServerLayout section is used. When there is no Server-
632: Layout section, the first Screen section is used.
633:
634: -keyboard name
635:
636: This specifies which InputDevice section in the config
637: file to use for the core keyboard. This option may be
638: used in conjunction with the -screen option.
639:
640: -pointer name
641:
642: This specifies which InputDevice section in the config
643: file to use for the core pointer. This option may be
644: used in conjunction with the -screen option.
645:
646: -modulepath path
647:
648: This specifies the module search path. The path should
649: be a comma-separated list of absolute directory paths to
650: search for server modules. When specified here, it over-
651: rides the value specified in the config file. This
652: option is only available when the server is started by
653: the root user.
654:
655: -logfile file
656:
657: This specifies the log file name. When specified here,
658: it overrides the default value. This option is only
659: available when the server is started by the root user.
660:
661: -scanpci
662:
663: This specifies that the scanpci module should be loaded
664: and executed. This does a scan of the PCI bus.
665:
666: -logverbose [n]
667:
668: This options specifies the verbosity level to use for the
669: log file. The default is 3.
670:
671: The following X server command line options have been changed since 3.3.x:
672:
673: -verbose [n]
674:
675: This option specifies the verbosity level to use for the
676: server messages that get written to stderr. It may be
677: specified multiple times to increase the verbosity level
678: (as with 3.3.x), or the verbosity level may be specified
679: explicitly as a number. The default verbosity level is
680: 1.
681:
682: -xf86config filename
683:
684: This option has been extended to allow non-root users to
685: specify a relative config file name. The config file
686: search path will be used to locate the file in this case.
687: This makes it possible for users to choose from multiple
688: config files that the the sysadmin has provided.
689:
690: 4.4 XAA
691:
692: The XFree86 Acceleration Architecture (XAA) has been completely rewritten
693: from scratch for XFree86 4.x. Most drivers implement acceleration by making
694: use of the XAA module.
695:
696: 4.5 Multi-head
697:
698: Some multi-head configurations are supported in XFree86 4.x, primarily with
699: multiple PCI/AGP cards. However, this is an area that is still being worked
700: on, and we expect that the range of configurations for which it works well
701: will increase in future releases. A configuration that is known to work well
702: in most cases is multiple (supported) Matrox cards.
703:
704: One of the main problems is with drivers not sufficiently initialising cards
705: that were not initialised at boot time. This has been improved somewhat with
706: the INT10 support that is used by most drivers (which allows secondary card
707: to be "soft-booted", but in some cases there are other issues that still need
708: to be resolved. Some combinations can be made to work better by changing
709: which card is the primary card (either by using a different PCI slot, or by
710: changing the system BIOS's preference for the primary card).
711:
712: 4.6 Xinerama
713:
714: Xinerama is an X server extension that allows multiple physical screens to
715: behave as a single screen. With traditional multi-head in X11, windows can-
716: not span or cross physical screens. Xinerama removes this limitation. Xin-
717: erama does, however, require that the physical screens all have the same root
718: depth, so it isn't possible, for example, to use an 8-bit screen together
719: with a 16-bit screen in Xinerama mode.
720:
721: Xinerama is not enabled by default, and can be enabled with the +xinerama
722: command line option for the X server.
723:
724: Xinerama was included with X11R6.4. The version included in XFree86 4.x was
725: completely rewritten for improved performance and correctness.
726:
727: Known problems:
728:
729: o Most window managers are not Xinerama-aware, and so some operations like
730: window placement and resizing might not behave in an ideal way. This is
731: an issue that needs to be dealt with in the individual window managers,
732: and isn't specifically an XFree86 problem.
733:
734: 4.7 DGA version 2
735:
736: DGA 2.0 is included in 4.0.2, but is not implemented by all drivers. Prelim-
737: inary documentation for the client libraries can be found in the README.DGA
738: document. A good degree of backwards compatibility with version 1.0 is pro-
739: vided.
740:
741: 4.8 DDC
742:
743: The VESA(R) Display Data Channel (DDC[tm]) standard allows the monitor to
744: tell the video card (or on some cases the computer directly) about itself;
745: particularly the supported screen resolutions and refresh rates.
746:
747: Partial or complete DDC support is available in most of the video drivers.
748: DDC is enabled by default, but can be disabled with a "Device" section entry:
749: Option "NoDDC". We have support for DDC versions 1 and 2; these can be dis-
750: abled independently with Option "NoDDC1" and Option "NoDDC2".
751:
752: At startup the server prints out DDC information from the display, but it
753: does not yet use it the determine modelines. For some drivers, the X
754: server's new -configure option uses the DDC information when generating the
755: config file.
756:
757: Changed behavior caused by DDC. Several drivers uses DDC information to set
758: the screen size and pitch. This can be overridden by explicitly resetting it
759: to the and non-DDC default value 75 with the -dpi 75 command line option for
760: the X server, or by specifying appropriate screen dimensions with the "Dis-
761: playSize" keyword in the "Monitor" section of the config file.
762:
763: 4.9 GLX and the Direct Rendering Infrastructure (DRI)
764:
765: Precision Insight <URL:http://www.precisioninsight.com> (now part of the Pro-
766: fessional Services group at VA Linux Systems <URL:http://www.valinux.com>)
767: was provided with funding and support from Red Hat <URL:http://www.red-
768: hat.com>, SGI <URL:http://www.sgi.com>, 3Dfx <URL:http://www.3dfx.com>, Intel
769: <URL:http://www.intel.com>, ATI <URL:http://www.ati.com>, and Matrox
770: <URL:http://www.matrox.com> to integrate the GLX extension for 3D rendering
771: in an X11 window. The 3D core rendering component is the Mesa
772: <URL:http://www.mesa3d.org> library. SGI has released the sources to the GLX
773: extension framework under an open license, which essentially provides the
774: glue between the 3D library and this windowing system. Precision Insight has
775: integrated these components into the XFree86 X Server and added a Direct Ren-
776: dering Infrastructure (DRI). Direct Rendering provides a highly optimized
777: path for sending 3D data directly to the graphics hardware. This release
778: provides a complete implementation of direct rendering support for the 3Dfx
779: Banshee, Voodoo3 and Voodoo5 graphics cards, as well as the Intel i810/i815
780: cards, ATI Rage 128, and Matrox G400. Updated information on DRI compatible
781: drivers can be found at the DRI Project <URL:http://dri.sourceforge.net> on
782: SourceForge <URL:http://www.sourceforge.net>.
783:
784: 4.10 XVideo Extension (Xv)
785:
786: The XVideo extension is supported in XFree86 4.x. An XvQueryPortAttributes
787: function has been added as well as support for XvImages. XvImages are XIm-
788: ages in alternate color spaces such as YUV and can be passed to the server
789: through shared memory segments. This allows clients to display YUV data with
790: high quality hardware scaling and filtering.
791:
792: 4.11 X Rendering Extension (Render)
793:
794: The X Rendering extension provides a 2D rendering model that more closely
795: matches application demands and hardware capabilities. It provides a render-
796: ing model derived from Plan 9 based on Porter/Duff image composition rather
797: than binary raster operations.
798:
799: Using simple compositing operators provided by most hardware, Render can draw
800: anti-aliased text and geometric objects as well as perform translucent image
801: overlays and other image operations not possible with the core X rendering
802: system.
803:
804: XFree86 4.0.2 provides a partial implementation of Render sufficient for
805: drawing anti-aliased text and image composition. Still to be implemented are
806: geometric primitives and affine transformation of images.
807:
808: Unlike the core protocol, Render provides no font support for applications,
809: rather it allows applications to upload glyphs for display on the screen.
810: This allows the client greater control over text rendering and complete
811: access to the available font information while still providing hardware
812: acceleration. The Xft library provides font access for Render applications.
813:
814: 4.11.1 The Xft Library
815:
816: On the client side, the Xft library provides access to fonts for applications
817: using the FreeType library, version 2. FreeType currently supports Type1 and
818: TrueType font files, a future release is expected to support BDF and PCF
819: files as well, so Render applications will have access to the complete range
820: of fonts available to core applications. One important thing to note is that
821: Xft uses the vertical size of the monitor to compute accurate pixel sizes for
822: provided point sizes; if your monitor doesn't provide accurate information
823: via DDC, you may want to add that information to XF86Config.
824:
825: To allow a graceful transition for applications moving from core text render-
826: ing to the Render extension, Xft can use either core fonts or FreeType and
827: the Render extension for text. By default, Xft is configured to support only
828: core fonts, see the section on building FreeType support for the changes
829: needed to add FreeType/Render fonts.
830:
831: The Xft library uses a configuration file, XftConfig, which contains informa-
832: tion about which directories contain font files and also provides a sophisti-
833: cated font aliasing mechanism. Documentation for that file is included in
834: the Xft man page.
835:
836: 4.11.2 Building FreeType support for Xft
837:
838: XFree86 4.0.2 includes sources for FreeType version 2.0.1, but they are not
839: built and installed automatically. As a result, Xft is configured to provide
840: only core fonts by default.
841:
842: To build FreeType support for Xft, first FreeType must be built and
843: installed, either from the sources included in XFree86 in extras/freetype2 or
844: from another FreeType (version 2.0.1 or later) release. Early FreeType ver-
845: sion 2 releases used a different header file installation and aren't compati-
846: ble with XFree86. Instructions for building and installing FreeType can be
847: found in the INSTALL file included with the FreeType release.
848:
849: Second, XFree86 needs to know the installed location for FreeType, usually
850: /usr/local. Edit (or create) config/cf/host.def to include:
851:
852: #define Freetype2Dir /usr/local
853:
854: Finally, build XFree86 with "make World" from the top.
855:
856: 4.11.3 Application Support For Anti-Aliased Text
857:
858: Only three applications have been modified in XFree86 4.0.2 to work with the
859: Render extension and the Xft and FreeType libraries to provide anti-aliased
860: text. Xterm, xditview and x11perf. Migration of other applications may
861: occur in future releases.
862:
863: By default, xterm uses core fonts through the standard core API. It has two
864: command line options and associated resources to direct it to use Xft
865: instead:
866:
867: o -fa family / .VT100.faceName: family. Selects the font family to use.
868:
869: o -fs pointsize / .VT100.faceSize: pointsize. Selects the pointsize.
870:
871: Xditview will use Xft instead of the core API by default. X11perf includes
872: tests to measure the performance of text rendered in three ways, anti-
873: aliased, anti-aliased with sub-pixel sampling and regular chunky text, but
874: through the Render extension, a path which has not been optimized within the
875: X server yet.
876:
877: 4.12 Other extensions
878:
879: The XFree86-Misc extension has not been fully ported to the new server archi-
880: tecture yet. This should be completed in a future release.
881:
882: The XFree86-VidModeExtension extension has been updated, and mostly ported to
883: the new server architecture. The area of mode validation needs further work,
884: and the extension should be used with care. This extension has support for
885: changing the gamma setting at run-time, for modes where this is possible.
886: The new xgamma utility makes use of this feature. Compatibility with the
887: 3.3.x version of the extension is provided. The missing parts of this exten-
888: sion and some new features should be completed in a future release.
889:
890: 4.13 Xaw
891:
892: Two versions of the Xaw library are provided with XFree86 4.x. A version with
893: bug fixes and a few binary compatible improvements and a new version with
894: several new features.
895:
896: New features:
897:
898: o A displayList resource is available to all Xaw widgets. It basically
899: consists of a list of drawing commands, fully described in the Xaw(3)
900: manual page, that enables a integration of Xaw programs with the new
901: window/desktop managers that allows for configurable themes.
902:
903: o Some new actions were added to all Xaw widgets, to allow more config-
904: urable control of the widgets, and to allow setting resources at run
905: time.
906:
907: o Since Xpm was integrated into XFree86, programs linked with the new Xaw
908: library will also link with Xpm. This allows for color background
909: pixmaps, and also for shaped widgets.
910:
911: o The text widget is the widget that will present more changes. These
912: include:
913:
914: o Block cursor.
915:
916: o Compile time limit of 16384 undo/redo levels (that will automati-
917: cally grow if the text is not saved when this mark is reached).
918:
919: o Overwrite mode.
920:
921: o Text killed is inserted in a kill ring list, this text is not for-
922: gotten, pressing M-y allows traversing the kill ring list.
923:
924: o International support for latin languages is available even if the
925: international resource is not set. Users will need to properly set
926: the locale environment to make complete use of this feature.
927:
928: o A better multiply interface is provided. Pressing C-u,<number>
929: (where number can be negative) allows passing parameters for text
930: actions.
931:
932: o Text can be formatted to have left, right, center or full justifi-
933: cation.
934:
935: o Text indentation support is also available.
936:
937: Bug fixes:
938:
939: o The simple menu widget geometry management code was improved to solve
940: problems with menu entries not visible in the screen.
941:
942: o The form widget geometry code was changed to solve problems with integer
943: round problems in the child widgets geometry when resizing the parent
944: form widget.
945:
946: o Several bugs were fixed in the text code, while some code was rewritten
947: from scratch.
948:
949: 4.14 Xpm
950:
951: Version 3.4k of the Xpm (X pixmap) library is now integrated into XFree86.
952:
953: 4.15 xedit
954:
955: Xedit have been changed to use most of the new features added to the new ver-
956: sion of the Xaw library, and some xedit only features were added. Emacs users
957: will find that several of the emacs key bindings work with the new version of
958: xedit. These include:
959:
960: o File name tab completion. Including a Emacs dired like window, that will
961: be shown when there are more than one match, when C-x,d is pressed, or
962: when a directory name is specified.
963:
964: o An unlimited number of files can be edited at the same time. Including
965: multiple views of the same or different files.
966:
967: o The line number of the cursor position is always visible. It can also be
968: customized to show the column number, the position offset and the cur-
969: rent size of the file.
970:
971: o There is an autoReplace resource, that enables automatic text replace-
972: ment at the time text is typed. This feature is useful to create simple
973: macros, or to correct common spelling errors.
974:
975: o A fully featured ispell interface is also available. This interface is
976: expected to provide most of the features of the terminal interface of
977: the ispell program, with some extra features that include:
978:
979: o A compile time limit of 16 undo levels.
980:
981: o Terse mode switch.
982:
983: o Dictionary change.
984:
985: o The interface also checks for repeated words.
986:
987: o A first tentative to add programming modes was done. Currently, there is
988: one mode:
989:
990: o C-mode: this mode is expected to be stable, and fully usable.
991:
992: 4.16 Font support
993:
994: Details about the font support in XFree86 4.x can be found in the
995: README.fonts document.
996:
997: 4.17 TrueType support
998:
999: XFree86 4.x comes with two TrueType backends, known as `xfsft' (the
1000: "freetype" module) and `X-TrueType' (the "xtt" module). Both of these back-
1001: ends are based on the FreeType library.
1002:
1003: 4.18 CID font support
1004:
1005: Support for CID-keyed fonts is included in XFree86 4.x. The CID-keyed font
1006: format was designed by Adobe Systems <URL:http://www.adobe.com> for fonts
1007: with large character sets. The CID-keyed font support in XFree86 was donated
1008: by SGI <URL:http://www.sgi.com>. See the LICENSE document for a copy of the
1009: CID Font Code Public License.
1010:
1011: 4.19 Internationalisation of the scalable font backends
1012:
1013: XFree86 4.x has a ``fontenc'' layer to allow the scalable font backends to
1014: use a common method of font re-encoding. This re-encoding makes it possible
1015: to uses fonts in encodings other than their their native encoding. This
1016: layer is used by the Type1 and Speedo backends and the `xfsft' version of the
1017: TrueType backend. The `X-TrueType' version of the TrueType backend uses a
1018: different re-encoding method based on loadable encoding modules.
1019:
1020: 4.20 Large font optimisation
1021:
1022: The glyph metrics array, which all the X clients using a particular font have
1023: access to, is now placed in shared memory, so as to reduce redundant memory
1024: consumption. For non-local clients, the glyph metrics array is transmitted
1025: in a compressed format.
1026:
1027: 4.21 Unicode/ISO 10646 support
1028:
1029: What is included in 4.x:
1030:
1031: o All ``-misc-fixed-*'' BDF fonts are now available in the ISO10646-1
1032: encoding and cover at least the 614 characters found in ISO
1033: 8859-{1-5,7-10,14,15}, CP1252, and MES-1. The non-bold fonts also cover
1034: all Windows Glyph List 4 (WGL4) characters, including those found in all
1035: 8-bit MS-DOS/Windows code pages. The 8-bit variants of the ``-misc-
1036: fixed-*'' BDF fonts (ISO8859-1, ISO8859-2, KOI8-R, etc.) have all been
1037: automatically generated from the new ISO10646-1 master fonts.
1038:
1039: o Some ``-misc-fixed-*'' BDF ISO10646-1 fonts now cover a comprehensive
1040: Unicode repertoire of over 3000 characters including all Latin, Greek,
1041: Cyrillic, Armenian, Gregorian, Hebrew, IPA, and APL characters, plus
1042: numerous scientific, typographic, technical, and backwards-compatibility
1043: symbols. Some of these fonts also cover Arabic, Ethiopian, Thai,
1044: Han/Kanji, Hangul, full ISO 8859, and more. For the 6x13 font there is
1045: now a 12x13ja Kanji extension and for the 9x18 font there is a 18x18ja
1046: Kanji/Han/Hangul extension, which covers all ISO-2022-JP-2 (RFC 1554)
1047: characters. The 9x18 font can also be used to implement simple combining
1048: characters by accent overstriking. For more information, read Markus
1049: Kuhn's UTF-8 and Unicode FAQ <URL:http://www.cl.cam.ac.uk/~mgk25/uni-
1050: code.html>.
1051:
1052: o Mark Leisher's ClearlyU proportional font (similar to Computer Modern).
1053:
1054: o ISO 10646/Unicode UTF-8 Level 1 support added to xterm (enabled with the
1055: -u8 option).
1056:
1057: o Both the xfsft (the "freetype" module) and the X-TrueType (the "xtt"
1058: module) TrueType font backends support Unicode-encoded fonts.
1059:
1060: 4.22 Lucidux fonts from Bigelow and Holmes
1061:
1062: XFree86 now includes the ``Lucidux'' family of professionally hinted Type 1
1063: fonts. This family consists of the fonts ``Lucidux Serif'', ``Lucidux Sans''
1064: and ``Lucidux Mono'' in Roman and oblique variants, and includes over 370
1065: glyphs in each font covering among others the glyphs needed for ISO 8859-1,
1066: 2, 3, 4, 9 and 15. Bold variants will be included in a future release. The
1067: design and font outlines were donated by Charles Bigelow and Kris Holmes from
1068: Bigelow and Holmes Inc., and the hinting was donated by Berthold Horn and
1069: Blenda Horn from Y&Y, Inc. For more information, please contact
1070: <design@bigelowandholmes.com> or <sales@yandy.com>, or consult Y&Y's web site
1071: <URL:http://www.yandy.com>.
1072:
1073: 4.23 Directory rearrangements
1074:
1075: Some changes to the installed XFree86 directory structure have been imple-
1076: mented for 4.x. One important change is a modified search path for the X
1077: server's XF86Config file. The details of this can be found in the XF86Config
1078: manual page. The other main change is moving most of the run-time configura-
1079: tion files to /etc/X11, with symbolic links in the old /usr/X11R6/lib/X11
1080: location pointing to the new location. Some run-time generated files are now
1081: located under the appropriate subdirectories of /var, again with the relevant
1082: symbolic links in the old location.
1083:
1084: Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml,v 1.58 2000/12/17 23:01:10 dawes Exp $
1085:
1086:
1087: $XFree86: xc/RELNOTES,v 1.1 2000/12/18 02:45:46 dawes Exp $
CVSweb <webmaster@jp.NetBSD.org>