Release Notes for XFree86[tm] 4.4.0 : Summary of new features in 4.4.0.
Previous: Introduction to the 4.x Release Series
Next: Drivers

## 2. Summary of new features in 4.4.0.

This is a sampling of the new features in XFree86 4.4.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.

### 2.1. Security Updates

The following security issues have been fixed in this release:

- Fixes for potential integer overflows in font libraries. (CAN-2003-0730)
- Better pseudo-random number generation for XDM session cookies. (CAN-2003-0692)
- Check for failure of the pam_setcred() function in xdm session initialization. (CAN-2003-0690)
- Font file buffer overlows. (CAN-2004-0083, CAN-2004-0084 and CAN-2004-0106)

### 2.2. 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 XF86Config 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.

### 2.3. 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 XF86Config file in most cases.

### 2.4. IPv6 support

XFree86 4.4 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.

#### 2.4.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`.

#### 2.4.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 XFree86 builds do not enable the XDM-AUTHORIZATION-1 code.

### 2.5. X Server and Extension Updates

- The Mesa version used for OpenGL® 1.3 and DRI driver support has been updated to 5.0.2.

### 2.6. Client and Library Updates

#### 2.6.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.

### 2.7. I18N and Font Updates

- FreeType2 updated to version 2.1.4.
- 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-XFree86 server (as well as the XFree86 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.

### 2.8. 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. XFree86 4.4 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 XFree86[tm] 4.4.0 : Summary of new features in 4.4.0.
Previous: Introduction to the 4.x Release Series
Next: Drivers