                      Release Notes for XFree86® 4.6.0

                          The XFree86 Project, Inc

                                 April 2006

                                  Abstract

      This document contains information about the various features and
     their current status in the XFree86 4.6.0 release.

1.  Introduction to the 4.x Release Series

XFree86 4.0 was the first official release of the XFree86 4 series.  The cur-
rent release (4.6.0) is the latest in that series.  The XFree86 4.x series
represents a significant redesign of the XFree86 X server, with a strong
focus on modularity and configurability.

2.  Configuration: a Quick Synopsis

Automatic configuration was introduced with XFree86 4.4.0 which makes it pos-
sible to start XFree86 without first creating a configuration file.  This has
been further improved in XFree86 4.5.0 and 4.6.0.  If you experienced any
problems with automatic configuration in a previous release, it is worth try-
ing it again with this release.

While the initial automatic configuration support was originally targeted ust
for Linux and the FreeBSD variants, as of 4.5.0 it also includes Solaris,
NetBSD and OpenBSD support. Full support for automatic configuration is
planned for other platforms in future releases.

If you are running Linux, FreeBSD, NetBSD, OpenBSD, or Solaris, try Auto Con-
figuration by running:

     XFree86 -autoconfig

If you want to customise some things afterwards, you can cut and paste the
automatically generated configuration from the /var/log/XFree86.0.log file
into an XF86Config file and make your customisations there.  If you need to
customise some parts of the configuration while leaving others to be automat-
ically detected, you can combine a partial static configuration with the
automatically detected one by running:

     XFree86 -appendauto

If you using a platform that is not currently supported, then you must try
one of the older methods for getting started like xf86cfg", which is our
graphical configuration tool.  It also has a text mode interface that an be
used to create an initial configuration file and customise existing configu-
rations.

After that, you can use XFree86 server's ability to create a starting config-
uration file.  To do so you must login as root, and run:

     XFree86 -configure

and then follow the instructions.

Finally, if all else fails, the trusty old standby text-based tool "xf86con-
fig" can also be used for generating X server config files.

Hopefully, at least one, and perhaps all of these various configuration
options will give you a reasonable starting point for a suitable configura-
tion file but we think that with the automatic mechanism you will probably
not need any.

If you would like to customise the configuration file, see the XF86Config
manual page.  You should also check the driver-specific manual pages and the
related documentation, which is found at tables below (section 4., page 1).

Before downloading any of the binary distributions for this release, read
through the Installation Document as it can point out which particular binary
you should download.

The next section describes what is new in the latest version (4.6.0) compared
with the previous full release (4.5.0).  There are many new features in this
release and we unfortunately do not have enough space to cover them all here.

3.  Summary of new features in 4.6.0.

This is a sampling of the new features in XFree86 4.6.0.  A more complete
list of changes can be found in the CHANGELOG that is part of the XFree86
source tree.  It can also be viewed online at our CVSweb server
<URL:http://cvsweb.xfree86.org/cvsweb/xc/pro-
grams/Xserver/hw/xfree86/CHANGELOG?rev=HEAD>.

3.1  Security Updates

The following security issue has been fixed in this release:

   o X server pixmap allocation flaw (CERT Vulnerability Note VU#102441
     <URL:http://www.kb.cert.org/vuls/id/102441>, CAN-2005-2495
     <URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-2495>).

3.2  Video Driver Enhancements

   o Remove cfb support from the i740, nsc, s3virge, siliconmotion and via
     drivers.

3.2.1  aspeed

   o A new driver for ASPEED Technologies' AST2000 graphics chips.

3.2.2  ati

   o Reinstate support for all ATI adapters on all architectures supported by
     the XFree86 common layer.

   o Restore accuracy of atimisc's clock probe despite certain I/O errors.

   o Change the atimisc driver on big-endian systems to allow depth 24 even
     if the big-endian aperture is not available, by swapping RGB masks.

   o Fix an ATI driver probe crash.

   o Workaround for screen-to-screen copy corruption in second-generation
     integrated controllers.

   o Improve accuracy of atmisc's calculations that are based on a 29.5 MHz
     reference clock.

   o Chrontel 8398 related changes to the Mach64 support.

   o Fix one cause of video memory corruption when using XAA with second gen-
     eration integrated Mach64 controllers.

3.2.3  glint

   o Fix the size of the DAC registers storage for pm2v and pm3 chipsets.

3.2.4  i740

   o Save and restore more of the mode on server entry.

3.2.5  i810

   o Make sure the DDC-probed parameters are applied before modes are
     selected.

   o Fix some bad alignment problems when allocating memory from the end of
     AGP space.

   o Adjust the display width according to the VESA BIOS scanline require-
     ments.

   o Add support for the Intel E7221 server chipset.

   o Improve display switching support for mobile chipsets using the Fn+F?
     combination keys.

   o Add DirectColor support for the i830 and later.

   o Add gamma correction support for the i830 and later.

   o Add rotation support for the i830 and later.

   o Improve refresh rate selection for custom modelines.

   o Add support for the 945G and 945GM.

   o Support custom video modes in the video BIOS, when available.

   o Fix some offset, pitch, and overlay scaler size problems with the video
     overlay.  This solves various spontaneous lockups.

   o Fix text restoration when display switching has been activated.

   o Add support to check the built-in VESA mode list.

   o Fix XVideo when operating in one line mode and video is pushed off the
     top of the screen, and fix some XVideo skew problems at certain resolu-
     tions.

   o Sync the accelerator before calling AdjustFrame to avoid lockups.

   o Fix a lockup when spend and resume when playing video (shutdown the
     overlay on LeaveVT).

   o Support 1920x1088 for HDTV movies using a new option (LinearAlloc) to
     add more memory for the video overlay.

   o Add ACPI hotkey switching support.

3.2.6  mga

   o Reduce the Mystique's SYSCLK from 197 MHz to 166 MHz, allowing the
     higher clock to still be used when the "OverclockMem" option is acti-
     vated.  This fixes the instability seen on some Mystique cards, and
     removes the need for the workaround in previous releases.

   o Revert the HALlib MGASetDisplayStart interface back to HALSetDis-
     playStart.

   o Make 8+24 mode honour the default visual.

3.2.7  nv

   o Some of the panel DPMS support in 4.5.0 only works for TMDS, and caused
     some panel blooming on some LVDS panels, so skip the DPMS panel code
     when the panel is LVDS.

   o Add DPMS support for GeForce4 and newer laptops.

   o Fix some console restore code for the NV11.

   o Workaround for 512MB video cards (can only map 256MB of it).

   o Fix a graphics acceleration hang that occurred on some NVIDIA GeForce
     6xxx cards.

   o Fix a potential problem with pixmap cache corruption on GeForce 6xxx and
     7xxx parts.

   o Add support for new hardware.

3.2.8  siliconmotion

   o Merge in support for SiliconMotion's SM501 controller.

3.2.9  suncg6

   o Add screen-to-screen copy, solid fill, and CPU-to-screen colour expan-
     sion acceleration.

   o Map more of a Sun CG6's video memory for use by the pixmap cache.

3.2.10  sunffb

   o Prevent turning off the FPU on NetBSD.

   o Fix build problems on NetBSD (global register usage declaration, and
     increase stack usage).

   o Workaround for VRAM corruption when unblanking FFB1 adapters.

3.2.11  tdfx

   o Add DDC2 support.

3.2.12  trident

   o Do not wait for vertical retrace on PC98 systems.

   o Fix an offset problem in Xv for the Cyber9397 and later chipsets.

   o Add XGI (Trident) Volari XP5 support to the trident driver.

3.2.13  via

   o Add a "ConnectedDevice" option to the via driver to force selection of
     output devices.

3.2.14  vmware

   o Implement a workaround in the generic int10 module to allow unaligned
     I/O access specific to VMWare's second generation emulated adapter.

3.2.15  xgi

   o A new driver for the Volari V3XT, V5, V8, Z7 chipsets.

3.3  Input Driver Enhancements

3.3.1  keyboard

   o Ignore KEY_UNUSED scancodes.

3.3.2  mouse

   o Fix auto-detection of Sun mice on Linux/SPARC.

3.3.3  magictouch

   o Port of the magictouch driver to XFree86 4.x.

3.4  XKB updates

   o Replace the macintosh/fr map with the "fr_new" map, release 4.

   o Fix a bug in XKB group adjustment.

   o Fix off-by-one errors in XKBMalloc.c.

   o Shrink tables instead of only growing them.

   o Fix various vmodmap vs modmap cut and paste bugs.

   o Improve synthesized core X events for reporting XKB changes to XKB-
     unaware clients.

   o Fix a setxkbmap segfault.

   o Add Eszett (ssharp) to the us_intl map.

   o Add dvorak_intl map.

   o Add a Khmer layout.

   o Add multimedia keysyms for the Inspiron 6000 laptop to the "inspiron"
     set.

3.5  X Server and Extension Updates

   o Updates to the handling of the X server RGB database:

        o Ignore white space, dash, and underscore characters, as well as
          case when matching colour names, and remove the unnecessary dupli-
          cates in rgb.txt.

        o Allow a copy of the RGB database to be included into the X servers
          as a fallback for when the rgb.txt file cannot be found.

        o Remove the (unused) support for DBM-compiled RGB database files.

   o Make the AMD64/x86_64 platform tests consistent throughout.

   o Rework the way that extension support is built into the servers to allow
     for servers with different sets of extensions in the same build.  This
     includes minimising the number of pervasive extensions, and adding DIX
     helpers for extensions such as Xinerama and XCSECURITY.

   o Modify the X server handling of SIGINT to provide a faster exit path
     than SIGTERM, while ensuring that all hardware state gets restored.
     This change is used by xinit as a cleaner alternative to using SIGKILL
     for a slowly exiting server.

3.5.1  Loader

   o Add support for relocation type 10 for Alpha to the ELF loader.

   o Fix issues with Linux/SPARC 2.6 kernels.

   o Add loader infrastructure to implement inter-module version checks.

   o Use mprotect on NetBSD.

   o Fix support for NetBSD/arm.

   o Add support for R_SPARC_OLO10 relocations.

   o Make error messages for unsupported relocations more useful.

   o Improve the loader server's emulation of shmctl() calls.

   o Fix some problems with the a.out header macros used by the loader, which
     was causing incorrect header interpretation for some a.out object types.

   o Major loader enhancements, including:

        o Per-module export symbol lists.

        o Improved symbol hash.

        o A mechanism for specifying the scope of symbols.

        o Keep track of relocations, and undo them when they become unre-
          solved on module unload, and recalculate them when they change on
          module load.

        o Check relocations on each module load/unload, ensuring that func-
          tion references that are unresolved at any time are always mapped
          to the catch-all function, preventing calls into nowhere.

        o Efficient handling of invariant relocations.

        o Cleanup/update the memleak stack trace code, and print a stack
          trace when an unresolved function is called or when XFree86 aborts.

        o Update the catch-all function to identify the unresolved function
          that was called.

        o Read the XFree86 executable's symbol table in order to get the most
          useful stack traces, and use dladdr() where available for identify-
          ing shared library references.

        o Cleanup and unify debug messages for the loader components.

        o Use module-instance-specific referenced and required symbol lists.

        o Update drivers to make use of some of the new loader functionality,
          including the instance-specific ref/req lists, and some unloading
          of modules when they are no longer needed.

        o Don't build the coff loader on platforms that it doesn't support.

        o Use stronger typing of the module-visible instance-specific module
          descriptor.

        o No longer disable xf86UnloadSubModule() since the loader now han-
          dles unloads and reloads cleanly.

        o Do not defer unloading drivers when using autoconfig, since that is
          not necessary with the loader updates.

3.5.2  XFree86 core server and modules

   o Modify the handling of preferred EDID modes to allow user-specified
     modes that are larger than the preferred mode.

   o Refine VGA routing emulation through Sun's Simba P2P bridges.

   o Allow a static server's -configure to generate an XF86Config for the
     loader server.

   o Fix a bug relating to the forwarding of 64-bit memory addresses by PCI-
     to-PCI bridges on 32-bit systems.

   o Fix a bug in the decoding of I/O forwarding by Cardbus bridges.

   o Update -configure to detect when wscons support should be used for the
     keyboard on NetBSD.

   o Fix an endianness bug in the xf4bpp module.

   o Fix some of the endianness bugs in the vbe module.

   o Remove obsolete VBE functions that have not been compiled-in for some
     time.

   o Fix VBE's reporting of video memory size.

   o Re-implement Alpha kludge in x86emu's ops.c to be more portable.

   o Intercept "raw" requests for PCI configuration space from video BIOSes
     on all architectures.

   o Handle unaligned I/O requests more gracefully and be more tolerant of
     spurious I/O errors in the int10 module.

   o Make sparse I/O masks more portable throughout the server.

   o Fix a long-standing off-by-one bug in the setting of RGB offsets when
     the driver supplies RGB masks.

   o Make I/O error handling more reliable on SPARC.

   o Change the OS-specific module subdirectory name for all SunOS variants
     from "solaris" to "sunos".

   o Port of SBUS drivers to SunOS variants.  This also allows for multihead
     using a mix of SBUS and PCI devices.

   o Fix text mode restore on x86/Solaris 8 and later.

   o Change autoconfiguration to include PCI and SBUS BusIDs in generated
     device sections.  This fixes some problems when fbdev is active.

   o Prevent the sharing of a PCI entity by more than one driver.

   o Insulate various common layer functions against out-of-bounds entity
     indices.

   o Fix XAA's support for TRIPLE_BITS_24BPP on big-endian systems.

   o Fix unaligned access in XAA's handling of 24bpp.

   o The xf24_32bpp module is no longer used by any of our drivers, so don't
     include it in static builds.

   o The xf8_32wid module is only used by the sunffb driver, so don't include
     it in non-SPARC static builds.

   o Fix generic int10 memory accesses on little-endian systems.

   o Fix a SEGV that can occur under certain builds of glibc 2.3.4 and up,
     when linux/int10 attempts to determine kernel support for the vm86()
     system call.

   o Add an xf86DeallocateGARTMemory() function.

   o Make autoconfig stop at the first successful probe on each retry, min-
     imising unnecessary probes.

3.5.3  TinyX

   o Allow build-time selection of which font renderers get built in to the
     TinyX servers.

   o Fix a problem where VT switching back to TinyX servers was failing due
     to blocking on keyboard read.

   o Fix a TinyX build issue under !XserverStaticFontLib.

   o Move Xserver/*/tiny directories under Xserver/hw/tinyx.

   o TinyX build fixes.

3.5.4  Xnest

   o Add a "-noinput" option that allows Xnest to be run in a view-only mode.

3.5.5  Xsun

   o Fix incorrect bitsPerPixel for depth 12 in pixmap formats advertised by
     the Xsun24 server.

3.5.6  cfb

   o Fix a bug that occurs when using cfb to tile 32-bit rectangles on SPARC.

   o cfb24 is no longer needed.  Keep the loadable module, but no longer
     statically link it into servers.

3.5.7  shadow

   o Rewrite shadowUpdateRotatePacked() to reduce cache misses.

3.5.8  Xinerama

   o Cause the server to FatalError() when Xinerama attempts to create a
     screen whose root depth has no visuals, causing Xlib to segfault.

   o Allow Xinerama to initialise even when there is only one screen to com-
     bine.

   o Make loadable modules and MI independent of Xinerama:

        o Add a DIX helper to determine whether Xinerama is active and use it
          instead of #ifdef's code in all loadable modules.

        o Re-implement, as a screen wrapper, Xinerama's PaintWindow*() hacks.

        o Move down to DIX Xinerama's only MI hook.

3.5.9  XFree86-DGA

   o Do not call a screen's PointerMoved entry if a DGA mode is active on
     that screen.

   o Fix client-side framebuffer mapping on NetBSD.

   o Make sure that DGAShutdown() is always called before HW state is
     restored on exit and reset, and make sure that it is not called after
     the HW state has been restored.

3.5.10  Render

   o Fix unaligned access in RenderCompositeGlyphs request.

3.5.11  RandR

   o Use xf86SetViewport as well as SetCursorPosition during RandR rotation,
     as xf86SetViewport will call AdjustFrame to reposition the window if
     necessary and avoid the cursor ending up off screen.

   o Add a new function xf86GetRotation() to allow third party modules to
     obtain the current rotation.

   o Fix up error case when rotation fails and the framebuffer needs to be
     re-enabled.

3.6  Library, Client and Utility Updates

3.6.1  Xlib

   o Fix typos in XErrorDB that were preventing descriptive messages for some
     extension errors.

3.6.2  Xt

   o Fix an uninitialised pointer dereference in Xt/Initialize.c on WIN32
     platforms that happens if $HOME is set in the environment.

   o Add support to Xt's string to float converter to read resources in frac-
     tional notation.

   o Add some XChar2b string manipulation functions to Xt.

   o Bump the minor revision of the Xt shared library to reflect the fact
     that some new interfaces have been added.

3.6.3  Xaw

   o Extend the tool tip resource for Xaw's simpleWidgetClass to allow a
     function to be called

   o Fix problems with Xaw's label widget when using XChar2b strings.

   o Add a new connectionType property to Xaw's tree widget.

   o Make Xaw Form widgets inherit dimensions from their parent at widget
     initialisation time.

   o Add mouse wheel support for Scrollbars in Xaw's Viewport widget.

   o Fix a performance issue with Xaw's Tree widget caused by useless relay-
     outs.

   o Fix i18n for Xaw's tooltip widget.

   o Add two new functions that can be used to scroll the content of an Xaw
     viewport from outside the viewportWidgetClass.

   o Fix the cursor in Xaw textWidget when the input field has focus.

   o Bump the minor revision of the Xaw shared library to reflect the fact
     that some new interfaces have been added.

   o Add user_data field to Xaw's simpleWidgetClass.

   o Fix Xaw viewport scrollbar flickering problem.

3.6.4  pswrap

   o Fix a problem where pswrap generates a bogus .c file when the -h option
     is not used.

   o Document pswrap's -f option.

3.6.5  mmapr, mmapw

   o Extend mmapr and mmapw on Linux to allow specification of which PCI
     address space (I/O or memory) to mmap.

   o Add options to mmapr and mmapw to allow unaligned accesses for testing
     purposes

3.6.6  cpconfig

   o Use the same default XF86Config search path as the XFree86 server.

3.6.7  xterm

These changes correspond to xterm patches #200 through #212.

   o Improved behavior

        o add a new selection feature:  regular expressions, and new
          resources which specify what happens on multiple mouse clicks:
          on2Clicks, on3Clicks, on4Clicks and on5Clicks.

        o improve initialization of toolbar so that individual pulldown menus
          are initialized on demand, as they are in the scenario where they
          are invoked as popup menus.

        o improve error-reporting when chown/chmod of the pseudo-terminal
          fails, e.g., if a copy of xterm which was designed to work with
          old-style pseudo-terminals is not installed setuid or setgid.

        o add support for interpreting the underline attribute as an italic
          font in Xft mode.

        o modify configure script --disable-imake to use the script's defini-
          tions anyway if it cannot detect imake.

        o improve resource files to show how the menubar and popup menus can
          be colored.

        o modify initialization of allowSendEvents and allowWindowOps to pre-
          vent modification with the editres protocol.

        o improved some of the built-in line-drawing glyphs.

        o set the _NET_WM_PID property.

        o update table for mk_width() from UnicodeData 4.1.0.

        o implement the remaining pieces to make xterm allocate cells for
          wide-characters when the "UTF-8" menu entry is selected.  Also,
          load the UTF-8 font when that menu entry is selected, or the escape
          sequence for UTF-8 mode is received :

        o improve behavior when switching to UTF-8 mode after startup so
          xterm will check if the current fonts are already wide
          (ISO-10646-1).  If they are not, xterm will use the utf8Fonts sub-
          resource to load appropriate fonts.

        o modify initialization for wide-bold fontname, to search for one if
          none is given.

        o modify interaction between +u8 and locale resource to allow the
          command-line option to override the resource.

        o modify initialization to decide whether to default to built-in
          wcwidth() versus system's version based on the starting locale and
          whether the system's version is poor quality.

        o make paste of UTF-8 faster for Western character sets by checking
          range of incoming data.

        o improve initialization due to utf8 resource by loading the
          utf8Fonts resource in the case where locale resource is false.
          Also in this case, do not disable switching UTF-8 mode on/off.

   o Modified behavior

        o modify parsing of OSC (and SOS, etc), strings so their contents are
          not interpreted as UTF-8.  This allows non-ASCII title strings to
          be set, provided that the window manager complies.

        o modify parsing of control sequence CSI T to allow scroll-down to be
          sent while mouse tracking is enabled.

        o modify command-processing to accept an optional parameter that
          tells xterm which shell program to use.

        o change xterm manpage to show the actual color resource names XtDe-
          faultForeground and XtDefaultBackground rather than black and
          white.

        o modify xterm-new terminfo entry to use capabilities for shifted
          scroll forward/reverse as shifted cursor up/down.

        o remove menu entry for "Enable Curses Emulation" (to make room for
          "Select To Clipboard").

        o modify resource files to make the font-resources a little more spe-
          cific, e.g., changing "*VT100*" to "*VT100.", to make the distinc-
          tion between VT100.font and VT100.utf8Fonts.font sharper, in case a
          packager modifies one of those.

        o allow cursor to have the same color as foreground (text), since it
          is rendered as reverse.

        o modify Imakefile to use setgid mode for installing with Linux,
          OpenBSD and FreeBSD.

   o New resource settings

        o add utf8Title resource and menu entry, allowing the user to control
          whether title strings are interpreted as ISO-8859-1 or UTF-8 encod-
          ing.

        o add scrollBarBorder resource.

        o add resource selectToClipboard, action set-select and a menu entry
          to allow users to switch between PRIMARY and CLIPBOARD for
          select/paste.

        o add resource mkWidth and command-line option -mk_width to control
          whether xterm uses the built-in version of wcwidth().

        o add resource settings for minimum/maximum input buffer size, and
          call to sched_yield to improve performance with newer Linux kernels

        o add simpler resource keyboardType which, when set, overrides the
          individual keyboard-type resources and eliminates the possibility
          of conflict between them.

   o New configure script options

        o the --with-utmp-setgid allows the packager to configure xterm to
          use setgid permissions for utmp.

        o add configure option --enable-readline-mouse, which turns on the
          experimental OPT_READLINE code.

        o add --enable-narrowproto configure option to accommodate X.org
          "modular" build.

        o add configure --with-app-defaults option to allow app-defaults
          directory for install-rules to be customized.

        o add configure option --with-tty-group to help work around deficien-
          cies in packager's build environment.

        o add configure --with-setuid and --with-reference options to allow
          packagers more flexibility in customizing install permissions.

        o add configure --with-symlink option to make it simpler to install
          successive versions of xterm renamed using the --program-prefix,
          etc., options with a symbolic link pointing to the most recent.

        o add a configure check for the actual path of luit, to work around
          broken imake configurations.

        o add a configure check for pkg-config.

        o modify install rule for uxterm to account for the --program-prefix,
          etc., options by invoking the transformed name of xterm rather than
          simply "xterm".

        o modify configure --with-app-defaults option to allow --without-app-
          defaults.

        o add configure option --disable-leaks.

        o add experimental option to allow applications to get or set the
          selection data as a BASE64 string.

   o Other new features

        o add select-cursor-extend() action.

        o add environment variables $XTERM_SHELL and $XTERM_VERSION.

        o add menu entry (alt-esc) and corresponding action (alt-sends-esc)
          to toggle the eightBitInput resource setting.

        o add command-line options (-tb, +tb) and resource toolBar to allow
          menu/toolbar to disabled or enabled at startup.

        o add extended shift- and control-modifier cursor keys to
          "xterm+pcfkeys" terminfo entry to correspond to ncurses 20050430
          patch.

        o enable lastlogx support for NetBSD (was added, but not enabled in
          patch #186).

   o Bug-fixes (see http://invisible-island.net/xterm/xterm.log.html for a
     more complete list):

        o correct typo in configure script's --enable-dec-locator option

        o correct a typo in CF_FUNC_TGETENT introduced in patch #198 fix

        o fix an off-by-one error parsing -S/nn option.

        o add a check in Bell to ensure that the VT100 widget is realized,
          since it may be called by xtermLoadFont given an incorrect font
          resource.

        o correct treatment of iconBorderWidth for resizing an active-icon,
          and its description in manpage.

        o add a limit check for scrolling margins in a one-line screen, over-
          looked in fixes for patch #198.

        o correct computation of width for wide characters with the invisible
          attribute.

        o improve fix from patch #198 for Cleanup() by ensuring it is not
          called from the SIGCHLD handler.

        o fixes to make -geom option work properly with the toolbar configu-
          ration.

        o fix logic in find_utmp, which did not reset result in getutid(),
          causing an infinite loop in some conditions.

        o fix a rare case where text would be written with the wrong colors
          because output of scrolled text would reset the colors and the new
          text would be written with the same colors.

        o implement logic in termcap query to process multiple parameters as
          documented in ctlseqs.ms

        o fix buffer size used for termcap query, which was not long enough
          for the terminfo "colors" name.

        o initialize the saved-cursor data so a restore-cursor operation
          without a preceding save-cursor operation will not modify the fore-
          ground color.

        o modify Imakefile to work around old problems in imake configuration
          to allow test-builds using xmkmf on Linux.  (This was not noticed
          since several releases had broken definitions relating to Xft which
          were harder to work around).

        o remove default translations for dabbrev-expand() due to conflicts
          with existing keyboard arrangements.

        o set icon border width explicitly to work around fvwm problem with
          active icon resizing.

        o eliminate a retry for a better-matching bold font, to work around
          recent font server changes.

        o modify prefix/suffix transformation in makefile to make uxterm
          install properly on Cygwin.

        o correct termcap "me" (mode-end) string so it does not modify the
          alternate character set.

        o modify computation of rows/columns on resize to avoid extending
          beyond the given limits, e.g., if resizing in response to a "maxi-
          mize" in Gnome or KDE which do not use the window manager hints for
          this case.

        o make a special case of resizing work like vt100:  a hard reset also
          resets the 132/80 mode.  The code to support this was present since
          X11R5, but not used because the corresponding initial state of the
          -132 option was not saved.

3.6.8  GLX/DRI

   o Mesa build fixes for NetBSD/sparc64.

   o Solaris/SPARC 64-bit libGL fixes.

3.6.9  dbedizzy

   o Resurrect this DBE extension test utility.

3.6.10  xclock

   o Use the Xaw tooltip to display the date in xclock.

3.6.11  twm

   o Add a new function to allow the window text title to be changed interac-
     tively.

   o Allow environment variables to be used in menu names.

   o Add a new "f.totalzoom" function that zooms windows to cover the whole
     area of a screen with no window decoration visible.

   o Don't highlight "f.nop" menu items in menus.

3.6.12  xbiff

   o Add a tooltip to xbiff that shows the number of messages in a mail
     folder.

3.6.13  xdm

   o Fix a potential infinite loop when the "willing" command fails to pro-
     duce any output.

3.6.14  xfd

   o Fix a bug that prevents properly paging through xft fonts beyond 0xFFFF.

3.6.15  xfs

   o Modify the font server transport messages to go through xfs's logging
     mechanism.

   o Fix a bug introduced when syslog support was added that prevents exit on
     fatal errors.

3.6.16  xinit

   o Send SIGINT to slowing exiting X servers instead of SIGKILL.  This works
     together with the new SIGINT handling in the X servers, and results in a
     clean exit.  Sending SIGKILL only results in the hardware state not
     being restored, often requiring a reboot to recover from.

3.6.17  xmessage

   o Fix a bug in the handling of escapes in button labels.

3.6.18  xvidtune

   o Fix the -timeout <n> option.

3.7  I18n and Fonts

   o Update mkfontscale's handling of font weights.

   o Replace lib/font/fontfile/decompress.c with a version derived from BSD's
     src/usr.bin/compress/zopen.c.

   o Modify the fontconfig library to use getpwnam/getpwuid to find the home
     directory when $HOME is not set.

   o Fix a bug in fontconfig's pattern matching that can cause FcFontMatch()
     to fail when it shouldn't.

   o Fix a double-free problem in fontconfig.

   o Rework printf format specifiers used in XLFD code to make them more por-
     table and avoid infinite loops in some glibc versions.

   o Update the Serbian locale naming to reflect the country's name change
     from "Yugoslavia" to "Serbia and Montenegro".

3.8  OS Support Updates

   o Fix some cases in the Darwin build where a  variable is declared static
     and later as extern.

   o Avoid /tmp files in NetBSD.cf's man page creation.

   o Install man page source as well as formatted man pages on NetBSD.

   o Fix a problem where builds would continue past errors on NetBSD.

4.  Drivers

4.1  Video Drivers

XFree86 4.6.0 includes the following video drivers:

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

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

Drivers marked with (+) are for Linux/SPARC only.

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

Darwin/Mac OS X uses IOKit drivers and does not use the module loader drivers
listed above. Further information can be found in README.Darwin.

4.2  Input Drivers

XFree86 4.6.0 includes the following input drivers:

   +------------+----------------------------------+---------------------+
   |Driver Name | Description                      | Further Information |
   +------------+----------------------------------+---------------------+
   |aiptek(*)   | Aiptek USB tablet                | aiptek(4)           |
   |calcomp     | Calcomp                          |                     |
   |citron      | Citron                           | citron(4)           |
   |digitaledge | DigitalEdge                      |                     |
   |dmc         | DMC                              | dmc(4)              |
   |dynapro     | Dynapro                          |                     |
   |elographics | EloGraphics                      |                     |
   |eloinput    | Elo 2500U USB                    | eloinput(4)         |
   |fpit        | Fujitsu Stylistic Tablet PCs     | fpit(4)             |
   |hyperpen    | Aiptek HyperPen 6000             |                     |
   |js_x        | JamStudio pentablet              | js_x(4)             |
   |kbd         | generic keyboards (alternate)    | kbd(4)              |
   |keyboard    | generic keyboards                | keyboard(4)         |
   |magictouch  | MagicTouch ProE-X                | magictouch(4)       |
   |microtouch  | MicroTouch                       |                     |
   |mouse       | most mouse devices               | mouse(4)            |
   |mutouch     | MicroTouch                       |                     |
   |palmax      | Palmax PD1000/PD1100             | palmax(4)           |
   |penmount    | PenMount                         |                     |
   |spaceorb    | SpaceOrb                         |                     |
   |summa       | SummaGraphics                    |                     |
   |tek4957     | Tektronix 4957 tablet            | tek4957(4)          |
   |ur98(*)     | Union Reality UR-F98 headtracker | ur98(4)             |
   |void        | dummy device                     | void(4)             |
   |wacom       | Wacom tablets                    | wacom(4)            |
   +------------+----------------------------------+---------------------+

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

5.  Known Problems

Currently no known problems are documented.

6.  Overview of XFree86 4.x.

XFree86 4.x has a single X server binary called XFree86.  This binary can
either have one or more video and input drivers linked in statically, or more
usually, dynamically, and in that manner load the video drivers, input driv-
ers, and other modules that are needed.

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

6.1  Loader and Modules

The XFree86 X server has a built-in run-time loader, which can load normal
object files and libraries in most of the commonly used formats.  The loader
does not rely on an operating system's native dynamic loader support and it
works on platforms that do not provide this feature.  This allows for the
modules to be operating system independent (although not, of course, CPU
architecture independent) which means that a module compiled on Linux/x86 can
be loaded by an X server running on Solaris/x86, or FreeBSD, or even OS/2.

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

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

Note about module security

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

6.2  Configuration

The XFree86 server uses a configuration file as the primary mechanism for
providing configuration and run-time parameters.  The configuration file for-
mat is described in detail in the XF86Config(5) manual page.

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

6.3  Command Line Options

Command line options can be used to override some default parameters and
parameters provided in the configuration file.  These command line options
are described in the XFree86(1) manual page.

6.4  XAA

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

6.5  Multi-head

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

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

6.6  Xinerama

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

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

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

Known problems:

   o Not all window managers are Xinerama-aware, and so some operations like
     window placement and resizing might not behave in an ideal way.  This is
     an issue that needs to be dealt with in the individual window managers,
     and isn't specifically an XFree86 problem.

6.7  DGA version 2

DGA 2.0 is included in 4.6.0.  Documentation for the client libraries can be
found in the XDGA(3) man page.  A good degree of backwards compatibility with
version 1.0 is provided.

6.8  DDC

The VESA® Display Data Channel (DDC[tm]) standard allows the monitor to tell
the video card (or on some cases the computer directly) about itself; partic-
ularly the supported screen resolutions and refresh rates.

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

At startup the server prints out DDC information from the display, and will
use this information to set the default monitor parameters and video mode
when none are provided explicitly in the configuration file.

6.8.1  Changed behavior caused by DDC.

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

6.9  GLX and the Direct Rendering Infrastructure (DRI)

Direct rendered OpenGL® support is provided for several hardware platforms by
the Direct Rendering Infrastructure (DRI), which is part of Mesa.  Mesa also
provides the 3D core rendering component of GLX.  Further information can be
found at the DRI Project's web site <URL:http://dri.sf.net/> and the Mesa web
site <URL:http://www.mesa3d.org>.

6.10  XVideo Extension (Xv)

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

6.11  X Rendering Extension (Render)

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

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

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

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

6.11.1  The Xft Library

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

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

The Xft library uses a configuration file, XftConfig, which contains informa-
tion about which directories contain font files and also provides a sophisti-
cated font aliasing mechanism.  Documentation for that file is included in
the Xft(3) man page.

6.11.2  FreeType support in Xft

XFree86 4.6.0 includes sources for FreeType version 2.1.8, and, by default,
it is built and installed automatically.

6.11.3  Application Support For Anti-Aliased Text

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

By default, xterm uses core fonts through the standard core API.  It has a
command line option and associated resource to direct it to use Xft instead:

   o -fa family / .VT100.faceName: family.  Selects the font family to use.

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

6.12  Other extensions

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

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

6.13  xedit

Xedit has several new features, including:

   o An embedded lisp interpreter that allows easier extension of the editor.

   o Several new syntax highlight modes, and indentation rules for C and
     Lisp.

   o Flexible search/replace interface that allows regex matches.

   o Please refer to xedit(1) for more details.

6.14  Font support

Details about the font support in XFree86 4.x can be found in the
README.fonts document.

6.15  TrueType support

The XFree86 4.x server comes with a TrueType backend, known as the "FreeType"
backend, based on the FreeType library.  The functionality of the former X-
TrueType was merged into the FreeType backend by the After X-TT Project for
the XFree86 4.4.0 release, and the old X-TrueType backend has been dropped as
of XFree86 4.5.0.

6.16  CID font support

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

6.17  Internationalisation of the scalable font backends

XFree86 4.x has a ``fontenc'' layer to allow the scalable font backends to
use a common method of font re-encoding.  This re-encoding makes it possible
to use fonts in encodings other than their their native encoding.  This layer
is used by the FreeType, Type1 and Speedo backends.

6.18  Large font optimisation

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

6.19  Unicode/ISO 10646 support

What is included in 4.x:

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

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

   o Mark Leisher's ClearlyU proportional font (similar to Computer Modern).

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

   o The FreeType font backend supports Unicode-encoded fonts.

6.20  Xlib Compose file support and extensions

A more flexible Compose file processing system was added to Xlib in XFree86
4.4.0.  The compose file is searched for in the following order:

  1.  If the environment variable $XCOMPOSEFILE is set, its value is used as
      the name of the Compose file.

  2.  If the user's home directory has a file named ".XCompose", it is used
      as the Compose file.

  3.  The old method is used, and the compose file is "<xlocaledir>/<locale-
      name>/Compose".

Compose files can now use an "include" instruction.  This allows local modi-
fications to be made to existing compose files without including all of the
content directly.  For example, the system's iso8859-1 compose file can be
included with a line like this:

     include "/usr/X11R6/lib/X11/locale/iso8859-1/Compose"

There are two substitutions that can be made in the file name of the include
instruction.  %H expands to the user's home directory (the $HOME environment
variable), and %L expands to the name of the locale specific Compose file
(i.e., "<xlocaledir>/<localename>/Compose").

For example, you can include in your compose file the default Compose file by
using:

     include "%L"

and then rewrite only the few rules that you need to change.  New compose
rules can be added, and previous ones replaced.

Finally, it is no longer necessary to specify in the right part of a rule a
locale encoded string in addition to the keysym name.  If the string is omit-
ted, Xlib figures it out from the keysym according to the current locale.
I.e., if a rule looks like:

     <dead_grave> <A> : "\300" Agrave

the result of the composition is always the letter with the "\300" code.  But
if the rule is:

     <dead_grave> <A> : Agrave

the result depends on how Agrave is mapped in the current locale.

6.21  Luxi fonts from Bigelow and Holmes

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

The glyph coverage of the Type 1 versions is somewhat reduced, and only cov-
ers ISO 8859 parts 1, 2 and 15 as well as the Adobe Standard encoding.

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

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

7.  Credits

This section lists the credits for the XFree86 4.6.0 release.  For a more
detailed breakdown, refer to the CHANGELOG file in the XFree86 source tree,
the cvs-commit archives <URL:http://www.mail-archive.com/cvs-com-
mit@xfree86.org/maillist.html>, or the 'cvs log' information for individual
source files.

      New Features, Enhancements and Updates:

                  Security Updates:
                        Marc La France.

                  ASPEED Technologies driver:
                        Y. C. Chen, ASPEED Technologies.

                  Xabre Graphics driver:
                        Jong Lin, XGI.

                  X server extension rework:
                        Marc La France.

                  Loader Enhancements:
                        David H. Dawes, X-Oz Technologies.

                  Intel i945G/i945GM support and other driver enhancements:
                        Alan Hourihane, Tungsten Graphics.

                  NVIDIA driver updates and new hardware support:
                        Mark Vojkovich

                  Improved SunOS/SPARC and SBUS support:
                        Marc La France.

                  Xterm enhancements and updates:
                        Thomas Dickey.

                  Xaw enhancements:
                        Alexander Pohoyda.

      Integration:

                  General Integration of Submissions:
                        Marc La France, David H. Dawes.

      Release Engineering:
            David H. Dawes.

      Patches and other submissions (in alphabetical order):
            ASPEED Technologies, Andrew Aitchison, James Ascroft-Leigh,
            Étienne Bersac, Peter Breitenlohner, Terry Chang, Y. C. Chen,
            Jeff Chua, James Cloos, Alan Coopersmith, Miguel González
            Cuadrado, David Dawes, Thomas Dickey, Stefan Dirsch, Bernd
            Ernesti, Jordan Frank, Will L G, Frank Giessler, Thorsten Glaser,
            Damian Janusz Gruszka, Lukas Hejtmanek, Evil Mr Henry, Jens Her-
            den, Alan Hourihane, Nicolas Joly, Bang Jun-Young, Alexander
            Kabaev, Satoshi Kimura, Milos Komarcevic, Marc La France, Dejan
            Lesjak, Khong Jye Liew, Jong Lin, Michael Lorenz, Michael
            Macallan, Michal Maruska, Luke Mewburn, Timothy Musson, Newsh,
            Takaaki Nomura, Ivan Pascal, Bob Peterson, Pierre, Aaron Plat-
            tner, Alexander Pohoyda, Jeremy C. Reed, Conrad Schuler, Bruno
            Schwander, Olaf Seibert, Aaron Solochek, Helmar Spangenberg, Ken
            Stailey, Tobias Stoeckmann, Tungsten Graphics, James Richard
            Tyrer, Staffan Ulfberg, Denis Vlasenko, Mark Vojkovich, Tom
            Williams, Dave Williss, X-Oz Technologies, XGI, Christos Zoulas.

      Webmaster:
            Georgina O. Economou

      Hosting:
            Internet Systems Consortium, Inc <URL:http://www.isc.org/>.

8.  Attributions/Acknowledgements

This product includes software developed by The XFree86 Project, Inc
(http://www.xfree86.org/) and its contributors.

This product includes software that is based in part of the work of the
FreeType Team (http://www.freetype.org).

This product includes software developed by the University of California,
Berkeley and its contributors.

This product includes software developed by Christopher G. Demetriou.

This product includes software developed by the NetBSD Foundation, Inc. and
its contributors

This product includes software developed by X-Oz Technologies (http://www.x-
oz.com/).

     Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml,v 1.142 dawes Exp $


$XFree86: xc/RELNOTES.txt,v 1.7 2006/04/29 03:38:00 dawes Exp $
