XFree86 Frequently Asked Questions

This document is intended to provide answers to the questions most often received by the XFree86[tm] Project's support team (which can be reached at XFree86@XFree86.org). It is also a source of information more recent than the documentation included with the latest release.

Generally, if the information is already available elsewhere, this document will supply a pointer to the information rather than duplicate it. If you don't have access to the World Wide Web, see the section below entitled "Access via Email".

The XFree86 Project is making the information in this document available free of charge in the hope that it will be of use. However, the authors specifically disclaim any liability for any direct, indirect, or consequential damages arising out of its use.

This document is intended to be a source of up-to-date info regarding XFree86, and as such, may change frequently. Make sure you consult a recent copy, before relying on any information contained herein.

Additionally, this FAQ generally assumes that you are using the latest release and, unless otherwise specified, the information contained herein is likely to not be applicable to other releases. Information applicable to beta releases is specifically marked as such. If you are having problems and are not running the latest release, then upgrading is often the answer to your problems. Really.

The latest version of this document is always available from the XFree86 Web site (http://www.XFree86.org/) or one of its mirrors:

WARNING! If you are using Xdm to start your X session, see X Authentication Vulnerability below.

Last modified: Wed Feb 28 11:34:42 PST 1996


Index of Questions:

Section A - General Information

Section B - Configuration Questions

Section C - Keyboard & Mouse Problems

Section D - Display Problems

Section E - Miscellaneous Problems

Section F - Chipset Support

Section G - Beta Releases


General Information

Q.A1- What is XFree86?

XFree86 is a trademark of The XFree86 Project, Inc., a non-profit organization that provides X Window System servers (as well as some supporting materials) for several operating systems on PCs. The X servers, client programs, documentation, etc. supplied by the XFree86 Project, Inc., are collectively, also known as XFree86. All programs are provided with source code, free of charge.

The XFree86 Project, Inc. is currently funded entirely by donations. If you're interested in making a monetary or equipment donation, see http://www.XFree86.org/donations.html or send Email to BOD@XFree86.org.

A list of current sponsors is available at http://www.XFree86.org/sponsors.html

For more information regarding The XFree86 Project, Inc., see http://www.XFree86.org/corp_profile.html

Q.A2- What is the current release of XFree86?

The latest full release is XFree86 version 3.1.2. It is based on X11R6 and was released at the beginning of August 1995. Version 3.1.2D, a beta release, was released at the end of February 1996, in binary form only.

Since the full release, the following updates have been made available:

These updates are included in the beta releases.

Q.A3- What is the current release of SuperProbe?

The newest available version of SuperProbe is 2.8. It is included with the latest beta release. The 2.5 version of SuperProbe is included with the 3.1.2 release of XFree86.

Q.A4- Where do I get the latest releases?

The primary site for both SuperProbe and the XFree86 servers and clients is ftp.XFree86.org.

A list of mirror sites is available at: http://www.XFree86.org/3.1.2/ftp.html

Q.A5- What files do I need to upgrade to the latest release?

Please read the README file in the directory corresponding to your OS on the XFree86 ftp site or one of its mirrors (see the previous question). It contains a list of the filenames along with their contents. It also lists which files are required and which are optional.

Q.A6- Where do I find the latest documentation?

The latest documentation can be found on http://www.XFree86.org/3.1.2/. Many of the XFree86 specific man pages also available at http://www.XFree86.org/man/. It is also available, in ASCII form, from ftp://ftp.XFree86.org/pub/XFree86/3.1.2/doc/.

Q.A7- When is the next release?

No release date has been set at this time for the next full release nor the next beta release.

Q.A8- Which card do you recommend that I buy?

We don't recommend any particular board or manufacturer (although it would be good to support our sponsors, see http://www.XFree86.org/sponsors.html). In general, the S3 based boards have been the best supported, followed by the ATI based cards, however that is no guarantee that any specific board will work. It is probably best to look through the various "README" files at http://www.XFree86.org/3.1.2/ to see which boards are currently supported and pick one of them.

It is also a good idea to buy from some place that has a liberal return policy or will let you try before you buy. Especially since some manufacturers will sometimes change what RAMDAC or other chips are used on a board without changing the name of the board.

Q.A9- Problems Discovered Since Release

Here are a few problems/bugs/gotchas etc. discovered in the 3.1.2 release:

  1. The xf86config program can generate an invalid XF86Config file if you have an S3 based card with an IBM 5xx RAMDAC. You can get an updated binary of the program by downloading the file named either xf86config.tgz or xf86conf.tgz, depending on your OS, from ftp.XFree86.org or one of its mirrors.
  2. The S3 Xserver recognizes the keywords Invert_VCLK, Early_SC, and Blank_Delay in the Display subsection of the Screen section of the XF86Config file. The XF86Config(4/5) man page and the xvidtune program use the keywords InvertVCLK, EarlySC, and BlankDelay (i.e. without the underscores).

    Future versions of the server will ignore underscores and, therefore, will accept both forms.

  3. xvidtune may crash or cause the X server to crash if the Vendor or Model entries are not included in the Monitor sections of the XF86Config file. The workaround is to include such entries, even if the Vendor/Model strings are empty ("").
  4. Weaknesses have been discovered in the security of Xdm. See X Authentication Vulnerability.
  5. There appear to be some DRAM timing problems for some S3 cards (mostly Trio64) that results in poor performance compared with XFree86 3.1.1. The workaround for this is to add a line specifying an S3MClk value higher than that reported by the server at startup. Use as high a value as you can without causing visible noise on the screen when scrolling a window. Some people have reported good results with a value of 170 for Trio64 cards.
  6. There are problems with text drawing with the Hercules mono driver in the XF86_Mono and XF86_VGA16 servers. The only workaround at this stage is to use version 3.1.1.
  7. The ET4000/W32 server has problems with many cards. Some cards don't work at all (especially those with ICS GENDACs). Starting the VGA16 server first may help with some cards. In some cases, XFree86 3.1.1 may work better.

    The server does not support pixel-multiplexing modes of the RAMDACs (i.e. it can't use high resolutions/clock rates). The screen saver blanks to white, not black. There also appears to be a "slow-death" problem in the server.

  8. The server can hang temporarily while fonts are being scaled. See question E3 for more info and a work-around.
  9. Fonts are displayed incorrectly on some Trio32 based cards. For more info, see question D3

Items one to four have been fixed in 3.1.2A (and later). Additionally, it incorporates fixes for some of the problems in the W32 server. 3.1.2B and later have more W32 server fixes and work around the Trio32 font problem. See Section G regarding beta releases below.

Q.A10- X Authentication Vulnerability

Some weaknesses have been found (and exploited!) in the authorization schemes used by Xdm. The X consortium has released fix-13 for X11R6 to correct the problem.

The XFree86 Project, Inc. has released a patch to its source code as well as binaries for many platforms that incorporate the patch. For more complete information see ftp://ftp.XFree86.org/pub/XFree86/3.1.2/README.SECURITY.

This fix is also included in the latest beta release.

Q.A11- Is XFree86 being ported to OS/2?

Yes, there has been some work done on porting the servers, libraries, and some of the clients to OS/2. It is being done as a replacement for the Presentation Manager. See http://borneo.gmd.de/~veit/os2/xf86os2.html for more information.

OS/2 binaries of release 3.1.2D should be available soon.

Q.A12- How do I report a bug in XFree86?

Use the bug report form on our WWW server (http://www.XFree86.org/), or send email to XFree86@XFree86.org. Before sending a bug report, make sure you are using the current release of XFree86. In the bug report, include details of the XFree86 version, server, description of the problem, and some way of repeating it.

For problems in a beta release, see item G3 for information on reporting problems.

Q.A13- About this FAQ

In addition to being available from the XFree86 web site (as http://www.XFree86.org/FAQ/), this FAQ will be posted at least monthly to comp.windows.x.i386unix, comp.os.linux.x, comp.answers, and news.answers.

It is also available from the XFree86 FTP site (and mirrors) as ftp://ftp.XFree86.org/pub/XFree86/WWW/htdocs/FAQ/index.html - HTML version and ftp://ftp.XFree86.org/pub/XFree86/WWW/htdocs/FAQ/faq.txt - ASCII text version.

This document is maintained by Joe Moss (joe@morton.rain.com) with contributions from other members of the XFree86 support and beta teams. Particular thanks go to David Dawes for his contributions.

If you have questions or comments regarding XFree86 do not send them directly to me. They should be Emailed to XFree86@XFree86.org (which will cause a copy to be sent to me, as well as the rest of the XFree86 support team). If you have comments regarding this document itself, then you may send them to me. In particular, if you find incorrect or non-functional URLs or any typos herein, please let me know.

Q.A14- Access via Email

If you only have Email access to the net, you should get a copy of the Accessing the Internet by E-Mail FAQ.

If you're in North America, send a message to listserv@ubvm.cc.buffalo.edu containing only the line:

    GET INTERNET BY-EMAIL NETTRAIN F=MAIL
 
in the body of the message.

Elsewhere in the world, send mail to mailbase@mailbase.ac.uk with only this line in the message body:

    send lis-iis e-access-inet.txt
 

This document explains how to retrieve stuff from the WWW, Usenet News, etc. via Email. It also explains how to use ftpmail, which you can use to get the latest version of XFree86.

Q.A15- Related Information

Many of our sponsors supply hardware, software, and services which may be of interest to users of XFree86 servers. The list of our sponsors (http:/www.XFree86.org/sponsors.html), points to the web sites of many of them.

Here are some pointers to other documentation, regarding subjects related to XFree86, that might be useful to readers of this document. These are not published by the XFree86 Project, Inc. and are included here only for reference. Questions or comments regarding any of these items should be directed to their respective authors.


Configuration Questions

Q.B1- Do you have the config file for ...?

There is a no such thing as THE config file for a particular card or monitor. The XF86Config file you should use is dependent on your card, monitor, operating system, mouse, keyboard, individual preferences, network setup, available fonts, etc.

Q.B2- I got an XF86Config file from ..., but things still don't work.

It is not a good idea to exchange XF86Config files. While it may be safe to use certain parts of another's config file, in general, you are better off generating your own.

Q.B3- How do I configure the server?

All of the configuration information we have, is included with the release. Please use the xf86config utility to generate an XF86Config file for your setup. Once you've got a server running, the xvidtune program can then be used to make adjustments to the video setup. This is explained in the QuickStart Guide which is included with 3.1.2B and later releases and available at http://www.XFree86.org/3.1.2/QuickStart.html

For further information, you could also read the XFree86 configuration guide (available from http://www.XFree86.org/3.1.2/Config.html), and the manual pages XF86Config(4/5) and xvidtune(1).

Q.B4- What about vgaset?

Simple. Don't use it!

The xvidtune program, that is part of the 3.1.2 release, has more capabilities and works properly with the server extension (XFree86-VidModeExtension) included in the 3.1.2 servers.

Q.B5- How do I use my Diamond Stealth64 2001 series ard?

There are two versions of the "2001" series Stealth64 cards. One is called the "Stealth64 Video 2##1". They use the S3 Trio64V+ chipset and are supported by the S3 server.

The other, known as the "Stealth64 Graphics 2##1", use the ARK 2000PV chipset. There is unaccelerated support for this chipset in the SVGA server. However, the programmable clock chip used on these cards is not currently supported by the SVGA server. Therefore, not all modes the card is capable of, can be used. See item F20 - ICS 5342 Clock Chip for more info on this chip.

For the latest information about Diamond cards, take a look at http://www.diamondmm.com/. See also question B8 regarding the Cards database.

Q.B6- How do I use my Diamond Stealth64 3400/3240 card?

These cards use the IBM RGB526 RAMDAC (unlike the former Stealth64 Video VRAM cards, which used the TI3026). See item F19 - IBM RGB526 for configuration info.

For the latest information about Diamond cards, take a look at http://www.diamondmm.com/.

Q.B7- How do I use my ATI Graphics Xpression card?

That depends on which variation of the Xpression card you have. ATI has used different RAMDACs on different revisions of this card.

If you have an earlier revision (such as those with the STG1702, STG1703, and CH8393 RAMDACs), it should work without problems with the current release (3.1.2).

If you have one with the AT&T 20C408 RAMDAC, see item F17 as well as section G.

If you have one of the new "CT" versions, see item F14.

Q.B8- xf86config doesn't know about my card. Is there a more up-to-date version?

There is an up-to-date version of the Cards database that xf86config uses on ftp://ftp.XFree86.org/pub/XFree86/3.1.2/doc/Cards. This should be installed in /usr/X11R6/lib/X11/Cards. If it doesn't list your card model, see if one of the generic entries matches. If not, contact us about it.


Keyboard & Mouse Problems

Q.C1- The mouse cursor doesn't display in the right position

If the the cursor appears to be horizontally offset by several pixels, it is probably due to the same problems that cause the display to be wrapped around. See item D1 below.

Q.C2- Why don't menus work properly?

If you are experiencing problems with menus not allowing you to select items, try turning NumLock off.

In X11R6, the NumLock key is a modifier. Many clients (X programs) haven't yet been updated to the R6 way of doing things. They need to ignore modifiers when looking for button click/release events.

Q.C3- How come, in Tk-based applications, the buttons highlight, but can't be depressed?

See the answer to the previous question. You can also upgrade to Tk 4.x which ignores modifiers by default.

Q.C4- I've installed the latest beta and now some of my keys no longer work. Why?

The 3.1.2D release is based on X11R6.1 which includes the XKB extension and has it enabled by default. This may cause the mappings of some keys on some keyboards to be different than they were in previous releases.

See the documentation on XKB for information on setting the key mappings to your liking.

Alternatively, you can disable the XKB extensions by starting the server with the -kb option or by adding the keyword XkbDisable to your XF86Config file.


Display Problems

Q.D1- Part of the Displayed Image is Wrapping-around or is Duplicated on the Other Side of the Screen

For #9 Motion 771, Hercules Terminator 64 Pro, and perhaps other S3 968 cards with IBM RAMDACs: Add the line

    Invert_VCLK "*" 0
 
to the Display subsections of your XF86Config.

The default setting for this parameter has been changed so that this should not be necessary any more in 3.1.2A and later releases.

For Diamond Stealth Video VRAM: if the server is not recognizing your card as a Diamond card, add this line to your XF86Config:

    Option "Diamond"
 

If the above does not work or you don't have one of the listed cards, try running the xvidtune program and adjusting various settings. In particular, if you have a recent S3 based card, adjust the extra S3-specific settings at the bottom.

Q.D2- "Ghosting" or Otherwise Mis-drawn Window Borders, etc. on a Mach64 Card

Try upgrading to version 3.1.2 and/or adding to your XF86Config file:

    Option "no_block_write"
 

Q.D3- Text displays incorrectly on my Trio32 based card

Corruption of the font cache occurs on some Trio32 based cards. This is caused by a bug in some revisions of the chip. The problem can be avoided by disabling the font cache. This can be done by using a virtual screen size large enough to use nearly all the memory on the card.

A workaround for this bug is included in 3.1.2D.


Miscellaneous Problems

Q.E1- X keeps growing - never freeing memory. Is there a bug in the server?

This is not a server bug. The server is calling free() as it should. Most implementations of free(), however, merely mark the region of memory as unused and do not actually return the memory to the OS. The memory should be reused later when the server tries to malloc() something (depending on the size of the request, the amount of memory fragmentation, and the algorithm used in the malloc() library).

If you want the server to return the memory to the OS (and thus reduce the size of the server), the best option is to build from source using the internal Xalloc feature in the 3.1.2 (by defining UseInternalMalloc to YES in the xf86site.def file and recompiling the server).

Linking with a smarter malloc()/free() implementation can also help (you should be able to do this with just the LinkKit). A list of some available malloc() libraries, can be found at: http://www.cs.colorado.edu/homes/zorn/public_html/Malloc.html. You may also wish to link your client programs with one of these malloc versions so they'll also use less memory.

The internal Xalloc routines are compiled into the beta release binaries.

Q.E2- How do I get the server to scale vector fonts, but not bitmap fonts?

In standard X11R6, in addition to the fonts in "scalable" formats (i.e. Type1, Speedo), bitmaps fonts are scaled. This can have the undesirable effect of scaling a bitmap font, even though a Type1 font is available (if the bitmap font is listed first in the path).

Starting with version 3.1.2A of XFree86, by adding the text :unscaled to the end of any directory in the font path, you can turn off scaling of the bitmap fonts in that directory. This works in both the XF86Config file and the font server's config file.

Q.E3- What can I do to keep the server from hanging while scaling fonts?

While scaling fonts, the server can hang temporarily. If you are requesting a particularly large font, the period during which the server is unresponsive, can be quite noticeable.

This problem can be avoided by running the font server (xfs) and indicating in your XF86Config file that the X server should request fonts from the font server.


Chipset Support

The chipsets supported by XFree86 3.1.2 are listed in the README file. The list is available via the WWW at: http://www.XFree86.org/3.1.2/README-4.html

This section contains some notes regarding various chips for which support is not included in the current servers and other chipset/card specific notes.

Q.F1- My card is currently not supported - what can I do?

If you have a card which is not currently supported, you have these options:

Q.F2- How do I find out the current status of a driver?

Check this FAQ periodically. When there is a change in the status of a driver that is under development, this FAQ will be updated to reflect the change.

Q.F3- Unsupported Clock Chips

If you are using a card that uses a programmable clock chip which is not supported by the server, you may be able to get a separate program to program the chip for useful clock frequencies.

Sometimes, others make clock programming programs available on the net that can be called by the server. Also, you may be able to use a video card's driver made for MS-Windows or OS/2 to program the clocks and then warm boot the machine and run XFree86.

You should probably use a monitor that is smart enough to reject frequencies that are beyond its specs, if you plan to try something like this.

Q.F4- Do you have an alpha or beta server for my ... card?

The latest beta release is available in binary form only. See Section G for more info. The XFree86 Project does NOT make any alpha releases or source code versions of the beta releases available to anyone except members of the beta test team. If you have access to some currently unsupported hardware, are willing to actively participate in testing and perhaps debugging a server, and would like to join the beta team, then send an email message to XFree86@XFree86.org listing your available hardware and software, as well as any relevant skills you may have.

Often, when there is code being developed for a previously unsupported chipset, a "Call for Beta Testers" will be issued (via a posting to relevant Usenet groups).

Q.F5- Trident TGUI9440/9660/9680

These chips do not work with 3.1.2, but the beta releases include support for these chipsets. See the 3.1.2D Trident README file at ftp://ftp.XFree86.org/pub/XFree86/3.1.2D/doc/README.trident for more information.

Q.F6- Matrox chips

Matrox produces both chips and cards. A Non-Disclosure Agreement is required in order to get programming information for their chips. This makes it impossible for cards based on their chips to be supported by a product that supplies source code (i.e. XFree86). In other words, they are not now supported and will not be supported, for the foreseeable future.

Cards made by Matrox contain two graphics chips. A low-cost chip from another manufacturer (e.g. Oak) is used just to provide VGA compatibility and has access to only a small amount of RAM. The VGA16 and Mono servers can be made to work with Matrox cards, but they use only this chip.

The primary graphics chip is the proprietary Matrox MGA chip which is not VGA compatible, but provides high resolution and very high-speed graphics. None of the XFree86 servers will work at all with this chip.

Q.F7- #9 Imagine I-128 chip

Preliminary support for this chipset is in the current beta release.

Q.F8- Cirrus CL-GD7543

There is no support for this specific chipset in the SVGA server, but we've received a report that it is compatible with the, supported, CL-GD6235 (at least at 640x480). Add this line to the Device section of the XF86Config file:

    chipset "clgd6235"
 

Support for this chipset is in the current beta release.

Q.F9- Chips & Technologies 65545/65546/65548

The current release has support for the 65545. However it doesn't include support for the programmable clock it uses, and this limits its usefulness when driving an external monitor. The 65546/65548 should be mostly compatible with the 65545, and the driver can be forced to recognise them by using the line:

    chipset "ct65545"
 
to the Device section of the XF86Config file.

A group working on an improved driver for these chips has some code available from ftp://ftp.biol.tsukuba.ac.jp/pub/X/XFree86/alpha/CT65545plus/.

Q.F10- Weitek Power 9100

No work has been or is being done on supporting this chipset (but this doesn't rule out the possibility of future development).

Q.F11- SIS chips

None of the chips from Silicon Integrated Systems are supported by the current full release. The VGA16 and Mono servers include a driver for the 86C201 in the latest beta release. Support in the SVGA server is being worked on.

Q.F12- SGS Thomson STG 2000

This chip (used on the Diamond EDGE 3D 2000 Series) is not currently supported nor is it being worked on.

Q.F13- Nvidia NV1

This chip (used on the Diamond EDGE 3D 3000 Series) is not currently supported nor is it being worked on.

Q.F14- Mach64 "CT" and "ET" chips

These versions of the Mach64 chipset include an on-chip RAMDAC and clock generator and do not work with the current (full) release. Additionally, some cards using the "GX-F (GX rev 3)" versions may not work with the current release.

These chips are supported in the latest beta release.

Q.F15- ISA-bus Mach64 cards

The current version of the server needs to map the video memory aperture into the system's address space. Since this requires 4MB of address space and since ISA bus systems can only address a maximum of 16MB, the Mach64 server can not be used on systems with more that 12MB of RAM. See the Mach64 README files for more information regarding the current capabilities of the server.

Full support for ISA Mach64 cards is planned for the next release. In the mean time, the SVGA server can be used instead.

Q.F16- S3 911 and 924 Cards with 512KB RAM

The S3 server does not work with 911 and 924 cards that only have .5MB of RAM on the video card. Upgrade the card to 1MB.

Q.F17- AT&T 20C408 and 20C409 RAMDACs

These new AT&T chips have started to appear on some S3 and Mach64 cards (for example, some ATI Graphics Xpression cards). They are combination RAMDACs and Clockchips. The current servers were released before these chips were. The Mach64 and S3 servers do not work with these chips.

Support for the 20C408 is being added to the Mach64 server and support for the 20C409 is being added to the S3 server. You can try out the current version of the code by trying the latest beta release.

Q.F18- ICS GENDACs

Support does not currently exist for these RAMDACs. Some code for supporting the ICS 5341 RAMDAC is in the latest beta release of the W32 server.

Q.F19- IBM RGB526

This RAMDAC is not currently supported. It is, however, compatible with the RGB524 RAMDAC, which is supported by the S3 server. Add this line to your XF86Config file:

    Ramdac "ibm_rgb524"
 

The beta releases also accept the line Ramdac "ibm_rgb526", although it is treated as a RGB524 RAMDAC.

Q.F20- ICS 5342 Clock Chip

Support for this clock chip will be in the ARK driver in the next release of the SVGA server. You can try out the current version of the code in the latest beta release.


Beta Releases

Beta releases are now made available to the public as limited time binaries. Release 3.1.2D is the lastest available beta release. It is the first XFree86 version based on X11R6.1 and is not being distributed as an update to 3.1.2 like previous beta releases were, but as a complete distribution. For information on the release see the release notes at http://www.XFree86.org/3.1.2D/RELNOTES.html

This section will be expanded as more information (e.g. from the problem reports submitted) becomes available.

Q.G1- How do I upgrade to the latest beta release?

That is covered in the Release Notes.

Q.G2- Is there updated documentation for the beta release?

Yes, in addition to the release notes, the 3.1.2D release includes updated documentation files.

Q.G3- Reporting problems and successes with the beta releases

If you try the latest beta server release (3.1.2D), please submit a report indicating any problems you encountered (if any). A report form can be obtained from http://www.XFree86.org/3.1.2D/BetaReport It should be emailed to report@XFree86.org

Q.G4- Known problems in the current beta release

As problems (other than those already mentioned in the release notes) are discovered with 3.1.2D, they will be listed here.


Send comments regarding this page to Joe Moss (joe@morton.rain.com)