Annotation of xsrc/xfree/xc/RELNOTES, Revision 1.1.1.3
1.1.1.3 ! tron 1: Release Notes for XFree86[tm] 4.0.2
1.1 veego 2:
3: The XFree86 Project, Inc
4:
1.1.1.3 ! tron 5: 17 December 2000
1.1 veego 6:
7: Abstract
8:
9: This document contains some information about the features present
1.1.1.3 ! tron 10: in XFree86 4.0.2 and their status.
1.1 veego 11:
12: 1. Introduction to the 4.x Release Series
13:
1.1.1.3 ! tron 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.
1.1 veego 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
1.1.1.3 ! tron 31: the 4.0.2 config file format, and you can find that information in the
1.1 veego 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:
1.1.1.3 ! tron 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.
1.1 veego 44:
1.1.1.3 ! tron 45: 2. Summary of new features in 4.0.2.
1.1 veego 46:
1.1.1.3 ! tron 47: 2.1 X server
1.1 veego 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:
1.1.1.3 ! tron 118: o The new "render" extension has been added (see below (section 4.11, page
1.1 veego 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:
1.1.1.3 ! tron 237: 2.2 X libraries and clients.
1.1 veego 238:
239: o Significant updates to the internationalisation support in Xlib (see
1.1.1.3 ! tron 240: below (section 2.3, page 1)).
1.1 veego 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:
1.1.1.3 ! tron 248: 2.3 Fonts and Internationalisation
1.1 veego 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:
1.1.1.3 ! tron 277: 2.4 Platforms
1.1 veego 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:
1.1.1.3 ! tron 288: 3. Drivers
1.1 veego 289:
1.1.1.3 ! tron 290: 3.1 Video Drivers
1.1 veego 291:
1.1.1.3 ! tron 292: XFree86 4.0.2 includes the following video drivers:
1.1 veego 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:
1.1.1.3 ! tron 344: XFree86 4.0.2 includes the following input drivers:
1.1 veego 345:
1.1.1.3 ! tron 346: 3.2 Input Drivers
1.1 veego 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:
1.1.1.3 ! tron 367: 4. Summary of XFree86 4.
1.1 veego 368:
369: Unlike XFree86 3.3.x where there are multiple X server binaries, each of
1.1.1.3 ! tron 370: which drive different hardware, XFree86 4.0.2 has a single X server binary
1.1 veego 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:
1.1.1.3 ! tron 375: XFree86 4.0.2 has X server support for most UNIX(R) and UNIX-like operating
1.1 veego 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:
1.1.1.3 ! tron 381: 4.1 Loader and Modules
1.1 veego 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:
1.1.1.3 ! tron 397: The loader in version 4.0.2 has support for Intel (x86), Alpha and PowerPC
1.1 veego 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:
1.1.1.3 ! tron 419: 4.2 Configuration File
1.1 veego 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:
1.1.1.3 ! tron 579: 4.3 Command Line Options
1.1 veego 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:
1.1.1.3 ! tron 690: 4.4 XAA
1.1 veego 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:
1.1.1.3 ! tron 696: 4.5 Multi-head
1.1 veego 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:
1.1.1.3 ! tron 712: 4.6 Xinerama
1.1 veego 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:
1.1.1.3 ! tron 734: 4.7 DGA version 2
1.1 veego 735:
1.1.1.3 ! tron 736: DGA 2.0 is included in 4.0.2, but is not implemented by all drivers. Prelim-
1.1 veego 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:
1.1.1.3 ! tron 741: 4.8 DDC
1.1 veego 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:
1.1.1.3 ! tron 763: 4.9 GLX and the Direct Rendering Infrastructure (DRI)
1.1 veego 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:
1.1.1.3 ! tron 784: 4.10 XVideo Extension (Xv)
1.1 veego 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:
1.1.1.3 ! tron 792: 4.11 X Rendering Extension (Render)
1.1 veego 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:
1.1.1.3 ! tron 804: XFree86 4.0.2 provides a partial implementation of Render sufficient for
1.1 veego 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:
1.1.1.3 ! tron 814: 4.11.1 The Xft Library
1.1 veego 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
1.1.1.3 ! tron 827: the Render extension for text. By default, Xft is configured to support both
! 828: core fonts and FreeType fonts using the supplied version of FreeType 2. See
! 829: the section on FreeType support in Xft for instructions on configuring
! 830: XFree86 to use an existing FreeType installation.
1.1 veego 831:
832: The Xft library uses a configuration file, XftConfig, which contains informa-
833: tion about which directories contain font files and also provides a sophisti-
834: cated font aliasing mechanism. Documentation for that file is included in
835: the Xft man page.
836:
1.1.1.3 ! tron 837: 4.11.2 FreeType support in Xft
1.1 veego 838:
1.1.1.3 ! tron 839: XFree86 4.0.2 includes sources for FreeType version 2.0.1, and, by default,
! 840: they are built and installed automatically.
1.1 veego 841:
1.1.1.3 ! tron 842: If you prefer, you can configure XFree86 4.0.2 to use an existing Freetype2
! 843: installation by telling XFree86 not to build the internal copy and indicating
! 844: where that external version has been installed. Edit (or create) con-
! 845: fig/cf/host.def to include:
1.1 veego 846:
1.1.1.3 ! tron 847: o #define BuildFreetype2Library NO
1.1 veego 848:
1.1.1.3 ! tron 849: o #define Freetype2Dir /usr/local
1.1 veego 850:
1.1.1.3 ! tron 851: Note that XFree86 assumes you'll be using a release FreeType no older than
! 852: version 2.0.1. Early FreeType version 2 releases used a different header
! 853: file installation and aren't compatible with XFree86. Instructions for build-
! 854: ing and installing FreeType can be found in the INSTALL file included with
! 855: the FreeType release.
1.1 veego 856:
1.1.1.3 ! tron 857: 4.11.3 Application Support For Anti-Aliased Text
1.1 veego 858:
1.1.1.3 ! tron 859: Only three applications have been modified in XFree86 4.0.2 to work with the
1.1 veego 860: Render extension and the Xft and FreeType libraries to provide anti-aliased
861: text. Xterm, xditview and x11perf. Migration of other applications may
862: occur in future releases.
863:
864: By default, xterm uses core fonts through the standard core API. It has two
865: command line options and associated resources to direct it to use Xft
866: instead:
867:
868: o -fa family / .VT100.faceName: family. Selects the font family to use.
869:
870: o -fs pointsize / .VT100.faceSize: pointsize. Selects the pointsize.
871:
872: Xditview will use Xft instead of the core API by default. X11perf includes
873: tests to measure the performance of text rendered in three ways, anti-
874: aliased, anti-aliased with sub-pixel sampling and regular chunky text, but
1.1.1.3 ! tron 875: through the Render extension, a path which is currently somewhat slower than
! 876: core text.
1.1 veego 877:
1.1.1.3 ! tron 878: 4.12 Other extensions
1.1 veego 879:
880: The XFree86-Misc extension has not been fully ported to the new server archi-
881: tecture yet. This should be completed in a future release.
882:
883: The XFree86-VidModeExtension extension has been updated, and mostly ported to
884: the new server architecture. The area of mode validation needs further work,
885: and the extension should be used with care. This extension has support for
886: changing the gamma setting at run-time, for modes where this is possible.
887: The new xgamma utility makes use of this feature. Compatibility with the
888: 3.3.x version of the extension is provided. The missing parts of this exten-
889: sion and some new features should be completed in a future release.
890:
1.1.1.3 ! tron 891: 4.13 Xaw
1.1 veego 892:
893: Two versions of the Xaw library are provided with XFree86 4.x. A version with
894: bug fixes and a few binary compatible improvements and a new version with
895: several new features.
896:
897: New features:
898:
899: o A displayList resource is available to all Xaw widgets. It basically
900: consists of a list of drawing commands, fully described in the Xaw(3)
901: manual page, that enables a integration of Xaw programs with the new
902: window/desktop managers that allows for configurable themes.
903:
904: o Some new actions were added to all Xaw widgets, to allow more config-
905: urable control of the widgets, and to allow setting resources at run
906: time.
907:
908: o Since Xpm was integrated into XFree86, programs linked with the new Xaw
909: library will also link with Xpm. This allows for color background
910: pixmaps, and also for shaped widgets.
911:
912: o The text widget is the widget that will present more changes. These
913: include:
914:
915: o Block cursor.
916:
917: o Compile time limit of 16384 undo/redo levels (that will automati-
918: cally grow if the text is not saved when this mark is reached).
919:
920: o Overwrite mode.
921:
922: o Text killed is inserted in a kill ring list, this text is not for-
923: gotten, pressing M-y allows traversing the kill ring list.
924:
925: o International support for latin languages is available even if the
926: international resource is not set. Users will need to properly set
927: the locale environment to make complete use of this feature.
928:
929: o A better multiply interface is provided. Pressing C-u,<number>
930: (where number can be negative) allows passing parameters for text
931: actions.
932:
933: o Text can be formatted to have left, right, center or full justifi-
934: cation.
935:
936: o Text indentation support is also available.
937:
938: Bug fixes:
939:
940: o The simple menu widget geometry management code was improved to solve
941: problems with menu entries not visible in the screen.
942:
943: o The form widget geometry code was changed to solve problems with integer
944: round problems in the child widgets geometry when resizing the parent
945: form widget.
946:
947: o Several bugs were fixed in the text code, while some code was rewritten
948: from scratch.
949:
1.1.1.3 ! tron 950: 4.14 Xpm
1.1 veego 951:
952: Version 3.4k of the Xpm (X pixmap) library is now integrated into XFree86.
953:
1.1.1.3 ! tron 954: 4.15 xedit
1.1 veego 955:
956: Xedit have been changed to use most of the new features added to the new ver-
957: sion of the Xaw library, and some xedit only features were added. Emacs users
958: will find that several of the emacs key bindings work with the new version of
959: xedit. These include:
960:
961: o File name tab completion. Including a Emacs dired like window, that will
962: be shown when there are more than one match, when C-x,d is pressed, or
963: when a directory name is specified.
964:
965: o An unlimited number of files can be edited at the same time. Including
966: multiple views of the same or different files.
967:
968: o The line number of the cursor position is always visible. It can also be
969: customized to show the column number, the position offset and the cur-
970: rent size of the file.
971:
972: o There is an autoReplace resource, that enables automatic text replace-
973: ment at the time text is typed. This feature is useful to create simple
974: macros, or to correct common spelling errors.
975:
976: o A fully featured ispell interface is also available. This interface is
977: expected to provide most of the features of the terminal interface of
978: the ispell program, with some extra features that include:
979:
980: o A compile time limit of 16 undo levels.
981:
982: o Terse mode switch.
983:
984: o Dictionary change.
985:
986: o The interface also checks for repeated words.
987:
988: o A first tentative to add programming modes was done. Currently, there is
989: one mode:
990:
991: o C-mode: this mode is expected to be stable, and fully usable.
992:
1.1.1.3 ! tron 993: 4.16 Font support
1.1 veego 994:
995: Details about the font support in XFree86 4.x can be found in the
996: README.fonts document.
997:
1.1.1.3 ! tron 998: 4.17 TrueType support
1.1 veego 999:
1000: XFree86 4.x comes with two TrueType backends, known as `xfsft' (the
1001: "freetype" module) and `X-TrueType' (the "xtt" module). Both of these back-
1002: ends are based on the FreeType library.
1003:
1.1.1.3 ! tron 1004: 4.18 CID font support
1.1 veego 1005:
1006: Support for CID-keyed fonts is included in XFree86 4.x. The CID-keyed font
1007: format was designed by Adobe Systems <URL:http://www.adobe.com> for fonts
1008: with large character sets. The CID-keyed font support in XFree86 was donated
1009: by SGI <URL:http://www.sgi.com>. See the LICENSE document for a copy of the
1010: CID Font Code Public License.
1011:
1.1.1.3 ! tron 1012: 4.19 Internationalisation of the scalable font backends
1.1 veego 1013:
1014: XFree86 4.x has a ``fontenc'' layer to allow the scalable font backends to
1015: use a common method of font re-encoding. This re-encoding makes it possible
1016: to uses fonts in encodings other than their their native encoding. This
1017: layer is used by the Type1 and Speedo backends and the `xfsft' version of the
1018: TrueType backend. The `X-TrueType' version of the TrueType backend uses a
1019: different re-encoding method based on loadable encoding modules.
1020:
1.1.1.3 ! tron 1021: 4.20 Large font optimisation
1.1 veego 1022:
1023: The glyph metrics array, which all the X clients using a particular font have
1024: access to, is now placed in shared memory, so as to reduce redundant memory
1025: consumption. For non-local clients, the glyph metrics array is transmitted
1026: in a compressed format.
1027:
1.1.1.3 ! tron 1028: 4.21 Unicode/ISO 10646 support
1.1 veego 1029:
1030: What is included in 4.x:
1031:
1032: o All ``-misc-fixed-*'' BDF fonts are now available in the ISO10646-1
1033: encoding and cover at least the 614 characters found in ISO
1034: 8859-{1-5,7-10,14,15}, CP1252, and MES-1. The non-bold fonts also cover
1035: all Windows Glyph List 4 (WGL4) characters, including those found in all
1036: 8-bit MS-DOS/Windows code pages. The 8-bit variants of the ``-misc-
1037: fixed-*'' BDF fonts (ISO8859-1, ISO8859-2, KOI8-R, etc.) have all been
1038: automatically generated from the new ISO10646-1 master fonts.
1039:
1040: o Some ``-misc-fixed-*'' BDF ISO10646-1 fonts now cover a comprehensive
1041: Unicode repertoire of over 3000 characters including all Latin, Greek,
1042: Cyrillic, Armenian, Gregorian, Hebrew, IPA, and APL characters, plus
1043: numerous scientific, typographic, technical, and backwards-compatibility
1044: symbols. Some of these fonts also cover Arabic, Ethiopian, Thai,
1045: Han/Kanji, Hangul, full ISO 8859, and more. For the 6x13 font there is
1046: now a 12x13ja Kanji extension and for the 9x18 font there is a 18x18ja
1047: Kanji/Han/Hangul extension, which covers all ISO-2022-JP-2 (RFC 1554)
1048: characters. The 9x18 font can also be used to implement simple combining
1049: characters by accent overstriking. For more information, read Markus
1050: Kuhn's UTF-8 and Unicode FAQ <URL:http://www.cl.cam.ac.uk/~mgk25/uni-
1051: code.html>.
1052:
1053: o Mark Leisher's ClearlyU proportional font (similar to Computer Modern).
1054:
1055: o ISO 10646/Unicode UTF-8 Level 1 support added to xterm (enabled with the
1056: -u8 option).
1057:
1058: o Both the xfsft (the "freetype" module) and the X-TrueType (the "xtt"
1059: module) TrueType font backends support Unicode-encoded fonts.
1060:
1.1.1.3 ! tron 1061: 4.22 Lucidux fonts from Bigelow and Holmes
1.1 veego 1062:
1063: XFree86 now includes the ``Lucidux'' family of professionally hinted Type 1
1064: fonts. This family consists of the fonts ``Lucidux Serif'', ``Lucidux Sans''
1065: and ``Lucidux Mono'' in Roman and oblique variants, and includes over 370
1066: glyphs in each font covering among others the glyphs needed for ISO 8859-1,
1067: 2, 3, 4, 9 and 15. Bold variants will be included in a future release. The
1068: design and font outlines were donated by Charles Bigelow and Kris Holmes from
1069: Bigelow and Holmes Inc., and the hinting was donated by Berthold Horn and
1070: Blenda Horn from Y&Y, Inc. For more information, please contact
1071: <design@bigelowandholmes.com> or <sales@yandy.com>, or consult Y&Y's web site
1072: <URL:http://www.yandy.com>.
1073:
1.1.1.3 ! tron 1074: 4.23 Directory rearrangements
1.1 veego 1075:
1076: Some changes to the installed XFree86 directory structure have been imple-
1077: mented for 4.x. One important change is a modified search path for the X
1078: server's XF86Config file. The details of this can be found in the XF86Config
1079: manual page. The other main change is moving most of the run-time configura-
1080: tion files to /etc/X11, with symbolic links in the old /usr/X11R6/lib/X11
1081: location pointing to the new location. Some run-time generated files are now
1082: located under the appropriate subdirectories of /var, again with the relevant
1083: symbolic links in the old location.
1084:
1.1.1.3 ! tron 1085: Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml,v 1.60 2001/03/02 17:40:48 dawes Exp $
1.1 veego 1086:
1087:
1.1.1.3 ! tron 1088: $XFree86: xc/RELNOTES,v 1.2 2001/03/02 17:48:40 dawes Exp $
CVSweb <webmaster@jp.NetBSD.org>