Release Notes for XFree86[tm] 4.4.0
The XFree86 Project, Inc
3 March 2004
Abstract
This document contains information about features and their status
in XFree86 4.4.0.
1. Introduction to the 4.x Release Series
XFree86 4.0 was the first official release of the new XFree86 4 series. The
current release (4.4.0) is the latest in that series. XFree86 4 represents a
significant redesign of the XFree86 X server, with a strong focus on modular-
ity and clean interfaces compared with the previous XFree86 3.x series.
XFree86 4.4 introduces an automatic configuration mechanism for the XFree86
server which makes it now possible to start XFree86 without first creating a
configuration file. The initial automatic configuration support is targeted
towards Linux and FreeBSD and it is hoped that automatic configuration will
be supported on other platforms in future releases.
If you are running either Linux or FreeBSD, try it out if you do not already
have a working XF86Config file. If you want to customise 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 customisa-
tions there.
If you do not have any luck with automatic configuration, or you are using a
platform that is not currently supported, try one of the older methods for
getting started.
XFree86 comes with a graphical configuration tool called "xf86cfg", which
also has a text mode interface and can be used to create an initial configu-
ration file. It can also be used to customise existing configurations.
Next in the order of configuration preferences is to use the XFree86 server's
ability to create a starting configuration file. Run as root:
XFree86 -configure
and 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.
At least one, and hopefully, all of these configuration options will give you
a reasonable starting point for a suitable configuration file. With the
automatic mechanism you might even find that you don't need one!
If you do need to customise the configuration file, see the XF86Config manual
page. You can also check the driver-specific manual pages and the related
documentation (found at tables below (section 3., page 1) also.
Before downloading the binary distributions for this release, please have a
quick read through the Installation Document. It may save you some time and
also help you figure out which of the binary releases you need.
The next section describes what is new in the latest version (4.4.0) compared
with the previous full release (4.3.0). The other sections below describe
some of the new features and changes between 3.3.x and 4.0. There are lot's
of new features, and we definitely don't have enough space to cover them all
here.
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
<URL:http://cvsweb.xfree86.org/cvsweb/xc/pro-
grams/Xserver/hw/xfree86/CHANGELOG?rev=HEAD>.
2.1 Security Updates
The following security issues have been fixed in this release:
o Fixes for potential integer overflows in font libraries.
(CAN-2003-0730)
o Better pseudo-random number generation for XDM session cookies.
(CAN-2003-0692)
o Check for failure of the pam_setcred() function in xdm session initial-
ization. (CAN-2003-0690)
o Font file buffer overlows. (CAN-2004-0083, CAN-2004-0084 and
CAN-2004-0106)
2.2 Video Driver Enhancements
o 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.
o The nv driver for NVIDIA cards has been updated as follows:
o Support added to the nv driver for the GeForce FX 5700, which
didn't work with XFree86 4.3.
o The driver now does a much better job of auto-detecting which con-
nector of dual output cards the monitor is attached to, and this
should reduce or eliminate the need for manual XF86Config over-
rides.
o The 2D acceleration for TNT and GeForce has been completely rewrit-
ten and its performance should be substantially improved.
o TNT and GeForce cards have a new Xv PutImage adaptor which does
scaled YUV bit blits.
o The SiS driver has seen major updates, including:
o Support for 661/741/760 and support for 330 (Xabre).
o Merged Framebuffer mode.
o Support for DVI, and much more.
o DRI for 300 series (300/305, 540, 630, 730) is supported again.
o A new driver for several VIA integrated graphics chipsets has been
added.
o Various updates and bug fixes have been made to most other drivers.
2.3 Input Driver Enhancements
o The mouse driver has some support on Linux and FreeBSD for auto-detect-
ing 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 <URL:http://www.x.org/IPV6_Spe-
cific_Changes.html> for a detailed list of what these changes are and how
your system is affected by them.
2.4.1 Protocol names and aliases.
o tcp is an alias for both IPv6 and IPv4 transports.
o inet specifies IPv4 only.
o 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 DIS-
PLAY 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
o 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:
o Make signalInhibit resource work, i.e., disable the menu entries that
would send signals to, or exit xterm.
o Make cursor definition in tek4014 emulation work as originally imple-
mented.
o Modify translations for scrollbar so that one can use shifted pageup,
wheel mouse, etc., while the mouse pointer is over the scrollbar.
o Correct initialization of G1 character set mapping.
New Features:
o Modify the predictable version of the generated logfile name to append
the process-id rather than a random value.
o 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.
o Add visualBellDelay resource to modify the length of time used for
visual bell, for very slow displays or very fast computers.
Improved Locale Support:
o modify uxterm script to strip modifiers such as "@euro" from the locale
setting before adding ".UTF-8".
o Add logic to wide-character support which attempts to load fonts speci-
fied 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.
o Improved performance with chinput application.
Improved Font Handling:
o Document in xterm's manual page how to use XFree86 ":unscaled" keyword
to suppress scaling of bold fonts.
o Improved logic for deriving bold fontname from normal fontname.
o Make double-width characters work with -u8 option.
o Updated table of Unicode line-drawing characters.
o Several fixes for rendering using Xft (option -fa):
o Make height of TrueType fonts match ascent+descent.
o Translate Unicode values (from UTF-8 output to xterm) for line-
drawing to xterm's internal code, etc., since TrueType fonts gener-
ally do not have either set of line-drawing glyphs. xterm can draw
these directly.
o Pass 16-bit values rather than 8-bit values to xtermXftDrawString()
to allow for wide-characters.
o Use built-in line-drawing characters for Xft fonts.
o Implement underlining.
o Implement boldMode for wide-characters.
o Modified to work with CJK double-width (bi-width/monospace) fonts.
Workarounds for Special Applications:
o 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.
o Add configure option --enable-broken-st and resource brokenStringTerm to
allow user to revert one part of the parsing table corrections.
o 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 con-
trol strings which start with an OSC, but are fixed-length, with no ter-
minator.
o 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:
o Change color4 to "dodger blue", since this provides better contrast.
o Remove color resources from XTerm.ad, leaving them only in XTerm-col.ad
o Modify UXTerm.ad resource file to include "XTerm-color" rather than
"XTerm", in case the latter file contains no color resource definitions.
o Changed class of veryBoldColors to VeryBoldColors, since ColorMode is
associated with boolean resources.
o Changed classes of colorBDMode and similar resources that override col-
ors when a video attribute is set to ColorAttrMode, to make them dis-
tinct from ColorMode. This avoids an unexpected rendering of reverse
video, for example.
Modified terminfo/termcap entries:
o Add indp and rin to terminfo entry.
o Add le to termcap xterm-basic entry. Though missing from older termcaps
for xterm, some applications check for it.
o Correct AF/AB strings in termcap for xterm-256color and xterm-88color
entries.
2.7 I18N and Font Updates
o FreeType2 updated to version 2.1.4.
o The "freetype" X server font backend has been updated by the After X-TT
Project <URL:http://x-tt.sourceforge.jp/> 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.
o The new "freetype" backend has the improved "very lazy" metric cal-
culation method which enables super-fast loading of proportional
CJKV fonts.
o All of the servers, including xfs, Xnest, Xprt, Xvfb, the Cygwin-
XFree86 server (as well as the XFree86 server) can handle the per-
fect TTCap options.
o The Compose file processing mechanism has been improved and made more
flexible. See the Xlib Compose file support and extensions section
below (section 5.20, page 1).
o The Bitstream Vera TrueType fonts that Bitstream, Inc donated to the
GNOME Foundation have been included with this release.
2.8 OS Support Updates
o 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. (Xplu-
gin 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:
o Added direct GLX rendering with thread support.
o Faster 2-D drawing.
o Added support for the Apple-WM extension so XDarwin interoperates
with quartz-wm.
o On Darwin, IOKit mode now uses shadowfb for much faster drawing.
o Various GNU/Hurd support updates.
o Experimental support added for GNU/KFreeBSD and GNU/KNetBSD systems.
o 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.
3. Drivers
3.1 Video Drivers
XFree86 4.4.0 includes the following video drivers:
+--------------+--------------------------+---------------------------------------------+
|Driver Name | Description | Further Information |
+--------------+--------------------------+---------------------------------------------+
|apm | Alliance Pro Motion | README.apm |
|ark | Ark Logic | |
|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 | |
|via | VIA | via(4) |
|vesa | VESA | vesa(4) |
|vga | Generic VGA | vga(4) |
|vmware | VMWare guest OS | vmware(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.
XFree86 4.4.0 includes the following input drivers:
3.2 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 | |
|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) |
|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.
4. Known Problems
o Known issues with this version of the SiS driver:
o The driver will not work with upcoming laptops/notebooks with
661/741/760 and 30xLV bridges as regards LCD output. This is due
folks at SiS at the very moment writing an entirely new VBIOS for
such machines whose data layout is not decided yet. (This might
affect machines with 650/740 as well within the next year.)
o Xv does not work correctly in TV NTSC 1024x768 mode, if the overlay
is very large (or full screen). The effect are flickering lines on
the screen. This is a hardware problem. Do not use this mode for
video.
o YPbPr 720p output is blurry (at least at 1024x768; unknown for
other modes). This is a driver problem; solution currently unknown.
o We have received a late report that enabling DPMS support with the
radeon driver can damage some Viewsonic monitors. DPMS is usually dis-
abled by default. You can verify whether or not DPMS is enabled by run-
ning 'xset q' from within your X session.
5. 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.4.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.
5.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.
A main benefit of this, is that when modules are updated, they do not need to
be recompiled for every different operating system. The loader in version
4.4.0 has support for Intel (x86), Alpha and PowerPC platforms. It also has
preliminary support for Sparc platforms.
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.
5.2 Configuration File
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.
5.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.
5.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.
5.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).
5.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 Most window managers are not 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.
5.7 DGA version 2
DGA 2.0 is included in 4.4.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.
5.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 can
use this information to set the default monitor parameters, or to warn about
monitor sync limits if those provided in the configuration file don't match
those that are detected.
5.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.
5.9 GLX and the Direct Rendering Infrastructure (DRI)
Direct rendered OpenGL? support is provided for several hardware platforms by
the Direct Rendering Infrastructure (DRI). Further information about DRI can
be found at the DRI Project's web site <URL:http://dri.sf.net/>. The 3D core
rendering component is provided by Mesa <URL:http://www.mesa3d.org>.
5.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.
5.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.4.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.
5.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.
5.11.2 FreeType support in Xft
XFree86 4.4.0 includes sources for FreeType version 2.1.4, and, by default,
they are built and installed automatically.
5.11.3 Application Support For Anti-Aliased Text
Only three applications have been modified in XFree86 4.4.0 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.
5.12 Other extensions
The XFree86-Misc extension has not been fully ported to the new server archi-
tecture yet. This should 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.
5.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.
5.14 Font support
Details about the font support in XFree86 4.x can be found in the
README.fonts document.
5.15 TrueType support
XFree86 4.x comes with two TrueType backends, known as "FreeType" backend
(the "freetype" module) and `X-TrueType' (the "xtt" module). Both of these
backends are based on the FreeType library. The functionality of X-TrueType
has been merged into the FreeType backend by the After X-TT Project for
XFree86 4.4. Consequently, the old X-TrueType backend will be dropped as of
XFree86 4.5.
5.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.
5.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 uses fonts in encodings other than their their native encoding. This
layer is used by the Type1 and Speedo backends and the `xfsft' version of the
TrueType backend. The `X-TrueType' version of the TrueType backend uses a
different re-encoding method based on loadable encoding modules.
5.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.
5.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 Both the xfsft (the "freetype" module) and the X-TrueType (the "xtt"
module) TrueType font backends support Unicode-encoded fonts.
5.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.
5.21 Luxi fonts from Bigelow and Holmes
XFree86 now 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>.
6. Credits
This section lists the credits for the XFree86 4.4.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:
IPv6 support:
Alan Coopersmith, Fabio Massimo Di Nitto, Marc Aurele
La France, Matthieu Herrb, David H. Dawes.
NVIDIA 'nv' driver rewrite:
Mark Vojkovich.
SiS driver development:
Thomas Winischhofer.
New VIA video driver:
VIA, Alan Cox, Luc Verhaegen, Thomas Hellstr?m.
Intel 'i810' driver fixes and stability improvements:
Egbert Eich, David H. Dawes, Christian Zietz
Improved and more flexible Compose system:
Ivan Pascal.
Automatic configuration for the XFree86 server:
David H. Dawes.
Reworked FreeType font backend module:
Chisato Yamauchi and the After X-TT Project.
Xterm fixes, maintenance and enhancements:
Thomas E. Dickey.
Mac OS X enhancements:
Torrey T. Lyons, John Harper.
GNU/Hurd updates and preliminary GNU/KFreeBSD and GNU/KNetBSD
support:" Robert Millan.
SCO support updates:
Kean Johnston.
Bitstream Vera fonts:
Bitstream, Inc, and the GNOME Foundation.
Integration:
General Integration of Submissions:
Egbert Eich, David H. Dawes, Ivan Pascal, Alan Houri-
hane, Matthieu Herrb.
DRI Integration:
Alan Hourihane.
Release Engineering:
David H. Dawes.
Patches and other submissions (in alphabetical order):
Roi a Torkilsheyggi, Dave Airlie, Andrew Aitchison, Marco Antonio
Alvarez, Alexandr Andreev, Jack Angel, Eric Anholt, Ani, Juuso
?berg, Sergey Babkin, Alexey Baj, Bang Jun-Young, Uberto Barbini,
Kyle Bateman, Matthew W. S. Bell, Vano Beridze, Hiroyuki Bessho,
Andrew Bevitt, Christian Biere, Martin Birgmeier, Jakub Bogusz,
Le Hong Boi, Paul Bolle, Charl Botha, Stanislav Brabec, Eric
Branlund, Rob Braun, Peter Breitenlohner, Michael Breuer, Kevin
Brosius, Frederick Bruckman, Oswald Buddenhagen, Nilgün Belma
Bugüner, Julian Cable, Yukun Chen, Ping Cheng, Juliusz
Chroboczek, Fred Clift, Alan Coopersmith, Martin Costabel, Alan
Cox, Michel D?nzer, David Dawes, Leif Delgass, Richard Dengler,
John Dennis, Thomas Dickey, Randy Dunlap, Chris Edgington, Paul
Eggert, Paul Elliott, Emmanuel, Visanu Euarchukiati, Mike Fabian,
Rik Faith, Brian Feldman, Wu Jian Feng, Kevin P. Fleming, Jose
Fonseca, Hugues Fournier, Miguel Freitas, Quentin Garnier, B?rre
Gaup, Michael Geddes, Frank Giessler, Hansruedi Glauser, Wolfram
Gloger, Alexander Gottwald, Guido Guenther, Ralf Habacker, Bruno
Haible, Lindsay Haigh, John Harper, James Harris, Mike A. Harris,
Bryan W. Headley, John Heasley, Thomas Hellstr?m, Matthieu Herrb,
Jonathan Hough, Alan Hourihane, Joel Ray Holveck, Harold L Hunt
II, Ricardo Y. Igarashi, Mutsumi ISHIKAWA , Tsuyoshi ITO, Kean
Johnston, Nicolas JOLY, Phil Jones, Roman Kagan, Theppitak
Karoonboonyanan, Etsushi Kato, Koike Kazuhiko, Aidan Kehoe, Juer-
gen Keil, Andreas Kies, Thomas Klausner, Mario Klebsch, Egmont
Koblinger, Vlatko Kosturjak, Kusanagi Kouichi, Mel Kravitz, Peter
Kunzmann, Nick Kurshev, Mashrab Kuvatov, Marc La France, Radics
Laszlo, Zarick Lau, Nolan Leake, Michel Lespinasse, Noah Levitt,
Dave Love, H.J. Lu, Lubos Lunak, Sven Luther, Torrey T. Lyons,
Calum Mackay, Paul Mackerras, Roland Mainz, Kevin Martin, Michal
Maruska, Kensuke Matsuzaki, maxim, Stephen McCamant, Ferris
McCormick, Luke Mewburn, Nicholas Miell, Robert Millan, Hisashi
MIYASHITA, Gregory Mokhin, Patrik Montgomery, Joe Moss, Josselin
Mouette, Frank Murphy, Reiko Nakajima, Paul Nasrat, Dan Nelson,
Bastien Nocera, Alexandre Oliva, Hideki ONO, Peter Osterlund,
Sergey V. Oudaltsov, Séamus ó Ciardhuáin, Bob Paauwe, Paul
Pacheco, Tom Pala, Ivan Pascal, T. M. Pederson, Earle F. Phil-
hower III, Nils Philippsen, Manfred Pohler, Alexander Pohoyda,
Alain Poirier, Arnaud Quette, Jim Radford, Dale Rahn, Lucas Cor-
reia Villa Real, René Rebe, Tyler Retzlaff, Sebastian Rittau, Tim
Roberts, Alastair M. Robinson, Branden Robinson, Daniel Rock, Ian
Romanick, Bernhard Rosenkraenzer, M?ns Rullg?rd, Andriy Rysin,
Supphachoke Santiwichaya, Pablo Saratxaga, Matthias Scheler, Jens
Schweikhardt, Danilo Segan, Shantonu Sen, Stas Sergeev, Jungshik
Shin, Nikola Smolenski, Andreas Stenglein, Paul Stewart, Alexan-
der Stohr, Alan Strohm, Will Styles, James Su, Mike Sulivan,
Ville Syrjala, Slava Sysoltsev, Akira TAGOH, Toshimitsu Tanaka,
Akira Taniguchi, Owen Taylor, Neil Terry, Jonathan Thambidurai,
John Tillman, Adam Tlalka, Linus Torvalds, Christian Tosta, War-
ren Turkal, Stephen J. Turnbull, Ted Unangst, Mike Urban, Simon
Vallet, Thuraiappah Vaseeharan, Luc Verhaegen, Yann Vernier,
Michail Vidiassov, Sebastiano Vigna, Mark Vojkovich, Stephane
Voltz, Boris Weissman, Keith Whitwell, Thomas Winischhofer, Eric
Wittry, Kim Woelders, Roy Wood, Jason L. Wright, Joerg Wunsch,
Chisato Yamauchi, Hui Yu.
Docbook/XML conversion:
John Himpel and the XFree86 documentation team.
Webmaster:
Georgina O. Economou
Hosting:
Internet Systems Consortium, Inc <URL:http://www.isc.org/>.
7. Attributions/Acknowledgements
This product includes software developed by The XFree86 Project, Inc
(http://www.xfree86.org/) and its contributors.
This produce 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.116.2.3 dawes Exp $
Installation Details for XFree86[tm] 4.4.0
The XFree86 Project, Inc
23 February 2004
Abstract
How to install XFree86.
1. Introduction
This document contains information about installing the XFree86 binaries pro-
vided by The XFree86 Project.
The XFree86 binaries that we provide for UNIX-like OS's (Linux, the BSDs,
Solaris, etc) are packaged in a platform-independent gzipped tar format (aka
"tarballs" identified by the .tgz suffix). Along with the binaries we pro-
vide a customized version of the GNU tar utility called "extract" and an
installation script. We recommend that these be used to install the bina-
ries. (The source for this customized version of GNU tar can be found in the
XFree86 CVS repository's "utils" module, and from our ftp site
<URL:ftp://ftp.xfree86.org/pub/XFree86/misc/utils-1.1.2.tgz>.)
2. Downloading the XFree86 4.4.0 binaries
We provide XFree86 4.4.0 binaries for a range of operating systems at our ftp
site <URL:ftp://ftp.xfree86.org/pub/XFree86/4.4.0/binaries/> and our web site
<URL:http://ftp.xfree86.org/pub/XFree86/4.4.0/binaries/>. Often during
releases our site is heavily loaded. Instead of downloading directly from us
we recommend that instead you use one of our mirror sites.
Our binaries are organized by sub-directories which correspond to each of the
OS/platforms for which we provide binaries. First go to the sub-directory
that represents your OS platform. In some cases (e.g., Linux) there may be a
number of choices depending on the architecture or libc version your platform
uses. In all case we recommend that you first download the Xinstall.sh
script, and run it as in the following example to find out which binary dis-
tribution you should download.
sh Xinstall.sh -check
The output of this utility tells you which is the correct set of binaries for
you to download. If you are careful with this step you will save yourself a
lot time and trouble from NOT downloading an incompatible distribution.
NOTES:
o The Xinstall.sh script must be downloaded in binary mode, otherwise it
will not run correctly. If you get lots of "command not found" mes-
sages when you try to run it, then it is most likely because the script
was not downloaded in binary mode. Some web browsers will not do this
for files of that name, so we also have a copy of it called "Xin-
stall.bin", and most browsers should download that correctly. When
downloading it under this name, select "save as" on your browser, and
save the file under the name "Xinstall.sh".
o The Xinstall.sh script requires some system commands and utilities to
function correctly. While most systems will have these, some Linux
installations may not. If the script fails because of some missing sys-
tem command, you need to install it before you can continue. If you do
not know how to do this, then we recommend that you obtain this version
of XFree86 from your Operating System distributor.
o Always use the version of the Xinstall.sh script that is provided with
the release. Older versions of the script may not install newer
releases correctly.
o If the binary distribution reported by the Xinstall.sh script is not
present on the XFree86 site, then there are two possibilities: first is
that it has not uploaded yet. This is likeliest possibility if you are
looking shortly after the release date. The second possibility is that
your target will not be be available at for this release. This is like-
liest possibility if you are looking about two weeks after the release
date. Check here <URL:http://www.xfree86.org/4.4.0/UPDATES.html> for
information about updates to our binary distributions, and here
<URL:http://www.xfree86.org/4.4.0/ERRATA.html> for errata related to
this release.
Assuming that you have run the Xinstall.sh script and found the binary dis-
tribution suitable for your system, download the necessary files. The twelve
(12) mandatory files for all installations are listed below. The installer
script will complain if you do not have all four (4) files in the same direc-
tory.
1. Xinstall.sh The installer script
2. extract The utility for extracting tarballs
3. Xbin.tgz X clients/utilities and run-time libraries
4. Xlib.tgz Some data files required at run-time
5. Xman.tgz Manual pages
6. Xdoc.tgz XFree86 documentation
7. Xfnts.tgz Base set of fonts
8. Xfenc.tgz Base set of font encoding data
9. Xetc.tgz Run-time configuration files
10. Xvar.tgz Run-time data
11. Xxserv.tgz XFree86 X server
12. Xmod.tgz XFree86 X server modules
NOTES:
o Some web browsers have a problem downloading the extract utility cor-
rectly. If you encounter this problem, download the version called
extract.exe. (NOTE: This is not a MS-DOS/Windows executable.)
o Some distributions do not require the Xvar.tgz tarball. If it is
present in the binaries sub-directory for your platform, then it is
required.
o The Darwin/Mac OS X distribution do not have or require the Xmod.tgz
tarball.
o Some distributions may have additional mandatory tarballs. While rare,
the installer script will tell you if any are missing.
The following eleven (11) tarballs are optional. You should download the
ones you want to install.
1. Xdrm.tgz Source for DRM kernel modules
2. Xfsrv.tgz Font server
3. Xnest.tgz Nested X server
4. Xprog.tgz X header files, config files and compile-time libs
5. Xprt.tgz X Print server
6. Xvfb.tgz Virtual framebuffer X server
7. Xf100.tgz 100dpi fonts
8. Xfcyr.tgz Cyrillic fonts
9. Xfscl.tgz Scalable fonts (Speedo, Type1 and TrueType)
10. Xhtml.tgz HTML version of the documentation
11. Xps.tgz PostScript version of the documentation
12. Xpdf.tgz PDF version of the documentation
13. Xjdoc.tgz Documentation in Japanese
NOTES:
o Some distributions may have some additional optional tarballs.
If you miss some and want to install them later, go to the Manual Installa-
tion (section 4., page 1) section.
3. Installing XFree86 4.4.0 using the Xinstall.sh script
We strongly recommend that our XFree86 4.4.0 binaries be installed using the
Xinstall.sh script we provide. There are a lot of steps in the manual
installation process, and those steps can vary according to the platform and
hardware setup. There is a description of the manual installation process
for the most common cases below (section 4., page 1).
You must login as the super user (root) to run the installer script and place
all of the downloaded files into a single directory. Use the cd command to
change to the chosen directory and run the installer script as follows:
sh Xinstall.sh
Answer the prompts as they come up. If you are missing something that is
required, the installer may tell you to install it before trying again. If
the problem is that you did not download all of mandatory files aforemen-
tioned, then the installer will tell you which ones are missing and ask you
to download them before proceeding.
3.1 Questions the installer may ask
The installer asks some questions that may not have obvious answers. The
information here should help you answer them. In most cases, apart from the
first question, the default answers should be OK.
If you run the installer from within an X session (the installer checks if
$DISPLAY is set), you will be warned that doing so is not a good idea.
Unless you have a good reason for knowing that this will not be a problem,
you should exit your X session, including stopping xdm or equivalent if it is
running, before continuing. If you ignore this warning and run into prob-
lems, well, you were warned!
If you have an existing X installation, you will be warned that proceeding
with this installation will overwrite it. Only those things that are part of
our standard distribution will be overwritten. Other X applications that you
may have installed will not be removed. Some configuration files may be
overwritten though, but the installer should prompt you before doing so. As
the opening greeting says, it is strongly recommended that you backup any
existing installation before proceeding. If you want your old applications
to still be there after you've installed, do not do the "backup" by simply
renaming your old /usr/X11R6 directory. It is better to make a copy of it,
and then install over the top of the original one. If you run into problems
and want to revert to the old installation, you can then delete the overwrit-
ten one and copy the saved version back.
During the first part of the installation over an existing version, the
script may remove some old files or directories that would get in the way of
the new installation. It will list which files/directories have been
removed. If none are listed, then none were removed.
The next step when installing over an existing version is to check for exist-
ing configuration files. As of XFree86 version 3.9.18, the run-time configu-
ration files are installed by default under /etc/X11 instead of under
/usr/X11R6/lib/X11. The installer will move the existing ones for you and
create the necessary symbolic links. If you do not want to have these con-
figuration files under /etc/X11, then you should answer "no" when asked about
it. Answering "no" here also means that the new configuration files will be
installed in the old /usr/X11R6/lib/X11 location.
Note: for the rare systems that do not have symbolic links, this question
will not be asked. The default answer is "yes" because that is best for most
situations. It is our new default. It makes it easier to share the
/usr/X11R6 directory between multiple hosts, and allows it to be mounted
read-only. If you do not need these features, then you can safely answer
"no" if you do not want them moved.
When installing over an existing version, you will be prompted before each
set of configuration files is installed. If you haven't made any Customisa-
tions to your existing configuration files, then you can safely answer "yes"
for each of these. If you have made customisations, you can try answering
"no". If you run into problems later, you may need to manually merge your
customisations into the the new version of the configuration files. The con-
figuration files can all be found in the Xetc.tgz tarball. See the section
below (section 4., page 1) about manual installation for information about
extracting them separately.
After the configuration files have been dealt with, the other mandatory com-
ponents of the binary distribution will be installed. This should proceed
without any user intervention.
If you downloaded any of the optional components, the installer will ask you
about each one before it is installed. The default answer is "yes". If
there are any that you've since decided that you do not want to install,
answer "no" when prompted.
After that is done, the main part of the installation is complete. The next
steps are to tidy up some aspects of the installation. The first of these is
to run "ldconfig" on systems that require it, so that the newly installed
shared libraries are accessible. Then the fonts.dir files in some directo-
ries are updated so that the fonts can be accessed correctly. Next, the
installer checks to see if your system has a termcap file or terminfo files.
If it finds the former, it tells you how you may update the entries in that
file. If it finds the latter, it asks you if you want it to update them for
you.
You may be asked if you want to create links for the GL libraries and header
files. The OpenGL standard on some platforms (Linux in particular) says that
these should be installed in the standard system locations (/usr/lib and
/usr/include), so the installer offers to create the appropriate links. If
you're running Linux, you should probably answer yes. For other platforms it
is your choice. If you already have another version of libGL in /usr/lib,
answering "yes" will remove it and replace it with a link to the version we
supply. The installer will show you a listing of any existing versions
before asking if they should be replaced.
Finally, the installer asks you if you want a link created for the rstart
utility. On most modern systems the link isn't essential, so the default
answer is "no". Answer "yes" if you know that you need it. If you find
later that you need it, you can create it easily by running:
rm -f /usr/bin/rstartd
ln -s /usr/X11R6/bin/rstartd /usr/bin/rstartd
3.2 After the installation is complete
The next step is to configure the X server. That is covered in detail in an
as-yet unwritten document :-(. In the meantime, there are three ways to cre-
ate a basic X server configuration file for XFree86 4.4.0. One is to run the
xf86config utility. Another is to run the xf86cfg utility. The third option
is to use the new -configure X server option:
XFree86 -configure
Note that if you are running Darwin/Mac OS X, there is no step 3 :-). You
should skip this step, as configuration is not required or possible. The X
server configuration file is not used on Darwin/Mac OS X.
The X server config file (XF86Config) format has changed compared to 3.3.x.
Also, its default location is now /etc/X11. Finally, there is now only one X
server for driving video hardware, and it is called "XFree86". Once you're
satisfied with the operation of the new X server, you can safely remove the
old XF86_* and/or XF98_* X server binaries from /usr/X11R6/bin.
After the X server configuration is done, it may be advisable to reboot,
especially if you run xdm (or equivalent) or the font server (xfs).
4. Installing XFree86 4.4.0 manually
This section contains information about manually installing the XFree86 4.4.0
binary distributions. You should only use this method if you know what
you're doing. The information here covers some common cases, but not every
possible case. It also may not be complete or up to date. Use at your own
risk.
Put all of the downloaded files into a single directory (choose some tempo-
rary location with enough space). Become the super user (root). All of the
following commands should be run as root, and they should be run from the
directory that has all of the downloaded files. The "extract" utility should
be used to unpack the tarballs. This is a customised version of GNU tar that
has the gzip code built-in, and which has a different usage when run under
the name "extract". One important thing that extract does that most versions
of tar do not do by default is that it unlinks existing files before writing
new ones. This is important when installing over an existing version of X.
If you choose to use some other utility to extract the tarballs, you're on
your own.
4.1 A new installation
The simplest case is when there is no existing X installation. The installa-
tion procedure for this case is as follows:
chmod +x extract
mkdir /usr/X11R6
mkdir /etc/X11
./extract -C /usr/X11R6 X[a-df-uw-z]*.tgz
./extract -C /usr/X11R6 Xvfb.tgz # If you are installing Xvfb
./extract -C /etc/X11 Xetc.tgz
./extract -C /var Xvar.tgz
ln -s /etc/X11/app-defaults /usr/X11R6/lib/X11
ln -s /etc/X11/fs /usr/X11R6/lib/X11
ln -s /etc/X11/lbxproxy /usr/X11R6/lib/X11
ln -s /etc/X11/proxymngr /usr/X11R6/lib/X11
ln -s /etc/X11/rstart /usr/X11R6/lib/X11
ln -s /etc/X11/twm /usr/X11R6/lib/X11
ln -s /etc/X11/xdm /usr/X11R6/lib/X11
ln -s /etc/X11/xinit /usr/X11R6/lib/X11
ln -s /etc/X11/xsm /usr/X11R6/lib/X11
ln -s /etc/X11/xserver /usr/X11R6/lib/X11
chmod ug-w /usr/X11R6/lib # Make sure the permissions are OK
/sbin/ldconfig /usr/X11R6/lib # For Linux
/sbin/ldconfig -m /usr/X11R6/lib # For FreeBSD, NetBSD, OpenBSD
/usr/X11R6/bin/mkfontdir /usr/X11R6/lib/X11/fonts/misc
4.2 Installing over an old installation
If you have an existing installation of X, you should make a backup copy of
it before installing the new version over the top of it.
Before doing anything else, make sure the extract command is executable, and
also link it to the name "gnu-tar" so that it can be used as a regular tar
command:
chmod +x extract
rm -f gnu-tar
ln extract gnu-tar
The first part of the procedure is to move the old run-time config files from
/usr/X11R6/lib/X11 to /etc/X11. Create /etc/X11 if it doesn't already exist.
For each of the following sub-directories (app-defaults, fs, lbxproxy, prox-
ymngr, rstart, twm, xdm, xinit, xsm, xserver) that you want to move, check
that there is a sub-directory of this name in /usr/X11R6/lib/X11. Create a
sub-directory of the same name under /etc/X11, then copy the files over by
running:
./gnu-tar -C /usr/X11R6/lib/X11/subdir -c -f - . | ./gnu-tar -C /etc/X11/subdir -v -x -p -U -f -
For each subdirectory that is moved, remove the one under /usr/X11R6/lib/X11
and create a symbolic link to the new location:
rm -fr /usr/X11R6/lib/X11/subdir
ln -s /etc/X11/subdir /usr/X11R6/lib/X11
For those subdirectories that didn't already exist under /usr/X11R6/lib/X11,
create one under /etc/X11 and create the symbolic link to it:
mkdir /etc/X11/subdir
ln -s /etc/X11/subdir /usr/X11R6/lib/X11
Once that is done, extract the config files from the Xetc.tgz tarball into a
temporary directory:
mkdir tmpdir
./extract -C tmpdir Xetc.tgz
and then copy each sub-directory over to the installed location:
./gnu-tar -C tmpdir/subdir -c -f - . | ./gnu-tar -C /usr/X11R6/lib/X11/subdir -v -x -p -U -f -
If you have customised any config files in your old installation, you may
want to omit those sub-directories, or copy selected files over by hand.
Once that's done, the main part of the installation can be done:
./extract -C /usr/X11R6 `pwd`/X[a-df-uw-z]*.tgz
./extract -C /usr/X11R6 Xvfb.tgz # If you are installing Xvfb
./extract -C /var Xvar.tgz
chmod ug-w /usr/X11R6/lib # Make sure the permissions are OK
/sbin/ldconfig /usr/X11R6/lib # For Linux
/sbin/ldconfig -m /usr/X11R6/lib # For FreeBSD, NetBSD, OpenBSD
/usr/X11R6/bin/mkfontdir /usr/X11R6/lib/X11/fonts/misc
Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/Install.sgml,v 1.18 dawes Exp $