Release Notes for X11R6.7.0
: Summary of new features in 6.7.0.
Previous: Introduction to the XFree86 4.x Release Series
Next: Drivers
3. Summary of new features in 6.7.0.
This is a sampling of the new features in X11R6.7.0. A more
complete list of changes can be found in the CHANGELOG that is part of
the X source tree.
3.1. Enhancements in X11R6.7.0 beyond XFree86 4.4RC2
- The final version of the X11R6.7 versions of the X Window System
standards and specification documents are included. Updates since
X11R6.6 include a small correction to the numbering of requests in
the Shape Extension Protocol specification; the addition of IPv6
support to the X11 Protocol, Xlib, XDMCP, and Session Manager
specifications; and the addition of the ServerInterpreted Host family
to the X11 Protocol and Xlib specifications.
- IPv6 support updated to the final X11R6.7 versions of the standards,
including the addition of the ServerInterpreted Host family for xhost
style authentication. See the IPv6 section below for further details.
- Only files without the new XFree86 1.1 license are included in the
X11R6.7.0 release. Additionally, X.Org will be attempting,
when possible, to contact copyright holders of
material in the distribution when those
copyrights do not follow the Debian Free Software guidelines
to see if they can be relicensed to adhere to those standards.
- Trademark law requires that there be no ambiguity about
the use of a trademark,
so the documentation, error message, name of the X executable,
configuration file name, etc., have all been changed to
avoid confusion of X.Org's implementation with the XFree86[tm]
trademarked implementation. Some of the changes made include:
- The name of the X server is Xorg, rather than XFree86.
- The name of the X server configuration file is
/etc/X11/xorg.conf rather than /etc/X11/XF86Config.
If xorg.conf does not exist, the server will look
for the old name.
- The config file and servername in xorg.cf is build
time configurable.
- The vendor string was updated to "X.Org Foundation".
- The X server's log file name was changed to
Xorg.?.log.
- xf86cfg was renamed xorgcfg.
- xf86config was renamed xorgconfig.
- All messages emitted by the server in the log were
updated to reflect the change in name.
- The module loader was modified to accept either
XFree86 generated modules or X.Org generated modules.
- Manual pages and other documentation was updated.
- Projective affine transforms and
the trapezoid primitives were implemented in XFree86 4.3
with suboptimal performance. Work is underway to accelerate
these primitives. The render extension and render library in
XFree86 4.4 are stale and
were updated to version 0.8.4 in X11R6.7.0 to fix a number of bugs, by a backport
from the modular X window system tree.
The bugs fixed include checks for
X servers not implementing render properly (e.g. Solaris
X servers which advertized support for render but failed
to support 1, 4, 8, 24, 32 depth pixmaps.) and eliminating
an unneeded dependence on libXext.
- Fontconfig will no longer be installed by default since that
has often/usually resulted in overwriting more recent versions.
The fontconfig version 2.2.2 shipped in X11R6.7.0
needs to be built to allow programs in the tree to build that
depend on it, but those programs will run fine using installed
versions of fontconfig. If you do want to install the version
shipped in X11R6.7.0 add:
#define InstallFontconfigLibrary YES
to your host.def. We recommend instead if you need
to install a current fontconfig version, to get the current version
from fontconfig.org.
- Freetype was updated to version 2.1.7.
But installing freetype from X distributions would often or
usually result in the replacement or use of "stale" versions
of freetype. On Linux, FreeBSD, Solaris 10, and SCO5, therefore, X11R6.7.0
will by default use the version of freetype2 that is installed
on the system. If your system doesn't come with an installed
freetype2 and you wish to use the version supplied with this
distribution, please add:
#define HasFreetype2 NO
to config/cf/host.def. Additonally, the default font
renderer for TrueType that is loaded by the X server was changed
to freetype.
- During the build, the version of expat that is
installed on the system is used by default on Microsoft
Windows, FreeBSD, Linux and SCO5.
If your system doesn't come with an installed expat and you wish to
use the version supplied with this tree please add:
#define HasExpat NO
to
config/cf/host.def. Libexpat's web site has current versions.
- During build the version of zlib that is installed on the system
is used by default on OpenBSD, FreeBSD, Mac OS (Darwin),
Microsoft Windows (Cygwin), Linux, Sun Solaris, and SCO5.
If your system doesn't come with an installed zlib and you wish to
use the version supplied with this tree please add:
#define HasZlib NO
to
config/cf/host.def.
Zlib's web site
has current versions of zlib.
- You are likely to need the ncurses and libpng libraries including
the development header files. Builds will also require
groff, flex, and optionally, perl5.
- The TinyX (kdrive) driver was removed entirely from the tree
in X11R6.7.0. The version in XFree86 4.4 was 15
months out of date as of XFree86 4.4's release in February 2004,
and is not supported in the monolithic Xorg X server tree.
Please turn to
freedesktop.org's X Server project for
current kdrive support, including the new composite,
damage, and X fixes extension under development.
- Xft was updated to version 2.1.5, to fix bugs with Freetype
compatibility.
- The remains of XIE and PEX extensions were removed completely.
Similarly, libxml2's remains were removed, as it is not used
at all in the distribution.
- The new fonttosfnt utility to convert .bdf/.pcf fonts to .ttf
format was removed as it is not yet ready and working.
Please turn to
freedesktop.org's X Applications for a newer version.
- Allow left and right modifier keys to be distinguished on Mac OS X
10.3. (Does not work on earlier versions.)
3.2. Summary of new features in Cygwin/X
This is a sampling of the new features in Cygwin/X in X11R6.7.0.
3.2.1. Cygwin/X Notes
Cygwin/X has continued its rapid pace of development that it has
sustained since Spring 2001 and this release shows it, we now have: a
stable and fast multi-window mode, seamless clipboard integration, a
configurable tray menu icon, popups on error messages pointing users
to the log file and our mailing list, the beginnings of indirect 3D
acceleration for OpenGL applications, improved non-US keyboard and
clipboard support, and only a handful of bugs that continue to be
reported.
Between the XFree86 4.3.0 release and the X.Org X116.7 release the
Cygwin/XFree86 project broke away from The XFree86 Project, Inc. due
to a lack of support from the XFree86 project. As such, the Cygwin/XFree86
project was renamed to the Cygwin/X project and the upstream source
code tree that Cygwin/X pulls from and pushes to is now the tree
managed by the X.Org Foundation. The Cygwin/X project has seen a rush
of development and interest in the project since the split; one metric
showing this is that the number of CVS committers we have has gone
from zero to six.
3.2.2. Cygwin/X-specific Changes
[Note: This list is by no means complete and covers issues that were
either specific to the Cygwin/X DDX or were reported as problems by a
number of Cygwin/X users, thus creating an interest in such a problem
being fixed. The complete Cygwin/X-specific change logs can be seen
at http://x.cygwin.com/devel/server/changelog-full.html]
- Major multi-window mode performance improvements and bug fixes. (Takuma Murakami, Earle F. Philhower III)
- Initial version of indirect 3D acceleration by mapping GLX to Win32's
OpenGL implementation. (Alexander Gottwald, Harold L Hunt II)
- Allow clipboard integration to work seamlessly with Xdmcp. (Harold L Hunt II)
- Fix clipboard integration to stop stealing ownership of the selection
X (caused text to be unhighlighted in emacs, xterm, etc.). (Harold L
Hunt II)
- Improved Japanese keyboard and clipboard support.(Kensuke Matsuzaki,
Takuma Murakami, Alexander Gottwald)
- Customizable tray menu icon allowing shortcuts to start programs,
etc.(Earle F. Philhower III)
- Add an About Cygwin/X dialog box to the tray icon menu. (Harold L Hunt II)
- Fix crash with 24 bpp icons. (Fabrizio Gennari)
- Improve window positioning in multi-window mode.(Earle F. Philhower III)
- Allow overriding the tray icon in the .XWinrc preferences file.(Earle F. Philhower III)
- New icons.(Jehan Bing, Michael Bax, Benjamin Rienfenstahl)
- Fix some multi-monitor problems.(Takuma Murakami)
- Prevent multiple instances of XWin.exe listening on the same display
number. (Takuma Murakami, Harold L Hunt II)
- Present user with a dialog box containing useful information when
FatalError is called. (Harold L Hunt II)
- Make the multi-window mode window manager detectable by other window
managers such as twm. (Takuma Murakami)
- Center dialog boxes in the desktop window. (Earle F. Philhower III)
- Fix multi-window mode crashes when there were multiple instances of
XWin.exe. (Kensuke Matsuzaki)
- Don't send localhost and 0.0.0.0 when making Xdmcp connections.
(Matthieu Herrb, Harold L Hunt II)
- Fix repeated key strokes. (Ivan Pascal)
- Fix synchronization of mode key states between X and Win32.
(Takuma Murakami)
- Enable remapping of mouse buttons. (Takuma Murakami)
- Enable copying and pasting of non-ascii characters in Windows
95/98/Me. (Kensuke Matsuzaki)
- Fix multiple crashes in the clipboard code. (Kensuke Matsuzaki,
Harold L Hunt II)
- Automatic keyboard layouts for the most frequently used keyboard
layouts. (Alexander Gottwald)
- Fix problem with TweakUI's focus-follows-mouse behavior. (Harold L Hunt II)
- Fix problem with TweakUI's and the AltGr key. (Harold L Hunt II)
- Built in SHM support with detection of the SHM engine (cygserver).
(Ralf Habacker, Harold L Hunt II)
- expat, freetype2, fontconfig, libXft, and xterm are now built and
distributed separately from the monolithic packages. (Gerrit
P. Haase, Harold L Hunt II, Alexander Gottwald, Nicholas Wourms)
- Merged in work on the NativeGDI engine. (Alan Hourihane)
3.3. Video Driver Enhancements
- Several stability issues with the support for the Intel 830M,
845G, 852GM, 855GM and 865G integrated graphics chipsets have been
fixed. Some limitations related to the driver's use of the video
BIOS remain, especially for some laptops.
- The nv driver for NVIDIA cards has been updated as follows:
- Support added to the nv driver for the GeForce FX 5700,
which didn't work with XFree86 4.3.
- The driver now does a much better job of auto-detecting
which connector of dual output cards the monitor is
attached to, and this should reduce or eliminate the
need for manual xorg.conf overrides.
- The 2D acceleration for TNT and GeForce has been completely
rewritten and its performance should be substantially
improved.
- TNT and GeForce cards have a new Xv PutImage adaptor which
does scaled YUV bit blits.
- The SiS driver has seen major updates, including:
- Support for 661/741/760 and support for 330 (Xabre).
- Merged Framebuffer mode.
- Support for DVI, and much more.
- DRI for 300 series (300/305, 540, 630, 730) is supported
again.
- A new driver for several VIA integrated graphics chipsets has been added.
- Various updates and bug fixes have been made to most other drivers.
3.4. Input Driver Enhancements
- The mouse driver has some support on Linux and FreeBSD for
auto-detecting which device node to use. This makes it unnecessary
to supply this information in the xorg.conf file in most cases.
3.5. IPv6 support
X11R6.7.0 supports IPv6, based on the code contributed by Sun
Microsystems, Inc. to X.Org. See X.Org's document for a detailed list
of what these changes are and how your system is affected by them.
Note that in most environments script kiddies have generated sniffer
scripts that will easily grab passwords on a network. By default,
therefore, many software vendors now ship X with remote access disabled.
Unless you are confident of your network, direct use of IPv6 (or, for
that matter, IPv4) over the network to your X server is not
recommended; instead, we recommend the use of ssh ("ssh -X -C") to
provide strong cryptography (and possibly compression) for network
transparent use of X. Work is beginning to address this with a more
fully integrated encryption scheme that would avoid the extra process
context switches and improve performance over ssh (how much is
unknown).
3.5.1. Protocol names and aliases.
- tcp is an alias for both IPv6 and IPv4 transports.
- inet specifies IPv4 only.
- inet6 specifies IPv6 only.
You can force the X server to only listen to IPv4 connections with the
X -nolisten inet6
command or you can force a IPv6 connection
by setting DISPLAY to inet6/host:0
.
3.5.2. XDM
The IPv6 XDMCP code is not enabled by default on platforms that don't
support binding a IPv6 socket to a IPv4 address.
The XDM-AUTHORIZATION-1 authentication scheme does not support IPv6
addresses but a new release of the protocol, XDM-AUTHORIZATION-2 has
been designed; this though is yet to be implemented. By default
builds do not enable the XDM-AUTHORIZATION-1 code.
3.5.3. ServerInterpreted host authentication
The ServerInterpreted host family was added in response to comments received
during the X11 over IPv6 standards public review period. This family allows
registration of new subtypes and implementation of them by modifications
solely to the X server, without having to modify clients such as xhost or the
Xlib or X protocol standards. In the initial X11R6.7.0 release, two
subtypes are supported - "hostname" for hostnames resolved by the
server at connection time to better support dynamic DNS & mobile
IP, and "ipv6" to allow IPv6 literal addresses, including in the future,
scoped addresses. For more information on these features, see the
xhost manual page, X11 Protocol and Xlib standards, and the documents
in xc/doc/specs/SIAddresses.
3.6. X Server and Extension Updates
- The Mesa version used for OpenGL® 1.3 and DRI driver support
has been updated to 5.0.2.
3.7. Client and Library Updates
3.7.1. Xterm
The user-visible changes to xterm since XFree86 4.3 are:
Bug Fixes:
- Make signalInhibit resource work, i.e., disable the menu
entries that would send signals to, or exit xterm.
- Make cursor definition in tek4014 emulation work as originally
implemented.
- Modify translations for scrollbar so that one can use
shifted pageup, wheel mouse, etc., while the mouse
pointer is over the scrollbar.
- Correct initialization of G1 character set mapping.
New Features:
- Modify the predictable version of the generated logfile
name to append the process-id rather than a random value.
- Modify scroll-back and scroll-forw actions to accept an
adjustment value, e.g.,
scroll-back(1, page-2)
to
scroll back by 2 lines less than a page.
- Add visualBellDelay resource to modify the length of
time used for visual bell, for very slow displays or
very fast computers.
Improved Locale Support:
- modify uxterm script to strip modifiers such as "@euro" from the
locale setting before adding ".UTF-8".
- Add logic to wide-character support which attempts to
load fonts specified by utf8Fonts subresources at startup.
The subresources have the same names as the fonts which
they replace, e.g., font, font1, etc., so that the
ISO-10646-1 fonts can be specified in the XTerm
app-defaults file.
- Improved performance with chinput application.
Improved Font Handling:
- Document in xterm's manual page how to use XFree86 ":unscaled"
keyword to suppress scaling of bold fonts.
- Improved logic for deriving bold fontname from normal
fontname.
- Make double-width characters work with -u8 option.
- Updated table of Unicode line-drawing characters.
- Several fixes for rendering using Xft (option -fa):
- Make height of TrueType fonts match ascent+descent.
- Translate Unicode values (from UTF-8 output to
xterm) for line-drawing to xterm's internal
code, etc., since TrueType fonts generally do
not have either set of line-drawing glyphs.
xterm can draw these directly.
- Pass 16-bit values rather than 8-bit values to
xtermXftDrawString() to allow for wide-characters.
- Use built-in line-drawing characters for Xft fonts.
- Implement underlining.
- Implement boldMode for wide-characters.
- Modified to work with CJK double-width (bi-width/monospace)
fonts.
Workarounds for Special Applications:
- Add option -k8 and resource allowC1Printable to allow
users of non-VTxxx character sets such as KOI-8 to treat
the C1 control area (character codes 128-159) as printable
rather than control characters.
- Add configure option --enable-broken-st and resource
brokenStringTerm to allow user to revert one part of
the parsing table corrections.
- Add configure option --enable-broken-osc and resource
brokenLinuxOSC to accommodate scripts which do not
distinguish between running in the Linux console and
running in X. Linux console recognizes malformed control
strings which start with an OSC, but are fixed-length,
with no terminator.
- Add configure option --enable-pty-handshake to allow
one to compile-in support for the pty handshaking logic,
and resource ptyHandshake to enable or disable it. This
feature is normally enabled.
Modified Resources:
- Change color4 to "dodger blue", since this provides
better contrast.
- Remove color resources from XTerm.ad, leaving them only
in XTerm-col.ad
- Modify UXTerm.ad resource file to include "XTerm-color"
rather than "XTerm", in case the latter file contains
no color resource definitions.
- Changed class of veryBoldColors to VeryBoldColors, since
ColorMode is associated with boolean resources.
- Changed classes of colorBDMode and similar resources
that override colors when a video attribute is set to
ColorAttrMode, to make them distinct from ColorMode.
This avoids an unexpected rendering of reverse video,
for example.
Modified terminfo/termcap entries:
- Add indp and rin to terminfo entry.
- Add le to termcap xterm-basic entry. Though missing
from older termcaps for xterm, some applications check
for it.
- Correct AF/AB strings in termcap for xterm-256color and
xterm-88color entries.
3.8. I18N and Font Updates
- The "freetype" X server font backend has been updated by the
After X-TT Project to
include the functionality previously provided by the "xtt" backend,
and to fix some bugs. The "xtt" backend will be dropped in the
next release in favour of the updated unified "freetype" backend.
- The new "freetype" backend has the improved "very lazy" metric
calculation method which enables super-fast loading of
proportional CJKV fonts.
- All of the servers, including xfs, Xnest, Xprt, Xvfb, the
Cygwin-X server (as well as the Xorg server)
can handle the perfect TTCap options.
- The Compose file processing mechanism has been improved and made
more flexible. See the
Xlib Compose file support and extensions section below.
- The Bitstream Vera TrueType fonts that Bitstream, Inc donated to
the GNOME Foundation have been included with this release.
3.9. OS Support Updates
- On Mac OS X, the appropriate backend drawing code is now dynamically
loaded at runtime which reduces the X server's memory footprint.
In rootless mode, Apple's Xplugin library is used where available.
(Xplugin is included as part of Mac OS X on Panther.) With Xplugin,
XDarwin provides identical performance to Apple's X11, including
the following improvements over 4.3:
- Added direct GLX rendering with thread support.
- Faster 2-D drawing.
- Added support for the Apple-WM extension so XDarwin interoperates
with quartz-wm.
- On Darwin, IOKit mode now uses shadowfb for much faster drawing.
- Various GNU/Hurd support updates.
- Experimental support added for GNU/KFreeBSD and GNU/KNetBSD systems.
- SCO OpenServer support updates. X11R6.7 now works on Release
5.0.7 with Maintenance Pack 1, or on prior releases through Release
5.0.4. Please consult the README.SCO
file for details.
Release Notes for X11R6.7.0
: Summary of new features in 6.7.0.
Previous: Introduction to the XFree86 4.x Release Series
Next: Drivers