1 2 README for XFree86 2.0 3 ---------------------- 4Contents 5-------- 6 1) What is XFree86? 7 2) What's new in XFree86 2.0? 8 3) XFree86 features 9 4) Systems XFree86 has been tested on 10 5) Supported video-card chip-sets 11 6) Where to get more information 12 7) Bugs known fixed in XFree86 vs stock X11R5 13 8) Known bugs in XFree86 14 9) Credits 15 10) Contact information 16 11) Source and binary archive sites 17 181 - What is XFree86? 19-------------------- 20XFree86 is a port of X11R5 that supports several versions of Intel-based 21Unix and Unix-like operating systems. The XFree86 servers are derived 22from X386 1.2, which was the X server distributed with X11R5. This 23release consists of many new features and performance improvements as well 24as many bug fixes. The release is available as source patches against the 25MIT X11R5 code, as well as binary distributions for many architectures. 26 27XFree86 2.0 is a major step forward in capability compared to previous 28XFree86 releases. There is a massive amount of new code, including 29several completely new servers, and many other enhancements. The vast 30majority of this code was developed by a handful of developers, listed 31in the credits section, below. All XFree86 users owe a large debt of 32gratitude to these individuals. The performance of the XFree86 2.0 33accelerated servers is on a par with commercial servers for most of 34the supported hardware; a $200 graphics accelerator now gives 35workstation-class performance. This has been a difficult release to 36complete, and not everything we hoped to get done for it is done. But 37we expect that there is enough here to satisfy the hungriest freeware 38user. 39 40Note that while the source and installation trees retain the 'X386' 41name (for simplicity of maintenance of the source tree), there is no 42connection between XFree86 and the commercial X386 product sold by SGCS. 43The XFree86 Core Team maintains technical contacts with SGCS in an effort 44to keep user-affecting changes to the workings of the products from 45diverging too radically. There is no direct involvement of either group 46in the workings of the other. 47 482 - What's new in XFree86 2.0? 49------------------------------ 50The following items have been added since XFree86 1.3 was released in 51June 1993: 52 53 1) Support for the following accelerated chipsets has been added: 54 IBM 8514/A and true compatibles 55 ATI Mach8, Mach32 56 S3 86C911, 86C924, 86C801, 86C805, 86C928 57 Cirrus 5426, 5428 58 WD 90C31 59 (see the file AccelCards for information on which specific cards 60 have been tested). 61 2) Support for the following SVGA chipsets has been added: 62 Cirrus 62x5 63 OAK OTI067, OTI077 64 3) A 16 colour generic VGA server (this server is still experimental 65 but quite usable at this stage). 66 4) Support for "banked dumb monochrome" boards. Currently the 67 Hyundai HGC1280 is supported. 68 5) Support for the following operating systems has been added: 69 OSF/1 70 BSD/386 1.0 71 NetBSD 0.9 72 FreeBSD 1.0 73 In addition, an OS porting layer has been defined inside the 74 device-dependent layer of the server to make further OS ports 75 simpler and to ensure that all future servers are supported 76 on all OS platforms. 77 6) Support for the syscons driver (with VT switching) for 386BSD, 78 FreeBSD and NetBSD. 79 7) Support for the Hitachi Puma Plus tablet as an input device. 80 8) The SuperProbe program introduced with XFree86 1.3 has been updated 81 to detect many more chipsets and to be more reliable overall. 82 9) A new README.Config file is included with step-by-step instructions 83 for setting up the Xconfig file. This file includes a list of 84 generic video mode settings which should provide working modes 85 for most video displays. 86 10) Several dozen bug fixes for problems detected and reported for 87 XFree86 1.3. 88 11) Hard limits for the maximum dot-clock frequency used are introduced. 89 These provide a rudimentary means of protecting the graphic boards 90 from overclocking. (See the Known Bugs section for some more details). 91 92Plus a number of other small things. Refer to the CHANGELOG file in the 93source distribution for full details. 94 953 - XFree86 Features 96-------------------- 97Here is a list of the other significant features that XFree86 adds over 98stock X386 1.2 (X11R5): 99 100 1) New servers to support S3, ATI and 8514 accelerated hardware, and 101 support for Cirrus and Western Digital accelerated hardware in 102 the SVGA server. 103 2) The SpeedUp package from Glenn Lai is an integral part of the 104 SVGA server, selectable at run-time via the Xconfig file. Some 105 SpeedUps require an ET4000 based SVGA, and others require a 106 virtual screen width of 1024. The SpeedUps suitable to the 107 configuration are selected by default. With a high-quality 108 ET4000 board, this can yield up to 40% improvement of the Xstones 109 benchmark over X386 1.2. 110 3) The fX386 packages from Jim Tsillas are included as the default 111 operating mode of the SVGA server if SpeedUp is not selected. 112 This mode is now equivalent in performance to X386 1.1b (X11R4), 113 and approximately 20% faster than X386 1.2. 114 4) A monochrome server that supports bank-switching of available SVGA 115 memory to allow virtual screens up to 1600x1200. 116 5) Support for the Hercules mono card in the monochrome server, and 117 with it the ability to support a "two headed" server - one mono 118 VGA, and one Hercules. 119 6) Support for Hyundai HGC1280 monochrome graphics card in the 120 monochrome server. 121 7) An (experimental) 16-color VGA server is included, which supports 122 generic VGA hardware. 123 8) SVR3 shared libraries, tested under ISC SVR3 2.0.2, 2.2, 3.0.1 and 124 4.0; SCO 3.2.2, 3.2.4. 125 9) Support for Linux, 386BSD, NetBSD, FreeBSD, BSD/386, Mach, OSF/1, 126 SVR4.2, SCO, Amoeba, and Minix-386. Including Linux shared libraries. 127 10) Support for LOCALCONN. This support is for both SVR3.2 and SVR4. 128 For SVR4.0.4 with the 'Advanced Compatibility Package' and on 129 SVR4.2, local connections from SCO XSight/ODT clients are supported. 130 11) Drivers for ATI, Trident, NCR, Compaq, Cirrus, and OAK SVGA chipsets. 131 Refer to chipset-specific README files for details about these 132 drivers. 133 12) Support for compressed bitmap fonts has been added (Thomas 134 Eberhardt's code from the contrib directory on ftp.x.org). 135 13) Type1 Font code from MIT contrib tape has been included, and is 136 compile-time selectable. There are contributed Type1 fonts in the 137 contrib directory on ftp.x.org. 138 14) New configuration method which allows the server's drivers and font 139 renderers to be reconfigured from both source and binary 140 distributions. 141 15) Greatly improved documentation and configuration databases are 142 included. 143 16) A new tutorial on how to develop correct video card and monitor 144 timing data, written by Eric Raymond (derived from previous 145 documentation and a lot of experimentation). 146 17) Greatly improved support for international keyboards, including 147 implementation of the Compose key functionality found on many 148 vendor servers. 149 18) Many enhancements in error handling and parsing of the Xconfig 150 configuration file. Error messages are much more informative and 151 intuitive, and more validation is done. There are many new options 152 that can be enabled in the Xconfig file. 153 1544 - Systems XFree86 has been tested on 155-------------------------------------- 156 SVR4.0: 157 Esix: 4.0.3A, 4.0.4 158 Microport: 2.2, 3.1, 4.1, 4.2 159 Dell: 2.1, 2.2 160 UHC: 2.0, 3.6 161 Consensys: 1.2 162 MST: 4.0.3 (Load 2.07 and Load 3.02) 163 ISC: 4.0.3 164 AT&T: 2.1, 4.0 165 NCR: MP-RAS 166 167 SVR4.2: 168 Consensys 169 Univel UnixWare 170 171 SVR3: 172 Interactive: 2.0.2, 2.2, 3.0, 4.0 173 SCO: 3.2.2, 3.2.4 174 AT&T: 3.2.2 175 176 Others: 177 386BSD 0.1, NetBSD 0.9, FreeBSD 1.0 178 BSD/386 1.0 179 Mach 386 180 OSF/1 181 Linux 0.99pl13 182 Amoeba 183 Minix-386 184 1855 - Supported video-card chipsets 186--------------------------------- 187At this time, XFree86 2.0 supports the following accelerated chipsets: 188 189 8514/A (and true clones) 190 ATI Mach8, Mach32 191 Cirrus CLGD5426, CLGD5428 192 S3 86C911, 86C924, 86C801, 86C805, 86C928 193 Western Digital WD90C31 194 195The Cirrus and Western Digital accelerators are supported in the SVGA 196server; the other chipsets each have their own server. A list of cards 197on which the accelerated servers have been tested is included in the file 198AccelCards. They may well work on other cards, but we cannot guarantee it. 199Linux and BSD users of the XS3 server are referred to the README.XS3 200file for information on the differences between XS3 and the XFree86 S3 201server. Xconfig files must be changed when using XF86_S3 instead of XS3. 202 203In addition, the following SVGA chipsets are supported: 204 205 Tseng ET3000, ET4000AX, ET4000/W32 206 Western Digital/Paradise PVGA1 207 Western Digital WD90C00, WD90C10, WD90C11, WD90C30, WD90C31 208 Genoa GVGA 209 Trident TVGA8800CS, TVGA8900B, TVGA8900C, TVGA8900CL, TVGA9000 210 ATI 28800-4, 28800-5, 28800-a 211 NCR 77C22, 77C22E 212 Cirrus Logic CLGD5420, CLGD5422, CLGD5424, CLGD5426, CLGD5428, 213 CLGD6205, CLGD6215, CLGD6225, CLGD6235 214 Compaq AVGA 215 OAK OTI067, OTI077 216 217All of the above are supported in both 256 color and monochrome modes, 218with the exception of the ATI and Cirrus chipsets, which are only 219supported in 256 color mode. 220 221Refer to the chipset-specific README files (currently for Tseng, Western 222Digital, ATI, and Trident) for more information about using those chipsets. 223 224The monochrome server also supports generic VGA cards, using 64k of video 225memory in a single bank, the Hercules card, and the Hynudai HGC1280 card. 226On the Compaq AVGA, only 64k of video memory is supported for the monochrome 227server, and the GVGA has not been tested with more than 64k. 228 229XFree86 2.0 includes an experimental 16-color generic VGA server. This 230server has not been as extensively tested and debugged as the others, but 231it should work rather well (but slowly) on most hardware. At this time, 232it does not support banking, hence display is currently limited to 64k 233of memory (approximately 800x600). 234 235 Note 236 ---- 237It appears that some of the SVGA card manufacturers are going to 238non-traditional mechanisms for selecting pixel-clock frequencies. To 239avoid having to modify the server to accommodate these schemes XFree86 1.2 240added support for using an external program to select the pixel clock. 241This allows programs to be written as new mechanisms are discovered. 242Refer to the README.clkprog file for information on how these programs 243work, if you need to write one. If you do develop such a program, we 244would be interested in including it with future XFree86 releases. 245 246NOTE: The Diamond SpeedStar 24 (and possibly recent SpeedStar+) boards are 247 NOT supported, even though they use the ET4000. The same is valid 248 for all of Diamond's S3 boards. The reason for this is that 249 Diamond has changed the mechanism used to select pixel clock 250 frequencies, and will only release programming information under 251 non-disclosure. We are not willing to do this (as it would mean 252 that source cannot be provided). We have had discussions with 253 Diamond over this, and they do not intend to change this policy. 254 Hence we will do nothing to support Diamond products going forward 255 (i.e. don't send us a program to run to set their clocks). XFree86 256 DOES NOT SUPPORT DIAMOND HARDWARE. It is possible to make some 257 of it work, but we will not assist in doing this. 258 2596 - Where to get more information 260--------------------------------- 261Additional documentation is available in the XFree86(1), Xconfig(4/5), 262XF86_SVGA(1), XF86_Mono(1), XF86_VGA16(1), XF86_Accel(1) and XF86keybd(1) 263manual pages. In addition, several README files and tutorial documents are 264provided. These are available in /usr/X386/lib/X11/etc in the binary 265distributions, and in mit/server/ddx/x386 and ddx/x386/etc in the source 266distribution. 267 268The files README.Config and VideoModes.doc should be consulted for 269information on how to set up the XFree86 servers. All supplied documents 270and manual pages should be read before contacting the XFree86 team for 271assistance. 272 273Documentation on SVGA driver development can be found in the directory 274/usr/X386/lib/Server/VGADriverDoc in the binary distribution, and in the 275directory mit/server/ddx/x386/VGADriverDoc in the source distribution. 276 277If you are totally at a loss, you can contact the XFree86 Core Team at 278the electronic mail address below. 279 280There exists a Usenet news group comp.windows.x.i386unix that contains 281mostly discussions about XFree86 and related topics. Many questions can 282be answered there. The answers to common questions are found in the 283corresponding FAQ. 284 2857 - Bugs known fixed in XFree86 vs stock X11R5 286---------------------------------------------- 287 1) Server now traps and exits cleanly if unexpected signals are 288 received (a core is still generated for debugging). There is an 289 Xconfig option to disable this trapping. 290 2) VT switching (on OS's that support the feature) is more robust. 291 The server will no longer crash nor will the screen get corrupted 292 as a result of starting or exiting clients while switched away. 293 Also, the screen saver is turned off when switching back so you 294 don't return to a blank screen. These changes also ensure that xdm 295 shuts down cleanly, and allow multiple servers to be active 296 simultaneously 297 3) Many bugs in the frame buffer code have been fixed. 298 4) The use of xdm with xqueue under SVR4 has been fixed. 299 5) The maximum number of server connections is now correctly 300 determined for SVR4 by making use of getrlimit(). 301 6) The default pointer button mapping has been fixed. 302 7) xterm no longer tries to open /dev/tty[psr]?? for SVR4. This 303 speeds up the startup time for xterm, as well as keeping it from 304 using the wrong pty's on SVR4.0.4. 305 8) xconsole fixed to use /dev/osm (SVR4 and some SVR3.2) for OS messages. 306 9) A bug with XDM-AUTHORIZATION-1 which caused strange problems with 307 some hardware has been fixed. 308 10) The xman scroll bug has been fixed. 309 11) Improved the accuracy of the server's probe for pixel clock 310 frequencies 311 12) Redefined the handling of the numeric keypad, so that it works 312 correctly with Xt-based applications (translation problems 313 resolved). 314 13) Plugged security risk related to suid-root execution of the server. 315 3168 - Known bugs in XFree86 317------------------------- 318 1) There are some problems with some of the 'xset fp' operations (in 319 particular 'xset fp rehash'). These seem to be caused by memory 320 allocation/deallocation problems in the server's font code. We 321 believe that we have worked around this problem, but have not yet 322 solved the root cause. 323 2) While not strictly a bug, there is currently a limitation on the 324 dot-clock frequencies allowed in the S3 and Mach32 servers. For 325 S3 cards with the Bt485 RAMDAC (e.g. #9 GXe), the limit is 85Mhz. 326 For Mach32 boards, the limit is 80Mhz. There is some special 327 programming required to use these RAMDACs at higher dot-clocks, 328 and we were not able to get it fully developed in time. We intend 329 to release a patch with these updates in the near future. 330 331We welcome reports of bugs sent to the electronic mail address listed 332below. 333 3349 - Credits 335----------- 336XFree86 was originally put together by: 337 David Dawes <dawes@physics.su.oz.au> 338 Glenn Lai <glenn@cs.utexas.edu> 339 Jim Tsillas <jtsilla@damon.ccs.northeastern.edu> 340 David Wexelblat <dwex@goblin.org>, <dwex@aib.com> 341 342386BSD, FreeBSD, NetBSD support by: 343 Rich Murphey <Rich@Rice.edu> 344Original 386BSD port by: 345 Pace Willison 346 Amancio Hasty Jr <hasty@netcom.com> 347Mach 386 support by: 348 Robert Baron <Robert.Baron@ernst.mach.cs.cmu.edu> 349Linux support by: 350 Orest Zborowski <orestz@microsoft.com> 351SCO Unix support by: 352 David McCullough <davidm@stallion.oz.au> 353Amoeba support by: 354 Kees Verstoep <versto@cs.vu.nl> 355Minix-386 support by: 356 Philip Homburg <philip@cs.vu.nl> 357OSF/1 support by: 358 Marc Evans <Marc@Synergytics.Com> 359BSD/386 support by: 360 Hans Nasten <nasten@everyware.se> 361 Paul Vixie <paul@vix.com> 362SVR3 shared libraries by: 363 Thomas Wolfram <wolf@prz.tu-berlin.de> 364Linux shared libraries by: 365 Dirk Hohndel <hohndel@informatik.uni-wuerzburg.de> 366 367Original accelerated code by: 368 Kevin Martin <martin@cs.unc.edu> 369 Rik Faith <faith@cs.unc.edu> 370 Jon Tombs <jon@gtex02.us.es> 371S3 accelerated code by: 372 Jon Tombs <jon@gtex02.us.es> 373 David Wexelblat <dwex@goblin.org> <dwex@aib.com> 374 David Dawes <dawes@physics.su.oz.au> 375 Amancio Hasty <hasty@netcom.com> 376Mach32 accelerated code by: 377 Kevin Martin <martin@cs.unc.edu> 378 Rik Faith <faith@cs.unc.edu> 379 Mike Bernson <mike@mbsun.mlb.org> 380 Mark Weaver <Mark_Weaver@brown.edu> 381Mach8, 8514 accelerated code by: 382 Kevin Martin <martin@cs.unc.edu> 383 Rik Faith <faith@cs.unc.edu> 384 Tiago Gons <tiago@comosjn.hobby.nl> 385 Hans Nasten <nasten@everyware.se> 386 Scott Laird <lair@midway.uchicago.edu> 387Cirrus accelerated code by: 388 Simon Cooper <scooper@vizlab.rutgers.edu> 389 Bill Reynolds <bill@goshawk.lanl.gov> 390Western Digital accelerated code by: 391 Mike Tierney <floyd@pepsi.eng.umd.edu> 392 39316 color VGA server by: 394 Gertjan Akkerman <akkerman@dutiba.twi.tudelft.nl> 395 396ATI SVGA driver by: 397 Rik Faith <faith@cs.unc.edu> 398Trident SVGA driver by: 399 Alan Hourihane <alanh@metro.co.uk> 400NCR SVGA driver by: 401 Stuart Anderson <Stuart.Anderson@ColumbiaSC.NCR.COM> 402 with the permission of NCR Corporation 403Cirrus SVGA driver by: 404 Bill Reynolds <bill@goshawk.lanl.gov> 405 Hank Dietz <hankd@ecn.purdue.edu> 406Compaq SVGA driver by: 407 Hans Oey <hans@mo.hobby.nl> 408Oak SVGA driver by: 409 Steve Goldman <sgoldman@encore.com> 410 411Configurable MFB and Hercules driver by: 412 Davor Matic <dmatic@Athena.MIT.EDU> 413Banked Dumb Monochrome and Hyundai drivers by: 414 Pascal Haible <haible@izfm.uni-stuttgart.de> 415 416X386 1.2, and moral support from: 417 Thomas Roell <roell@informatik.tu-muenchen.de> 418 Mark Snitily <mark@sgcs.com> 419 420Other contributors: 421 Joerg Wunsch <joerg_wunsch@tcd-dresden.de> (ET3000 banked mono) 422 Bob Crosson <crosson@cam.nist.gov> (video mode documentation) 423 Thomas Eberhardt <thomas@mathematik.uni-Bremen.de> (compressed fonts) 424 Eric Raymond <esr@snark.thyrsus.com> (new video mode documentation) 425 426 and an entire horde of beta-testers around the world! 427 42810 - Contact information 429------------------------ 430Ongoing development planning and support is coordinated by the XFree86 431Core Team. At this time the Core Team consists of (in alphabetical order): 432 433 Robert Baron <Robert.Baron@ernst.mach.cs.cmu.edu> 434 David Dawes <dawes@physics.su.oz.au> 435 Dirk Hohndel <hohndel@informatik.uni-wuerzburg.de> 436 Glenn Lai <glenn@cs.utexas.edu> 437 Rich Murphey <Rich@Rice.edu> 438 Jon Tombs <jon@gtex02.us.es> 439 David Wexelblat <dwex@goblin.org>, <dwex@aib.com> 440 Thomas Wolfram <wolf@prz.tu-berlin.de> 441 Orest Zborowski <orestz@microsoft.com> 442 443E-mail sent to <xfree86@physics.su.oz.au> will reach the Core Team. 444 44511 - Source and binary archive sites 446------------------------------------ 447Source patches based on X11R5 PL25, from MIT, and as an upgrade from 448XFree86 1.3 are available via anonymous FTP from: 449 450 ftp.x.org (under /contrib/XFree86) 451 ftp.physics.su.oz.au (under /XFree86) 452 ftp.win.tue.nl (under /pub/XFree86) 453 ftp.prz.tu-berlin.de (under /pub/pc/src/XFree86) 454 455Refer to the README file under the specified directory for information on 456which files you need to get to build your distribution (which will depend 457on whether this is a new installation or an upgrade from an earlier 458version of XFree86). 459 460Binaries are available via anonymous FTP from: 461 462 ftp.physics.su.oz.au - SVR4 binaries 463 under /XFree86/SVR4 464 ftp.win.tue.nl - SVR4 binaries 465 under /pub/XFree86/SVR4 466 ftp.tcp.com - SVR4 binaries 467 under /pub/SVR4/XFree86 468 stasi.bradley.edu - SVR4 binaries 469 under /pub/XFree86/SVR4 470 stasi.bradley.edu - SVR3 (SCO) binaries 471 under /pub/XFree86/sco 472 ftp.physics.su.oz.au - SVR3 (SCO) binaries 473 under /XFree86/SCO 474 blancmange.ma.utexas.edu - SVR3 (ISC) binaries 475 under /pub/ISC 476 ftp.prz.tu-berlin.de - SVR3 (ISC) binaries 477 under /pub/pc/isc/XFree86 478 tsx-11.mit.edu - Linux binaries 479 under /pub/linux/packages/X11 480 ftp.unipi.it - Linux binaries 481 under /pub/linux/XFree86_2.0 482 XFree86.cdrom.com - FreeBSD binaries 483 under /pub/XFree86/FreeBSD/XFree86-2.0 484 gil.physik.rwth-aachen.de - FreeBSD binaries 485 under /pub/XFree86 486 agate.berkeley.edu - NetBSD 0.9 binaries 487 under /pub/NetBSD/ports 488 sun-lamp.cs.berkeley.edu - NetBSD 0.9 binaries 489 under /pub/NetBSD/ports 490 ftp.cs.mcgill.ca - NetBSD 0.9 binaries 491 under /pub/NetBSD/XFree86 492 ftp.cs.uwm.edu - Mach386 binaries 493 under /i386 494 495Ensure that you are getting XFree86 2.0 - some of these sites may archive 496older releases as well. Each binary distribution will contain a README 497file that describes what files you need to take from the archive, and 498which compile-time option selections were made when building the 499distribution. 500 50123 October, 1993 502 503$XFree86: mit/server/ddx/x386/README,v 2.8 1993/10/24 13:43:59 dawes Exp $ 504