Release Notes for XFree86[tm] 3.3.2 + patch 2 The XFree86 Project, Inc 24 May 1998 Abstract This document describes the bugs fixed and the features added in XFree86 3.3.2 compared with the 3.3.1 release, It also includes installation instructions for the binary distributions. This version has been updated to include information about the first two public patches for XFree86 3.3.2. It is strongly recommended that anyone using XFree86 update to version 3.3.2 + patch 2. 1. XFree86 and X11R6.3 XFree86 releases starting with the 3.2A beta are based on the X Consortium's X11R6.3 (the final release from the X Consortium). R6.3 is an update to R6.1, and is intended to be compatible with R6.1 and R6 at the source and protocol levels. Binaries should be upward-compatible. X11R6.3 includes some new Xserver extensions: SECURITY, XC-APPGROUP, XpExtension (print extension), and an updated, and standardised version of LBX. X11R6.3 also has new standards, including RX (X Remote Execution MIME type), and a proxy manage- ment protocol. X11R6.3 includes support for gzipped fonts. R6.1 is an update to R6, and is intended to be compatible with R6 at the source and protocol levels. Binaries should be upward-compatible. X11R6.1 includes some new Xserver extensions: DOUBLE-BUFFER, XKEYBOARD and RECORD. What about R6.2? X11R6.2 is the name given to a subset of X11R6.3, which has only the print extension and the Xlib implementation of vertical writing and user-defined character support in addition to those features included in R6.1. 2. OS issues Always check the OS specific README files for special requirements or caveats. Users running Linux should note that Elf is now the only binary type supported for Linux OSs. This means that binaries for ix86/a.out and AXP/ECOFF are not available with this release. 3. What's new in 3.3.2 patch 2? 3.3.2 patch 2 (aka 3.3.2.2) fixes some security bugs, a denial of service Release Notes for XFree86[tm] 3.3.2 + patch 2 1 Release Notes for XFree86[tm] 3.3.2 + patch 2 2 problem with xdm, a few gcc 2.8.x-related build problems and updates scanpci. The security bugs fixed are buffer overruns in the X11, Xt, Xaw and Xmu libraries. This affects xterm and any other setuid-root program that uses these libraries. 4. What's new in 3.3.2 patch 1? 3.3.2 patch 1 (aka 3.3.2.1) fixes some security bugs, and some bugs in xterm. The security bugs fixed are buffer overruns in xterm related to the input- Method, preeditType, and *Keymap resources, and buffer overruns in the Xaw library related to the inputMethod and preeditType resources. The xterm prob- lem represents a security vulnerability for any platform where xterm is installed setuid-root (as is the case for all XFree86 platforms). The Xaw problem represents a security vulnerability for any setuid-root program that uses the Xaw library (including xterm). The other xterm bugs fixed are: o Incorrect utmp handling is fixed. The 3.3.2 version of xterm wasn't cor- rectly removing utmp entries when it exits. o Mishandling of the -vb command line option is fixed. o A problem that could lead to an invisible cursor has been fixed. 5. What's new in 3.3.2? 5.1 Security fixes o Several buffer overrun problem discovered since the release of XFree86-3.3.1 have been fixed o Several insecure X server command line options have been removed o The X servers now run the xkbcomp program under the user's real uid o Additionally, a wrapper program for the X servers has been added which eliminated the need for the servers to be installed SUID root 5.2 Bug fixes o A black screen problem in the Tseng driver has been fixed. o Several drawing problems in the Tseng driver have been corrected. o Timeouts to all routines waiting for the accelerator have been added. o DPMS has been fixed in the Tseng driver. o The memory clock for the Matrox Millennium II is now set correctly. Release Notes for XFree86[tm] 3.3.2 + patch 2 3 o Several drawing bugs in the MGA driver have been fixed. o The problem with some Millennium II cards in higher resolutions and 24bpp is fixed. o Some problems with 24 and 32bpp in the Trident driver have been fixed. o Some problems in the C&T driver with the TMED DSTN dithering scheme for the 65555 and 68554 have been fixed. o The C&T driver now adheres much more strictly to the clock limits. o Allow DacSpeed command to work correctly in more servers. o Several small bugs for Cirrus Laguna chipsets have been fixed. o Fixes to the Wacom driver. o The Cyrillic fonts have been updated. o BSDI is supported again. o Several XAA problems have been fixed. o XKB for PC98 has been updated. o S3 Aurora64V+ now works with 16bpp. o cursor offset for some S3 cards has been fixed. o S3 server support for STG 1700 ramdac has been fixed. o imake correctly works on Linux glibc-2 systems now. 5.3 New Features o Support for ET6100 has been added to the Tseng driver. o Acceleration has been added for W32 and W32i. o Text performance has been improved for the Tseng driver. o Support for new RAMDACs, including the ch8398, the ch8391 and the MUSIC MU9C4910 has been added to the Tseng driver. o Accelerated support for the AT3D and AT25 has been added to the APM driver. o Support for accelerated NV1 and accelerated Riva128 has been added to the NV driver. o Support for the Matrox Millennium II AGP has been included into the MGA driver. Release Notes for XFree86[tm] 3.3.2 + patch 2 4 o New support for several Trident chips has been added, including Cyber9397, 3DImage975 and 3DImage985 (unaccelerated and not completed, yet), TGUI9685. o CrealTV support has been added for the TGUI9685. o Acceleration of all TGUI chipsets has been improved. o Support for Rage Pro based PCI and AGP cards has been added. o Maximum dotclock for newer Mach64 cards has been increased. o Support for 1600x1200 and 1600x1280 mode has been added for VT and newer Mach64 chips. o Support for the auxiliary register aperture for newer Mach64 cards has been added. o Support for the I128 Revolution (T2R) has been added. o Additional acceleration for the I128 server has been added. o Support for sw cursor, pci_retry, 24bpp HW cursor has been added to cirrus Laguna chipsets. o S3 ViRGE/MX and ViRGE/GX2 support has been added (SVGA server only!). o support for S3 ViRGE hardware cursor added in SVGA server. o An S3 driver has been added to the SVGA server. o S3 server and SVGA/S3 server now recognize some fake S3 chips and print out a warning message. o XAA has been extended to support hardware cursors and provide accelerated support dashed lines and trapezoid fills. o Several new mouse protocols have been added to all servers. They should now support Kensington ThinkingMouse, ALPS GlidePoint, Genius NetScroll, Genius NetMouse, Genius NetMouse, ASCII MieMouse, Logitech MouseMan+, Log- itech FirstMouse+. This includes all buttons on these mice as well as the wheels. The wheel can be used to either create additional buttons or for z-axis indication. o login.conf/setusercontext support to xdm for FreeBSD has been added. o XF86Setup now supports setting the default color depth and choosing the modes the user wants to use. o XF86Setup allows to select all the new mouse protocols (depending on the OS it is running on). o Japanization of XF86Setup has been added. Release Notes for XFree86[tm] 3.3.2 + patch 2 5 o XF98_MGA server for Millennium and Mystique has been added. This server is very new and has some problems with Mystique support. o XF98_SVGA server for CLGD755x has been added. This server also is very new and has some problems. o Linux/98 support has been added. Linux/98 is very new and perhaps the servers also have some problems. o XF98_TGUI server now works on PANIX98. o XF98Setup(i.e. XF86Setup for PC98) has been added. o Many changes to xterm including support for double-size characters (posi- tioning), blinking characters (render in color), improvements to logging, transparent printing, delete/backspace toggle, and better support for Sun and PC keyboards. 5.4 Known Problems o There are problems with some Cirrus laptop chipsets (75xx). The driver seems to work for some people, but not others. Until someone with the appropriate hardware can look into this, these problems are unlikely to be fixed. If you wish to work on this, please contact us. We don't need testers, we need people willing and able to fix the problems. o There are problems with some of the Trident laptop chipsets. The driver seems to work in a limited way for some people, but not others. Until someone with the appropriate hardware can look into this, these problems are unlikely to be fixed. If you wish to work on this, please contact us. We don't need testers, we need people willing and able to fix the prob- lems. 6. Installing the XFree86 3.3.2 Release The XFree86 3.3.2 binaries are distributed as both a full release and as an upgrade to XFree86 3.3.1. NOTE: the X servers are no longer installed setuid root. If you are starting your X servers with startx/xinit, or something similar, you will need a copy of the setuid Xwrapper, and an updated xinit. These can be found in X332upd.tgz for those upgrading from 3.3.1, and in X332bin.tgz for those doing a full install. What follows is a list of the XFree86 3.3.2 components. There may be some variations in this for some OSs. The following are required for all new installations or upgrades from versions prior to 3.3.1: Release Notes for XFree86[tm] 3.3.2 + patch 2 6 preinst.sh Pre-installation script postinst.sh Post-installation script extract XFree86 extraction utility X332bin.tgz Clients, run-time libs, and app-defaults files X332doc.tgz Documentation X332fnts.tgz 75dpi, misc and PEX fonts X332lib.tgz Data files required at run-time X332man.tgz Manual pages X332set.tgz XF86Setup utility X332VG16.tgz 16 colour VGA server (XF86Setup needs this server) X3322upd.tgz XFree86 3.3.2 patch 2 update The following are required for an upgrade from XFree86 3.3.1: preinst.sh Pre-installation script postinst.sh Post-installation script extract XFree86 extraction utility X332upd.tgz Changes since 3.3.1 (except the servers) X332doc.tgz Documentation X332set.tgz XF86Setup utility X332VG16.tgz 16 colour VGA server (XF86Setup needs this server) X3322upd.tgz XFree86 3.3.2 patch 2 update The following is required for new installations, and optional for existing installations: X332cfg.tgz sample config files for xinit, xdm NOTE: Be very careful about installing X332cfg.tgz over an existing installa- tion if you have customised your xinit and/or xdm config files. Installing X332cfg.tgz will overwrite any existing files. If you do have customised files, there is no need to install X332cfg.tgz. NOTE: The bitmap fonts distributed with this release are compressed using gzip rather than compress. This means that you will probably want to remove the old versions (after backing them up). The Xservers and font server in releases prior to 3.2A cannot read gzipped fonts, so keep a copy of the old fonts if you wish to run older servers. The following X servers are for PC/AT based hardware (i.e., typical Intel ix86 based PCs). Choose at least one which matches your hardware, as well as the VGA16 server. The VGA16 server is required by the new configuration utility (XF86Setup). Release Notes for XFree86[tm] 3.3.2 + patch 2 7 X3328514.tgz 8514/A server X332AGX.tgz AGX server X332I128.tgz I128 server X332Ma32.tgz Mach 32 server X332Ma64.tgz Mach 64 server X332Ma8.tgz Mach 8 server X332Mono.tgz Mono server X332P9K.tgz P9000 server X332S3.tgz S3 server X332S3V.tgz old S3 ViRGE server (please use SVGA server) X332SVGA.tgz SVGA server X332VG16.tgz 16 colour VGA server (XF86Setup needs this server) X332W32.tgz ET4000/W32, ET6000 server The following X servers are available for Alpha hardware: X332Ma64.tgz Mach 64 server X332Mono.tgz Mono server (generic driver only) X332P9K.tgz P9000 server X332TGA.tgz DEC 21030 (TGA) server X332S3.tgz S3 server X332S3V.tgz old S3 ViRGE server (please use SVGA server) X332SVGA.tgz SVGA server (Matrox Millennium driver only) The following X servers are for PC98 hardware. If you have a PC98 machine, choose one which suits your hardware. If you don't know what a PC98 machine is, you don't need any of these. X3329NS3.tgz PC98 NEC(S3) server X3329SPW.tgz PC98 PCSKB-PowerWindow(S3) server X3329LPW.tgz PC98 PowerWindowLB(S3) server X3329EGC.tgz PC98 EGC(generic) server X3329GA9.tgz PC98 GA-968V4/PCI(S3 968) server X3329GAN.tgz PC98 GANB-WAP(cirrus) server X3329480.tgz PC98 PEGC-480(generic) server X3329NKV.tgz PC98 NKV-NEC(cirrus) server X3329WS.tgz PC98 WABS(cirrus) server X3329WEP.tgz PC98 WAB-EP(cirrus) server X3329WSN.tgz PC98 WSN-A2F(cirrus) server X3329TGU.tgz PC98 TGUI server X3329MGA.tgz PC98 MGA server X3329SVG.tgz PC98 CLGD755x server X3329set.tgz PC98 XF98Setup utility The following are optional. Release Notes for XFree86[tm] 3.3.2 + patch 2 8 X332f100.tgz 100dpi fonts X332fcyr.tgz Cyrillic fonts X332fnon.tgz Other fonts (Chinese, Japanese, Korean, Hebrew) X332fscl.tgz Scalable fonts (Speedo and Type1) X332fsrv.tgz Font server and config files X332prog.tgz X header files, config files and compile-time libs X332nest.tgz Nested X server X332vfb.tgz Virtual framebuffer X server X332prt.tgz X Print server X332ps.tgz PostScript version of the documentation X332html.tgz HTML version of the documentation X332jdoc.tgz Documentation in Japanese (for version 3.2) X332jhtm.tgz HTML version of the documentation in Japanese (3.2) X332lkit.tgz X server LinkKit X332lk98.tgz X server LinkKit for PC98 servers If you already have a version of XFree86 installed, MAKE A BACKUP OF /usr/X11R6 BEFORE DOING ANYTHING ELSE. The standard installation procedure will overwrite your existing version of XFree86. If you are installing from scratch, create a directory called /usr/X11R6, then extract the required .tgz files. If you don't have enough space in /usr for this, create a directory elsewhere and create a symbolic link to it. E.g., if you create a directory in /home: mkdir /home/X11R6 ln -s /home/X11R6 /usr The next step is to run the pre-installation script. This script makes some preliminary checks of your system. For some OSs, it may tell you to install new versions of some system components before proceeding with the installation. This script may also remove some outdated files and symbolic links from a pre- vious installation that could cause problems. For the purposes of these installation instructions, it is assumed that you have downloaded all the files to the /var/tmp directory. If you've put them in another directory, that's fine -- just replace all occurrences of ``/var/tmp'' with the name of that directory. To run the pre-installation script, go to /usr/X11R6 and run it: cd /usr/X11R6 sh /var/tmp/preinst.sh The next step is to make the installation utility executable. To do this, make sure the `extract' file is in the same directory as all the X332*.tgz files, and run the following from that directory: chmod 755 extract The installation utility ``extract'' is used to unpack the .tgz files that make up the XFree86 distribution. The .tgz files are gzipped tar files. However, ``tar'' in its standard form on most OSs is not well-suited to the task of Release Notes for XFree86[tm] 3.3.2 + patch 2 9 installing XFree86. The extract utility is a modified version of GNU tar 1.12 built with the options required to make it suitable for installing XFree86. The source for extract is available from the same place you got the XFree86 distribution. It is strongly recommended that you use the provided extract utility to unpack the XFree86 distribution. If you choose to ignore this and use something else, we don't want to hear from you if you run into problems. It is also important that you do not rename the extract utility. If renamed, it behaves just like the normal GNU tar. To extract the XFree86 binaries, run the following as root: cd /usr/X11R6 /var/tmp/extract /var/tmp/X332[8-z]*.tgz /var/tmp/extract /var/tmp/X3322upd.tgz NOTE: It is important to extract X3322upd.tgz after X332lib.tgz, X332bin.tgz and X332prog.tgz because they replace the X11, Xt, Xaw, and Xmu libraries and the xterm program with updated versions that have important security fixes. Some other things are also updated. X3322upd.tgz supersedes the previous update (X3321upd.tgz), so there is no need to have installed X3321upd.tgz before installing X3322upd.tgz. Once the required .tgz files have been extracted, run the post installation script: cd /usr/X11R6 sh /var/tmp/postinst.sh For OSs which use ldconfig, you may need to run ldconfig or reboot to complete the installation. The postinst.sh script should run ldconfig correctly for you if you are using Linux, FreeBSD, NetBSD or OpenBSD. For other OSs that use ldconfig, check how it normally gets run at boot time. 7. Updating XFree86 3.3.2 to XFree86 3.3.2 patch 2 The following is required to update an XFree86 3.3.2 installation to XFree86 3.3.2 patch 2: extract XFree86 extraction utility X3322upd.tgz XFree86 3.3.2 patch 2 update First make the extract utility executable by running: chmod 755 extract To update your installation to 3.3.2 patch 2, run the following as root: cd /usr/X11R6 Release Notes for XFree86[tm] 3.3.2 + patch 2 10 /var/tmp/extract /var/tmp/X3322upd.tgz NOTE: X3322upd.tgz supersedes the previous update (X3321upd.tgz), so there is no need to have installed X3321upd.tgz before installing X3322upd.tgz. Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/RELNOTE.sgml,v 3.59.2.39 1998/05/03 02:25:58 dawes Exp $ Release Notes for XFree86[tm] 3.3.2 + patch 2 11 CONTENTS 1. XFree86 and X11R6.3 ...................................................... 1 2. OS issues ................................................................ 1 3. What's new in 3.3.2 patch 2? ............................................. 1 4. What's new in 3.3.2 patch 1? ............................................. 2 5. What's new in 3.3.2? ..................................................... 2 5.1 Security fixes ....................................................... 2 5.2 Bug fixes ............................................................ 2 5.3 New Features ......................................................... 3 5.4 Known Problems ....................................................... 5 6. Installing the XFree86 3.3.2 Release ..................................... 5 7. Updating XFree86 3.3.2 to XFree86 3.3.2 patch 2 .......................... 9 i