Annotation of xsrc/xfree/xc/RELNOTES, Revision 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>