home *** CD-ROM | disk | FTP | other *** search
/ Danny Amor's Online Library / Danny Amor's Online Library - Volume 1.iso / html / faqs / faq / linux / howto.xfree86 < prev    next >
Encoding:
Text File  |  1995-07-25  |  60.7 KB  |  1,405 lines

  1. Subject: Linux XFree86 HOWTO
  2. Newsgroups: comp.os.linux.announce,comp.os.linux.help,comp.os.linux.admin,comp.windows.x.i386unix,comp.answers,news.answers
  3. From: geyer@polyhymnia.iwr.uni-heidelberg.de (Helmut Geyer)
  4. Date: Fri, 18 Nov 1994 17:42:29 GMT
  5.  
  6. Archive-name: linux/howto/XFree86
  7. Last-modified: 10 Jul 94
  8.  
  9.   The Linux XFree86 HOWTO
  10.   Helmut Geyer, Helmut.Geyer@iwr.uni-heidelberg.de
  11.   v2.1 , 1. June 1994
  12.  
  13.   This document describes how to obtain, install and configure
  14.   XFree86[TM] for Linux systems. XFree86  version 2 is an enhanced ver-
  15.   sion of the X Window System version 11 release 5 with support for many
  16.   versions of UN*X running on Intel[TM] 386/486/Pentium[TM] platforms,
  17.   including Linux. It supports a great amount of video hardware for
  18.   these systems and includes many bugfixes beyond the MIT standard
  19.   release of X.  It is intended to help Linux users install and config-
  20.   ure XFree86. It covers all versions of XFree86 starting from version
  21.   2.0.  It is furthermore intended to answer some basic questions about
  22.   X and programs using X.  Please read this file and the referenced doc-
  23.   umentation files BEFORE installing and starting XFree86. IF YOU ARE
  24.   NOT CAREFUL, YOU MIGHT DAMAGE YOUR HARDWARE.  If you have access to a
  25.   printer capable of printing DVI or PostScript[TM] documents, you
  26.   should consider to get those versions of this HOWTO as these provide
  27.   far more readability by better formatting.  A WWW version of this file
  28.   and many other HOWTOs can be found in the Linux Documentation Project
  29.   (http://sunsite.unc.edu/mdw/linux.html) homepage.
  30.  
  31.   1.  Introduction
  32.  
  33.   This file is meant to help you setting up your XFree86 system. It is,
  34.   however, far from complete. You have to look to several other files or
  35.   manpages to get complete information. It is noted at the appropriate
  36.   places, which files have to be read. For a complete description on
  37.   features and the installation please look at the documentation files
  38.   and manuals that come with XFree86 (residing in /usr/X386/lib/X11/etc
  39.   and its subdirectories as well as in /usr/X386/man/man?) (-- To read a
  40.   manpage just run man program_name, the other documentation files are
  41.   plain ascii and can be read with the editor of your choice or using
  42.   more or less.--) .  The most important files will be pointed out to
  43.   you in this HOWTO. The documentation files are packages separately in
  44.   a file called *-doc* [cf. ``Where do I get XFree86''] from the XFree86
  45.   binary distribution.
  46.  
  47.   Any bundeled distribution of XFree86 should include the documentation
  48.   files. If it doesn't, please contact the distributor on how to obtain
  49.   these.
  50.  
  51.   Other manual pages from the stock X11R5 distribution can be found in
  52.   the *-man* file of the XFree86 distribution. These manpages come as
  53.   sources for the nroff program.
  54.  
  55.   To read them you will need a working man program as well as the groff
  56.   package for formatting them. Note that it is often required to read
  57.   manpages, so you should install the groff package anyway. (I think it
  58.   is no good idea that in many distributions this package is considered
  59.   optional).
  60.  
  61.   This file comes WITHOUT ANY WARRANTY OF FITNESS. If you damage
  62.   anything following these informations, you are on your own.
  63.  
  64.  
  65.   1.1.  Copyright notice
  66.  
  67.   The XFree86 HOWTO is copyrighted (c) Helmut Geyer 1994
  68.  
  69.   A verbatim copy of the XFree86 HOWTO may be reproduced and distributed
  70.   in any medium physical or electronic without permission of the author.
  71.   Translations works are similarly permitted without express permission
  72.   if it includes a notice on who translated it. Commercial
  73.   redistribution is allowed and encouraged; however, the author would
  74.   like to be notified of any such distributions.
  75.   Short quotes may be used without prior consent by the author.
  76.   Derivative work and partial distributions of this HOWTO have to either
  77.   include a verbatim copy of this file or make a verbatim copy of this
  78.   file available. If the latter is the case, a pointer to the verbatim
  79.   copy must be stated at a clearly visible place. If you want to do
  80.   either of the last possibilities, you should contact the author.
  81.  
  82.   1.2.  Requirements on reading this HOWTO
  83.  
  84.   You should be aquainted to some very basic facts of a Unix, e.g. you
  85.   should be able to read a text file or read a manpage. A simple
  86.   introduction into Unix can be found in the Installation Guide &
  87.   Getting Started document by Matt Welsh. Everyone who installes and
  88.   runs Linux for the first time, should read this document. This
  89.   document is written in LaTeX and can be obtained in several forms
  90.   (PostScript, DVI, TeX or ASCII format) from sunsite.unc.edu in the
  91.   directory /pub/Linux/docs/LDP or from tsx-11.mit.edu in the directory
  92.   /pub/linux/docs/LDP by anonymous ftp.
  93.  
  94.   Many Linux distributions provide this document in at least one form.
  95.   You should find it in the /usr/doc directory. In this directory you
  96.   can find a lot of interesting documentation files, so you should check
  97.   this directory and read the appropriate files.
  98.  
  99.  
  100.   1.3.  Feedback
  101.  
  102.   Comments, criticism or suggestions on this document are very welcome.
  103.   If you think that something is missing, something is obsolete or
  104.   wrong, or something could be done better, feel free to contact Helmut
  105.   Geyer via email, Helmut.Geyer@IWR.uni-heidelberg.de.
  106.  
  107.  
  108.   1.4.  New versions
  109.  
  110.   The ASCII version of this document will be posted regularly to
  111.   comp.os.linux.announce, comp.windows.x.i386unix, news.answers, and
  112.   comp.answers.  In addition to those sites that archive the answers
  113.   newsgroups, the latest version can be found on sunsite.unc.edu in the
  114.   directory /pub/Linux/docs/HOWTO. This site carries not only the ASCII
  115.   version but also other formats (DVI, PostScript[TM] and HTML), too.
  116.   These other versions are easier to read than the ASCII version, so if
  117.   you have the resources to read or print these other versions, do it.
  118.  
  119.  
  120.   2.  What are X11 and XFree86?
  121.  
  122.   X11 is a windowing system for UN*X like operating systems.  The X
  123.   Windowing System was issued by the MIT Consortium (look at the X
  124.   manpage for more information) and is put under a very liberal
  125.   copyright, that allows any use of source code provided that the
  126.   original copyright notices are included. The release of X11 that
  127.   XFree86 2.* is based upon is X11 Release 5. The work of the MIT
  128.   Consortium is continued by the X Consortium that just released a new
  129.   release of X, X11R6.  The next official XFree86 release will be based
  130.   on X11R6 [cf Appendix ``The Future of XFree86''].  As X is the
  131.   standard windowing system for UN*X operating systems, there are a lot
  132.   of applications using it (both free and commercial).
  133.  
  134.   XFree86 2.* is a port of X11R5 that supports several versions of
  135.   Intel-based Unix and Unix-like operating systems.  The XFree86 servers
  136.   are partly derived from X386 1.2, which was the X server distributed
  137.   with X11R5, but many of them are newly developed. The accelerated
  138.   servers that are the most important change since XFree86 1.3 are
  139.   completely new. This release consists of many new features and
  140.   performance improvements as well as many bug fixes.  The release is
  141.   available as source patches against the MIT X11R5 code, as well as
  142.   binary distributions for many architectures.
  143.  
  144.   Note that while the source and installation trees retain the name
  145.   'X386' name (for simplicity of maintenance of the source tree), there
  146.   is no connection between XFree86 and the commercial X386 product sold
  147.   by SGCS.  The XFree86 Project maintains technical contacts in an
  148.   effort to keep user-affecting changes to the workings of the products
  149.   from diverging too radically.  There is no direct involvement of
  150.   either group in the workings of the other.
  151.  
  152.  
  153.   2.1.  The XFree86 Project, Inc.
  154.  
  155.   The XFree86 team had several problems in the past due to the fact that
  156.   it was no legal organisation. So it was not possible to become a
  157.   member of the X Consortium, Inc. This was sometimes annoying as the
  158.   new releases are only provided for members before the official release
  159.   date. This and several other thoughts led to the foundation of The
  160.   XFree86 Project, Inc.
  161.  
  162.   XFree86 is now a trademark of The XFree86 Project, Inc.  For more
  163.   information read the section on The XFree86 Project in the file
  164.   /usr/X386/lib/X11/etc/README from the documentation tarfile.
  165.  
  166.  
  167.  
  168.   3.  Supported Hardware
  169.  
  170.   As this is the most often asked question, this will be the first
  171.   section.  Currently XFree86 (Version 2.0 - 2.1.1) supports the
  172.   following chipsets in the XF86_SVGA server (note that it depends on
  173.   the chipset whether a card is working and not on the vendor, with
  174.   Diamond notably excluded, cf. the remark at the end of this
  175.   paragraph):
  176.  
  177.   o  nonaccelerated chipsets:
  178.  
  179.   o  Tseng ET3000, ET4000AX, ET4000/W32
  180.  
  181.   o  Western Digital/Paradise PVGA1
  182.  
  183.   o  Western Digital WD90C00, WD90C10, WD90C11, WD90C24, WD90C30
  184.  
  185.   o  Genoa GVGA
  186.  
  187.   o  Trident TVGA8800CS, TVGA8900B, TVGA8900C, TVGA8900CL, TVGA9000,
  188.      TVGA9000i, TVGA9100B, TVGA9200CX, TVGA9320, TVGA9400CX, TVGA9420
  189.  
  190.   o  ATI 28800-4, 28800-5, 28800-6, 28800-a
  191.  
  192.   o  NCR 77C22, 77C22E, 77C22E+
  193.  
  194.   o  Cirrus Logic CLGD6205, CLGD6215, CLGD6225, CLGD6235
  195.  
  196.   o  Compaq AVGA
  197.  
  198.   o  OAK OTI067, OTI077
  199.  
  200.   o  accelerated chipsets:
  201.  
  202.   o  Cirrus GLGD5420, CLGD5422, CLGD5424, CLGD5426, CLGD5428
  203.  
  204.   o  Western Digital WD90C31
  205.  
  206.      Note that the WD90C33 is currently not supported by any of the non-
  207.      generic servers. There are additional problems with the generic
  208.      servers of XFree86 2.0, too. Please look at the section on bugs and
  209.      fixes.
  210.  
  211.   These chipsets are all supported in 256 color (XF86_SVGA) and in
  212.   monochrome mode (XF86_Mono) with the exception of the Cirrus chipsets,
  213.   which are only supported in 256 color mode (-- Note that if you have a
  214.   grey scale display you need to run the colour server as grey scale
  215.   behaves just like colour, not like monochrome mode--) . Note that the
  216.   ET4000/W32 is only supported as a ET4000 clone and none of the
  217.   accelerated functions are used.
  218.  
  219.   The monochrome server also supports generic VGA cards (using 64k of
  220.   the video memory as a single bank), the Hercules card and the Hyundai
  221.   HGC-1280. Note that these drivers are not part of the XF86_Mono server
  222.   by default. If you want to use these, you have to reconfigure your
  223.   XF86_Mono server using the LinkKit (or, of course, the source
  224.   distribution - but the LinkKit will need less disk space and less
  225.   compile time). See the Appendix for further information on using a
  226.   Hercules mono card.
  227.  
  228.   There is an (experimental) additional server that works on generic VGA
  229.   hardware: XF86_VGA16, a 16 color server.
  230.  
  231.   XFree86 supports the following accelerated chipsets with separate
  232.   servers:
  233.  
  234.   o  S3   86C911, 86C924, 86C801, 86C805, 86C928 supported by the
  235.      XF86_S3 server
  236.  
  237.   o  ATI  mach8 supported by the XF86_Mach8 server
  238.  
  239.   o  ATI  mach32 supported by the XF86_Mach32 server
  240.  
  241.   o  IBM  8514/a and true clones supported by the XF86_8514 server
  242.  
  243.      Currently the S3 Vision864 and Vision964 are not yet working.
  244.  
  245.   No other chipsets are supported; not Weitek P9000, not TIGA, not IIT
  246.   AGX, not Microfield, not the new MGA chipsets (as in the Matrox
  247.   cards), etc.  Support for some of these will perhaps be provided in
  248.   future XFree86 releases.  TIGA will never be supported, as it requires
  249.   licensing materials from TI (and may disallow source distributions);
  250.   Microfield boards will never be supported, as they use proprietary and
  251.   undocumented custom microcode interfaces.  Note further: The following
  252.   is a statement of the XFree86 Project concerning graphic cards by
  253.   Diamond:
  254.  
  255.        All Diamond cards are NOT supported by XFree86 even if they
  256.        have a supported chipset (with  the exception of the Cirrus
  257.        chipsets that have an internal clock generator). The reason
  258.        for this is that Diamond has changed  the mechanism used to
  259.        select  pixel   clock  frequencies, and  will only  release
  260.        programming information under  non-disclosure.   We are not
  261.        willing to do this (as it would mean  that source cannot be
  262.        provided).  We have had discussions with Diamond over this,
  263.        and they do not  intend to  change  this policy.  Hence  we
  264.        will do nothing  to support Diamond products  going forward
  265.        (i.e.  don't  send us a program  to run  set their clocks).
  266.        XFree86 DOES NOT SUPPORT  DIAMOND HARDWARE.  It is possible
  267.        to make some  of it work, but  we will not assist  in doing
  268.        this.
  269.  
  270.  
  271.   The author of this HOWTO does support this statement completely. If
  272.   you have read this and bought nevertheless a card from Diamond, you
  273.   will damage the idea of free software as Diamond does not support the
  274.   efforts of a free X11 server. There is enough good and affordable
  275.   graphics hardware available from companies that support XFree86.
  276.  
  277.   However, if you are stuck with a card from Diamond, there is a
  278.   compilation of the needed things to get XFree86 running on some of
  279.   these cards. It is called the Diamond.FAQ and can be obtained from
  280.   sunsite in the X11 directory.
  281.  
  282.   Do not ask the XFree86 team about Diamond hardware.  You will simply
  283.   annoy them, and get no information.
  284.  
  285.   For some of these chipsets there are specific README files (to be
  286.   found in /usr/X386/lib/X11/etc). If there is one for the chipset you
  287.   use, read it!  In these READMEs the specific options that can be used
  288.   to configure the server are explained. Currently there are special
  289.   READMEs for ATI, Trident, Tsengm Western Digital, and Cirrus chipsets.
  290.  
  291.   More information on the servers can be found in their manpages.
  292.  
  293.   Later more on configuring the servers [cf. ``The Xconfig File''].
  294.  
  295.  
  296.   4.  Installing XFree86
  297.  
  298.   4.1.  Where do I get XFree86 and what do I need to run it?
  299.  
  300.   This section is dedicated to the Linux binary distribution so all file
  301.   names and site names are for Linux only. If you read this file and are
  302.   not using Linux, you should get your hands on the announcement of the
  303.   according version of XFree86 for you OS. In it you will find all
  304.   necessary information on obtaining it.
  305.  
  306.   You can get the binary distributions of XFree86 for Linux via
  307.   anonymous FTP from
  308.  
  309.  
  310.  
  311.          tsx-11.mit.edu:/pub/linux/packages/X11/XFree86-ver
  312.                  or
  313.          sunsite.unc.edu:/pub/Linux/X11/XFree86-ver
  314.  
  315.  
  316.  
  317.  
  318.   where ver is the version number of the XFree86 release you want to
  319.   obtain (e.g. 2.1 for XFree86 2.1).  The files have names of the form
  320.   XF86-ver-name.tar.gz (versions 2.1 and 2.1.1) or xf86-name-2.0.tar.gz
  321.   where ver is the XFree86 version and name is the name of the package.
  322.   If you already know, which server you need to run, you should not get
  323.   the *-svr* file but the file XF86_servername.tar.gz where servername
  324.   is the name of the server to run.
  325.  
  326.   To get Version 2.1.1, which is only a bugfix release, you have to get
  327.   the complete 2.1 distribution but the server files. In addition you
  328.   have to get the 2.1.1 files (you will probably need only one server
  329.   file, but you should get all the rest).  Install the 2.1 files first
  330.   and install the 2.1.1 files only after that.
  331.  
  332.   Of course you can find it on all mirrors of those two, too. So please
  333.   look for a ftp site near to you mirroring sunsite or tsx-11 to save
  334.   bandwidth.
  335.  
  336.   You can find an incomplete list of sites mirroring these two in the
  337.   bbs-list to be found in the docs directories of both sites. If you
  338.   have access to archie, try using it to find a site carrying Linux in
  339.   your neighbourhood.
  340.  
  341.   The distribution consists of several gzipped tarfiles. As some of them
  342.   are too large to fit on a single floppy, so you might have to split
  343.   those). For a concise description on what the tarfiles contain, look
  344.   at the README file in this directory.
  345.  
  346.   You will need the following setup to run XFree86 (split by versions).
  347.   You have to have at least these versions, later versions will work,
  348.   too.
  349.  
  350.  
  351.        XFree86 version:         2.0         2.1         2.1.1
  352.  
  353.        kernel version:      0.99pl13      0.99pl15  0.99pl15h
  354.        C library version       4.4.1        4.5.21     4.5.21
  355.        ld.so version:            1.3         1.4.3      1.4.3
  356.  
  357.  
  358.  
  359.  
  360.   You can find the most recent versions on most linux sites [cf. ``Where
  361.   do I get XFree86'']. You can find the C library (libc) and the dynamic
  362.   loader (ld.so) in the GCC directory on these sites.
  363.  
  364.   You will need a main memory of at least 8 MB and a virtual memory of
  365.   at least 16 MB (i.e. main memory + swap). It is possible to run X on a
  366.   4 MB machine if you take some precautions on memory usage [cf.
  367.   ``tinyX''].Note that you should nevertheless have 16 MB of virtual
  368.   memory (so if you have 4 megs of physical RAM, you should have 12 megs
  369.   of swap). It is recommended that you have at least 8 megs of physical
  370.   RAM, as swaping is very slow.  With only 4 megs of physical RAM,
  371.   performance will suffer greatly. To run X11 comfortably, 8 MB are
  372.   needed.
  373.  
  374.   If you want to run memory-hog programs from within X (as e.g. gcc) you
  375.   should at least have 16 MB of main memory and another 16MB of swap.
  376.  
  377.   You will need about 17 MB of disk space for the complete installation
  378.   without LinkKit, 21 MB with LinkKit. By deleting those servers that
  379.   you don't need and removing the LinkKit after linking your own server,
  380.   you can save several MB of diskspace.
  381.  
  382.   Before installing XFree86, you should make a backup of all files that
  383.   you changed. They may not be usable, but they still hold a lot of
  384.   information you might want to preserve. (Your old XConfig file will
  385.   not be deleted, but it's allways better to have a backup of this file)
  386.  
  387.   To install the binary distribution you have to do the following as
  388.   root with all needed tarfiles from above. For installing XFree86 2.0
  389.   (which is not recommended) you have to do it from /, for 2.1 or 2.1.1
  390.   you have to run first mkdir /usr/X386 ; cd /usr/X386 [cf
  391.   ``Upgrading''].  To get all permissions right you should run umask 022
  392.   before installing it.
  393.  
  394.  
  395.        gzip -dc tarfilename | tar xvvof -
  396.  
  397.  
  398.  
  399.  
  400.   WARNING: This will overwrite all files from an older XFree86 version,
  401.   of course not the Xconfig file (if you did not link it to Xcon-
  402.   fig.sample, which you should not do). In other words, only if Xcon-
  403.   fig.sample is linked to your Xconfig, it will be overwritten. Many
  404.   other files will be overwritten, though (e.g. the xdm configuration
  405.   files, the system wide twm configuration file, ...). So you should
  406.   backup every file you changed before installing XFree86.
  407.  
  408.   After installing it, you have to set it up correctly to match your
  409.   system [cf. ``Setting up XFree86''].
  410.  
  411.  
  412.   4.2.  How do I compile it myself and where can I get the sources?
  413.  
  414.   You do not want to do this. Only if you really want to make changes to
  415.   the sources because something is not working you should consider this.
  416.   You will need a lot of disk space and CPU time to do a complete build
  417.   of the XFree86 system. Anything you need to know for compiling XFree86
  418.   you can find in the following files (to be found in
  419.   /usr/X386/lib/X11/etc): INSTALL, README, and README.Linux.
  420.  
  421.   Note that you should not compile XFree86 to get rid of some hardcoded
  422.   restrictions (e.g. on the maximal pixel clock) as without these
  423.   restrictions your hardware will probably break down.
  424.  
  425.   To build a server that only includes those drivers you need, you
  426.   should use the LinkKit instead of compiling the complete system. This
  427.   is much easier. Read /usr/X386/lib/Server/README for a description how
  428.   to do this. This file is not included in the standard XFree86 tarfiles
  429.   but is part of the file that includes the LinkKit. This file is called
  430.   *-kit* or *-lkit*.
  431.  
  432.   For adding drivers to the SVGA servers you will only need the LinkKit.
  433.   The documentation how to do this can be found in the
  434.   /usr/X386/lib/Server/VGADriverDoc directory after installing the
  435.   LinkKit package.
  436.  
  437.  
  438.  
  439.   5.  Setting up your XFree86 system
  440.  
  441.  
  442.   This section gives a short introduction on how to set up a XFree86
  443.   system on your computer. The most important (and most difficult) part
  444.   is setting up a Xconfig file. If you have XFree86 2.1.1 and your
  445.   graphic card is in the data base, you should use ConfigXF86 to do
  446.   this. It is comfortable and safe that way. You can use ConfigXF86 for
  447.   many things even if your card and monitor are not known to the
  448.   program. Please use it if you have XFree86 2.1.1.
  449.  
  450.  
  451.  
  452.   5.1.  The Xconfig file
  453.  
  454.   To be able to set up a Xconfig file, you need to read the following
  455.   files that reside in /usr/X386/lib/X11/etc: README, README.Config,
  456.   VideoModes.doc, and README.Linux.
  457.  
  458.   Furthermore you need to read the following manpages: Xconfig, XFree86,
  459.   XFree86kbd, and that of the server you are going to use. This section
  460.   will try to give you an approach to these files as well as making some
  461.   of the statements in those more understandable for the unexperienced
  462.   user.
  463.  
  464.   The Xconfig file can be located in several places:
  465.  
  466.   o  /usr/X386/lib/X11. This is the standard location for the sample
  467.      Xconfig file, but is in some cases not possible to use (e.g. a
  468.      read-only /usr partition).
  469.  
  470.  
  471.   o  /etc.
  472.  
  473.   o  In the user's home directory.
  474.  
  475.   o  As Xconfig.hostname in /usr/X386/lib/X11.
  476.  
  477.      The Linux file system standard places the Xconfig file into
  478.      /etc/X11. This has several causes, but you should never edit that
  479.      file. The XFree86 servers will not expect a Xconfig file at this
  480.      location, so there has to be a link from one of the above places to
  481.      this location.  Find this link first and access the file using the
  482.      link. This way you can be sure your changes will take effect.
  483.  
  484.   To give you some hints, here is a list of what you need to set up the
  485.   Xconfig file correctly:
  486.  
  487.   o  The server that is suitable for you system. To get a hint which is
  488.      the correct one, run the SuperProbe program that comes with
  489.      XFree86. It will identify your chipset and you can look at the
  490.      table above [cf. ``Supported Hardware''], which server supports
  491.      this chipset. Note that SuperProbe can detect far more hardware
  492.      than XFree86 supports.
  493.  
  494.   o  The specifications of your monitor. Most important are the maximal
  495.      horizontal and vertical scan frequency ranges and the bandwidth of
  496.      the monitor. This information should be obtained from your
  497.      monitor's datasheet. See the video mode section ``Setting up video
  498.      modes'' for further information.
  499.  
  500.   o  The name of the chipset for your card. See ``The server section''
  501.      for more information.
  502.  
  503.   o  The available dot clocks for your card or (if supported) the name
  504.      of the programmable dot clock generator. How to obtain these is
  505.      explained concisely in /usr/X386/lib/X11/etc/README.Config.  This
  506.      will be done automagically by ConfigXF86. Note that if you have a
  507.      programmable clock generator, you have to look in the Xconfig
  508.      manpage, whether it is supported. A programmable clock cannot be
  509.      detected properly.
  510.  
  511.   o  Mouse type (this refers to the protocol the mouse is using, not to
  512.      the manufacturer, e.g. a serial microsoft mouse connected to the
  513.      ps/2 port uses the ps/2 protocol, not the Microsoft protocol). See
  514.      ``The easy sections'' for more information.
  515.  
  516.   o  The device name of the device your mouse is connected to. See ``The
  517.      easy sections'' for more information.
  518.  
  519.   o  If you want to use a national keyboard map for the kernel (i.e. you
  520.      are not running the generic US keytable), you should read
  521.      ``International keyboard layout'' to set up XFree86 correctly.
  522.  
  523.      You should read README.Config that is located in
  524.      /usr/X386/lib/X11/etc and follow the instructions there to the
  525.      point. Especially the caveats that can be found int this file must
  526.      be obeyed, otherwise you might damage your hardware.
  527.  
  528.   WARNING: Do not ever share Xconfig files with people  who do not have
  529.   exactly the same Configuration (i.e. graphic card and monitor). By
  530.   doing  this you could  toast your  monitor.  It isn't  so hard  to
  531.   figure out modes (that is, for  multisync monitors) and you surely
  532.   shouldn't ever use a mode that you  didn't check by yourself to be
  533.   within your  monitor's specs.  Even if  you have  exactly the same
  534.   setup  you should check all modes yourself before trying them. There
  535.   are  many people who  run their hardware out of specs which may not
  536.   damage their hardware but could yours.
  537.   5.1.1.  Running ConfigXF86
  538.  
  539.   From XFree86 2.1.1 on there is a great tool available for XFree86,
  540.   called ConfigXF86. It was written by Stephen Zwaska, comments and new
  541.   database entries should be sent to him (stz@netcom.com). This utility
  542.   will give you an easy interface to the database of tested graphic
  543.   cards and monitors and it gives you some tools to configure your
  544.   Xconfig file correctly. The documentation for ConfigXF86 is located in
  545.   /usr/X386/lib/X11/ConfigXF86. Please read this first, it will help you
  546.   to run this program. This documentation is provided in several
  547.   formats. A text version (ConfigXF86.txt) can be read online, a
  548.   PostScript version (ConfigXF86.PS) can be printed if a PostScript
  549.   printer is available. ConfigXF86 can be obtained from sunsite in the
  550.   directory /pub/linux/packages/X11/ConfigXF86.
  551.  
  552.   After having read the documentation, start ConfigXF86 as root.  The
  553.   program cannot be run while a X server is running on the system, so
  554.   run ConfigXF86 (and if needed MakeCard) from the console.  You should
  555.   be able to answer all questions. The program will probe your system
  556.   and will (at least partly) recognize the setup. If both your graphic
  557.   card and monitor are supported, you should not have any problems. The
  558.   only thing you should do is test the video modes and (perhaps) try to
  559.   make minor changes to the video modes to suit your monitor better [cf.
  560.   ``Setting up video modes''].
  561.  
  562.   This utility is very new, so there might be bugs (very probably there
  563.   are). If you encounter any problems, please report them.
  564.  
  565.   If your card is not supported, try to make a card database file using
  566.   the MakeCard program that can be found in
  567.   /usr/X386/lib/X11/ConfigXF86. Please read the next two sections before
  568.   running it as it may help you with some questions.  Having done that
  569.   you can run ConfigXF86 and choose the datafile you just generated.
  570.   Don't forget to send the card data file and the monitor data files to
  571.   stz@netcom.com so that other people may benefit from your
  572.   achievements.
  573.  
  574.   5.1.2.  The easy sections
  575.  
  576.   5.1.2.1.  Remark:
  577.  
  578.   The XFree86 servers parse the Xconfig file in case-insensitive mode,
  579.   so you need not woory about Capitalization.
  580.  
  581.  
  582.   5.1.2.2.  Paths:
  583.  
  584.   There is no reason to fiddle with the standard paths as provided in
  585.   the sample Xconfig file (any distribution that provides a different
  586.   path structure should have edited this section of the Xconfig.sample
  587.   or the template Xconfig file for ConfigXF86).  The only thing that
  588.   could be interesting is the use of a fontserver.  Look at the Xconfig
  589.   manpage if you want use one, anything you need to know is shown there.
  590.   ConfigXF86 will prompt you whether you want to use a fontserver.
  591.  
  592.   5.1.2.3.  The keyboard section:
  593.  
  594.   This is fairly easy. You should set the ServerNumlock option, but
  595.   otherwise only those keyboard modifications that are needed for
  596.   international keyboard support should be needed to set [cf.
  597.   ``International keyboard layout''].  So this section should look like:
  598.  
  599.  
  600.  
  601.  
  602.  
  603.   ______________________________________________________________________
  604.   keyboard
  605.       servernumlock
  606.       RightAlt ModeShift
  607.   ______________________________________________________________________
  608.  
  609.  
  610.  
  611.  
  612.   5.1.2.4.  The mouse section:
  613.  
  614.   The keyword for the mouse section is the name for the protocol the
  615.   mouse uses. The available protocol names are listed in the Xconfig
  616.   manpage. Some remarks on the mouse keywords:
  617.  
  618.   The Logitech[TM] serial mice use several keywords: The MouseMan[TM]
  619.   uses the MouseMan keyword and more recent Logitech serial mice use the
  620.   Microsoft keyword. Older Logitech serial mice use the Logitech
  621.   keyword.
  622.  
  623.   Any mouse connected to the ps/2 port uses the ps/2 keyword (even if it
  624.   is in fact a serial mouse).
  625.  
  626.   As there is some confusion on the Linux mouse devicenames, here is a
  627.   list. The standard names confer to the names as of MAKEDEV 1.2. If you
  628.   are not sure, which kind of busmouse you have, look at the startup
  629.   messages of the kernel. It will identify the busmouse type. You should
  630.   make sure that the kernel busmouse driver is using the same IRQ as the
  631.   busmouse. If this is not the case, you have to change this (either on
  632.   the mouse board or in the kernel). The IRQ for busmouse devices is
  633.   given in /usr/src/linux/include/linux/busmouse.h. The macro MOUSE_IRQ
  634.   contains this IRQ. It is set to 5 by default.
  635.  
  636.   o  /dev/atibm for the ATI XL busmouse (Note: the ATI GU busmouse is a
  637.      Logitech or Microsoft busmouse depending on the version you got).
  638.  
  639.   o  /dev/logibm for the Logitech busmouse (Note: this uses the Busmouse
  640.      protocol, not the Logitech protocol).
  641.  
  642.   o  /dev/inportbm for the Microsoft[TM] busmouse (Note: this uses the
  643.      Busmouse protocol, not the Microsoft protocol).
  644.  
  645.   o  /dev/psaux for a ps/2 or quickport mouse (uses the ps/2 protocol).
  646.  
  647.   o  The other supported mice are serial mice, therefore the device
  648.      names are that of the serial devices (/dev/ttyS? or /dev/ttyS?? for
  649.      Linux).
  650.  
  651.      There are still distributions around that use old or different
  652.      device names than those of MAKEDEV. A list of the major and minor
  653.      numbers for the mouse devices can be found in the/dev/MAKEDEV
  654.      script. If it is missing you can find it on sunsite in the
  655.      /pub/Linux/system/Admin directory [cf ``Where do I get XFree86''].
  656.  
  657.   If you have a two-button mouse, you might want to emulate the third
  658.   button (emulated by pressing both buttons simultaneously) by setting
  659.   Emulate3Buttons in the mouse section. There are quite a lot of other
  660.   settings available that are usually not needed. Look at the Xconfig
  661.   manpage for a list of available settings.
  662.  
  663.  
  664.   5.1.3.  The server section
  665.  
  666.   You should be able to set up this section by using the ConfigXF86
  667.   program. If your graphic card is not part of the database, run
  668.   MakeCard to build a new data file for your card. Many important things
  669.   are probed by MakeCard, but you may need or want to set additional
  670.   options. These options are described in the manpage of the server you
  671.   want to use (MakeCard will suggest the right one) and in
  672.   README.Config. After running MakeCard, run ConfigXF86 to set up the
  673.   Xconfig file.  If you do not have the ConfigXF86 package, you should
  674.   follow the instructions in README.Config to get everything right.
  675.  
  676.   If you want to identify the chipset your graphic card uses, run
  677.   SuperProbe, a program that comes with XFree86 and is capable to
  678.   identify a lot of graphic hardware. Note that SuperProbe can probe far
  679.   more hardware than XFree86 supports.
  680.  
  681.  
  682.   5.1.4.  Setting up video modes
  683.  
  684.   This is the hardest part. Please read VideoModes.doc before doing
  685.   anything here. If you are using ConfigXF86 (which is strongly
  686.   recommended), and your monitor is not in the database, you should
  687.   choose the generic modes and start making own modes from there.  If
  688.   you do not have ConfigXF86, a tutorial on building modes can be found
  689.   in the README.Config and VideoModes.doc files.
  690.  
  691.   ConfigXF86 includes a very neat utility to tune video modes. As there
  692.   is no check on the fitness of a mode, you have to check the mode data
  693.   against your monitor's specifications before testing the mode. The
  694.   first line of the screen for tuning modes gives you information on the
  695.   specifications of the mode. You have to check always that these values
  696.   are within you monitor's capabilities before testing that mode.
  697.  
  698.  
  699.   5.1.5.  International keyboard layout for XFree86
  700.  
  701.   From version 2.1 on the XFree86 servers are able to read the keytable
  702.   from the Linux kernel. So you need to set up only one keyboard layout
  703.   file (that for the kernel). There are some restrictions, though (the
  704.   kernel can support more keyboard functions than X11). X11 can only use
  705.   4 keytables (i.e. only one modifier is allowed, called ModeShift).
  706.   This can be configured using the ModeShift line in the Xconfig file.
  707.   Configurable keys for the ModeShift modifier are LeftAlt, RightAlt
  708.   (=AltGr), RightCtl, and ScrollLock.  By default the ModeShift modifier
  709.   is not used.
  710.  
  711.   Usually the AltGr key is used for national keyboard modifications. To
  712.   enable the XFree86 server to read the AltGr keytable from the kernel,
  713.   you should put
  714.  
  715.   RightAlt "ModeShift"
  716.  
  717.  
  718.  
  719.   Besides supporting only one additional keymap X11 cannot use 'dead'
  720.   keys. A key is called 'dead', if it will not print a character when it
  721.   is typed but only after a second character is typed. Depending on the
  722.   following character, the second character is modified by the 'dead'
  723.   character or two characters will be printed.  A typical example are
  724.   accent keys.  Such keys are not supported by X11. So you need to
  725.   replace all dead keysymbols non-dead equivalents. Here is a list, what
  726.   you have to change:
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.            dead         non-dead
  736.  
  737.          dead_tilde    asciitilde
  738.          dead_grave         grave
  739.     dead_circumflex   asciicircum
  740.          dead_acute    apostrophe
  741.      dead_diaeresis     diaeresis
  742.  
  743.  
  744.  
  745.  
  746.   Instead of supporting dead keys XFree86 supports a Compose key. This
  747.   feature is described in the XFree86kbd manpage and can be modified by
  748.   assigning the Compose function to one of the keys mentioned above. By
  749.   default the ScrollLock key has the Compose function.
  750.  
  751.   If you still want to have the 'dead' keys on the console, you will
  752.   have to use a xmodmap file to map the keys to the right symbols under
  753.   X. This is also the method that must be used with earlier versions of
  754.   XFree86. On sunsite in the directory /pub/Linux/X11/misc example
  755.   xmodmap files for several languages can be found. Note that you have
  756.   to set the ModeShift modifier nevertheless to get the right keytable
  757.   working.
  758.  
  759.   Please read the kbd.FAQ that comes with the kbd package for Linux. You
  760.   will find many hints on modifying your keyboard layout  on the console
  761.   as well as for X.
  762.  
  763.  
  764.   5.2.  The .xinitrc file
  765.  
  766.   To use X, you need a startup file that calls the local modifications,
  767.   the window manager and some application you want to have right after X
  768.   has started. If you are using startx (or runx) to start X, this
  769.   startup file is called 'xinitrc'. There is a standard xinitrc file,
  770.   /usr/lib/X11/xinit/xinitrc (-- This is the traditional location for
  771.   this file. The Linux filesystem standard places this file to
  772.   /etc/X11/xinit/xinitrc in order to allow a read-only mounted /usr
  773.   partition. So you should look at that location first.--)
  774.  
  775.   . If you are not content with what this file does (e.g. you want to
  776.   use a different window-manager), you should copy this file to the file
  777.   .xinitrc in your home directory. After copying the file, you can edit
  778.   it. Look at the manpages for startx and xinit for more information.
  779.  
  780.   Note that both the .xinitrc and the .Xresources file must be readable
  781.   and executable, so run chmod u+rx .xinitrc and chmod u+rx .Xresources
  782.   after editing them.
  783.  
  784.  
  785.   5.3.  The personal X resource file
  786.  
  787.   Sometimes you won't be content with default settings for several
  788.   applications which often don't have a configruration file of their
  789.   own. You can change some of these defaults by setting X resources in
  790.   the .Xresources file in your home directory. Note that you should know
  791.   what effects the setting of the resources has to the programs you use.
  792.   Read the manpages for the program and for xrdb before fiddling with
  793.   the Xresources file. This section is not needed to set up working X
  794.   environment, but to customize a working one.
  795.  
  796.   A resource file looks like an application default file (with the
  797.   difference that in the resoucre file resources for several
  798.   applications are set, you should use the full names
  799.   (Progname.Resourcename) instead of abbreviating the program name by an
  800.   asterisk.  Examples of application default files can be found in the
  801.   /usr/X386/lib/X11/app-defaults directory.  Which resources are
  802.   available for a single application is usually shown in the manpage of
  803.   the application.
  804.  
  805.   If you are running a colour server, you might want to put
  806.  
  807.  
  808.        ______________________________________________________________________
  809.        #ifdef COLOR
  810.        *customization: -color
  811.        #endif
  812.        ______________________________________________________________________
  813.  
  814.  
  815.  
  816.  
  817.   into your .Xresources file if some programs start up b&w and not
  818.   colourful. If the upper change is made (it definetly should be in the
  819.   system Xresources file, so you might hint that to the distribution
  820.   maintainer), a program foo will read both the Foo and the Foo-color
  821.   application default file from /usr/X386/lib/X11/app-defaults, not just
  822.   the first which is the usual behaviour.
  823.  
  824.   Note that the b&w outfit of a program may caused by the program not
  825.   supporting colours.
  826.  
  827.   5.4.  Using xdm
  828.  
  829.   If you want to run X on your system all the time, you could run xdm
  830.   from the system startup. xdm is preconfigured on most systems, so you
  831.   should not have to edit any of the xdm configuration files.  Usually a
  832.   runlevel is attached to a X-only system (look into /etc/inittab), all
  833.   you have to do to get it working is changing the default runlevel. On
  834.   systems that use an init without runlevels (run man init to see,
  835.   whether or not), you should look into the /etc/rc and /etc/rc.local
  836.   files, you usually only have to remove comment signs at the beginning
  837.   of a line that calls xdm. If no such line is present, you probably
  838.   have a system that has no preconfigured xdm. Look at the manpages to
  839.   see what has to be done (and complain to the distribution maintainer,
  840.   if the distribution contains XFree86). If you install XFree86 on top
  841.   of a distribution that is not providing X support, you should get
  842.   enough information from the manpages. Help is also available from the
  843.   X Faq, look at section ``Finding Information'' where to get this.
  844.  
  845.   xdm runs by default the .xinitrc [cf ``The .xinitrc file'']and the
  846.   .Xresources [cf ``The personal X resource file''] files, so look at
  847.   the sections above.
  848.  
  849.   5.5.  Configuration of the window manager
  850.  
  851.   Window managers are a very local issue. There are quite a lot window
  852.   managers available [cf. ``X related packages'']. Configuration of one
  853.   windowmanager is quite different from that of another. You should look
  854.   at your .xinitrc file or the system xinitrc [cf ``The .xinitrc file'']
  855.   file, which window manager is used (hint: most window managers have a
  856.   wm ending) and look at its manpage. Configuration is usually explained
  857.   there.  The most common used window managers for Linux are:
  858.  
  859.   twm (part of the XFree86 distribution), fvwm (this seems to be the
  860.   most popular), olwm or olvwm (from the Xview[TM] package), or mwm
  861.   (part of Motif[TM]).
  862.  
  863.   5.6.  Running X
  864.  
  865.   Once you have set up a Xconfig file, you probably want to run X.  This
  866.   is not done by running X, but by running startx.  When running it for
  867.   the first time run startx 2>1 > Xstartup.log  (--  For csh users this
  868.   should read startx >&  Xstartup.log .--)
  869.  
  870.   to get a log file of the X startup. If problems are encountered, this
  871.   file will help you by providing information for you and for anyone you
  872.   ask about your problems.
  873.  
  874.   If you encounter any problems, please look at the Appendix ``Some
  875.   Questions and Answers'' and at the XFree86 documentation files in
  876.   /usr/X386/lib/X11/etc. These files provide a lot of information on
  877.   what to do if problems occur. If you still cannot solve the problems,
  878.   procede as in Section ``Finding Information''. The FAQs that are
  879.   mentioned there provide help on many problems you have with X, so you
  880.   should get these and read them, too.
  881.  
  882.   You should make sure that the PATH and MANPATH (or path and manpath
  883.   for csh derivates) variables are set correctly.
  884.  
  885.  
  886.   6.  tinyX - a XFree86 based package for low memory systems
  887.  
  888.   Note that while you can run X on 4 MB RAM systems using tinyX, it is
  889.   not useable for more complex applications or several applications at
  890.   the same time.
  891.  
  892.   If you have not enough memory to run the stock XFree86 distribution,
  893.   you might try to get this package. It is based on XFree86, so the
  894.   difficult parts of the configuration (setting up the Xconfig file) are
  895.   identical. To run it you need at least 4 MB RAM and another 12 MB swap
  896.   space.  There are now several tinyX versions, one for each of the
  897.   different servers supplied by XFree86. Please read the above
  898.   description of the servers to get the right version of tinyX. These
  899.   packages are named like
  900.  
  901.   tinyX-YYY-ver.tar.gz, where YYY denotes the server name (without
  902.   leading XF86_)
  903.  
  904.   You can find tinyX on sunsite in the /pub/Linux/X11 hierarchy.  Please
  905.   look in your neighbourhood for a Mirror of it [cf. ``Where do I get
  906.   XFree86''].  You untar it as root from /. After this you have to setup
  907.   a Xconfig file [cf. ``The Xconfig file''].  The documentation and
  908.   READMEs for tinyX as well as most of the XFree86 documentation files
  909.   can be found in /readmes. Read the XFree86 documentation files before
  910.   setting up a Xconfig file as they are required for this.
  911.  
  912.   The tinyX documentation includes a lot of useful information on memory
  913.   saving techniques. You should follow at least some of these
  914.   suggestions, as running X while swapping constantly is no fun at all
  915.   :-(.  If you are running out of memory your system will lock up
  916.   completely (in many cases the only way out is to turn off power or to
  917.   make a hard reset - both is very dangerous for your filesystem). So
  918.   read these files before starting X so that this does not happen. You
  919.   should read the sections on configuring your X11 system, too [cf.
  920.   ``The .xinitrc file'', ``Using xdm'', ``Configuration of the window
  921.   manager'', and ``Running X''].
  922.  
  923.   As tinyX does not include all documentation available with XFree86,
  924.   you might notice that you are pointed to a file that is not included.
  925.   In this case you must get the rest of the documentation files (and
  926.   perhaps the manpages, too) from any XFree86 site [cf. ``Where do I get
  927.   XFree86'']. If you have enough disk space for that, this is highly
  928.   recommended anyway.
  929.  
  930.   Note that XFree86 specific manpages (as the Server manpages,...)  are
  931.   not in the *-man* but in the *-doc* files.
  932.  
  933.   7.  X related packages
  934.  
  935.   There are a lot of packages that are related to X. The first two are
  936.   mentioned by name, as they have a great influence on the look-and-feel
  937.   of X.
  938.  
  939.      Xview
  940.         The xview3L5.1.tar.gz package is a port of SUN[TM]'s xview3.2
  941.         package by Kenneth Osterberg to Linux. It includes the xview
  942.         toolkit, a set of extensions to X. It will give you the look-
  943.         and-feel of the Open Look[TM] extension to X (many will know
  944.         that from Open Windows[TM] from SUN). You can get it in the
  945.         /pub/Linux/libs/X directory on sunsite or in the
  946.         /pub/linux/binaries/usr.bin.X11 directory on tsx-11 [cf ``Where
  947.         do I get XFree86''].
  948.  
  949.         To install it, untar the tarfile as root in some directory (e.g.
  950.         /usr/src), read the documentation that comes with it (most
  951.         important the README) and run the INSTALL script. Note that you
  952.         need about 25MB free disk space to install it completely (with
  953.         examples). This is partly due to the fact that for some time all
  954.         files are twice on the disk. After running the INSTALL script
  955.         and removing the xview3L5.1 directory you will need about 11 MB
  956.         (including all examples). If you do not want to install the
  957.         examples , you will need about 9 MB. If you do not want to
  958.         compile any program that uses xview, you can spare another 2.5
  959.         MB by removing the static (*.a) and stub (*.sa) libraries. Do
  960.         not remove the shared (*.so) libraries, though!
  961.  
  962.         For running Xview you need at least 8 MB of RAM, better 16 MB.
  963.  
  964.  
  965.      Motif
  966.         This is commercial software, so you will have to pay for it. You
  967.         can find an advertisement from Metrolink (a company that
  968.         provides a port to Linux) on tsx-11:/pub/linux/advertisements.
  969.         There are more companies that sell Motif. Every now and then
  970.         advertisements will appear in comp.os.linux.announce.
  971.  
  972.  
  973.      Windowmanagers [cf. ``Configuration of the window manager'']
  974.         Both aforementioned packages provide window managers different
  975.         than the standard twm that comes with XFree86. Many people do
  976.         not like this window manager. There are several further
  977.         windowmanagers available that run on Linux. A selection of these
  978.         can be found on sunsite in the directory /pub/Linux/X11/Window-
  979.         managers.
  980.  
  981.  
  982.      Additional libraries
  983.  
  984.         Sometimes you will need additional libraries to run binary
  985.         distributions of some application or to compile it yourself [cf.
  986.         ``Compiling X programs'']. If the first is the case, you should
  987.         find a pointer to that library in the Readme file of that
  988.         package. If you do not have any pointer, you should look at the
  989.         /pub/Linux/libs hierarchy at sunsite.  Most libraries that work
  990.         on Linux can be found there. If you cannot find it there and you
  991.         have Internet access, you should follow the instructions on
  992.         getting information below [cf.  ``Finding Information'' ].
  993.  
  994.  
  995.      X11 Applications
  996.         There are many programs and applications available for X, far
  997.         too many to give even examples here. Look through the
  998.         /pub/Linux/X11 hierarchy on sunsite for ports of many packages
  999.         to Linux. Most programs need no changes at all to run on Linux,
  1000.         so you should look at the generic X11 program archives as well
  1001.         as at the Linux specific sites. One of the largest X11 sites is
  1002.         ftp.x.org. In the R5contrib directory you can find many programs
  1003.         for X11R5.
  1004.  
  1005.  
  1006.   8.  Compiling programs that use X
  1007.  
  1008.   Please read the GCC-FAQ, that can be found in the docs directories of
  1009.   sunsite and tsx-11 before compiling any programs. Many questions (in
  1010.   fact, most) on compiling programs with Linux are answered there. Many
  1011.   Linux distributions include most relevant FAQs in the directory
  1012.   /usr/doc, so you might look there first.
  1013.  
  1014.   If you have the source code for a program that uses X11, usually it
  1015.   will be shipped with an Imakefile instead of a Makefile. What to do
  1016.   now?
  1017.  
  1018.   Run xmkmf in the directory that containes the Imakefile. If there is a
  1019.   hierarchy of directories with Imakefiles, you usually only have to run
  1020.   xmkmf in the root directory of that hierachy. You can configure the
  1021.   rest by typing make Makefiles. This will build the Makefiles in all
  1022.   directories in the hierachy. Then you should run make depend. Don't be
  1023.   afraid if include files like stddef.h, varargs.h, ...  are not found,
  1024.   they are gcc proprietary header files and therefore not in the
  1025.   standard include directories (XFree86 versions prior to 2.1 use a
  1026.   makedepend not based on gcc -M). After that you can make the program
  1027.   by running make and you can install it (usually in /usr/X386/bin) by
  1028.   running make install, installing of the manpages is done by running
  1029.   make install.man. Of course, before even running xmkmf, you should
  1030.   have read the documentation that comes usually with such packages.
  1031.  
  1032.   If libraries are missing, please read section ``Additional libraries''
  1033.   above.
  1034.  
  1035.  
  1036.   9.  Finding Information on X and XFree86 on the net
  1037.  
  1038.   For general X questions you should read the FAQ
  1039.   (ftp://ftp.x.org/R5contrib/FAQ) and the FAQ-Xt
  1040.   (ftp://ftp.x.org/R5contrib/Xt-FAQ) from the comp.windows.x newsgroup
  1041.   (you can achieve them from ftp.x.org in the directory R5contrib or
  1042.   from rtfm.mit.edu in /pub/usenet_by_hierarchy/comp/windows/x by
  1043.   anonymous ftp).  Many Linux distributions include most relevant FAQs
  1044.   in the directory /usr/doc, so you might want to look there first.
  1045.  
  1046.   Please note that comp.windows.x is the newsgroup for general X
  1047.   questions.
  1048.  
  1049.   If you have questions on the XFree86 package and cannot find an answer
  1050.   in the documentation files (XFree86, Xconfig, XF86_* manpages or the
  1051.   README files in /usr/X386/lib/X11/etc) you may want to post a question
  1052.   to a newsgroup. The appropriate newsgroup for that purpose is
  1053.   comp.windows.x.i386unix, as this newsgroup is dedicated to the XFree86
  1054.   system.  If you have a problem with the server and want to post a
  1055.   question to this newsgroup, you should provide enough information for
  1056.   those that want to help you. It is no good idea telling: XFree86 is
  1057.   not working, what do I have to do? Here some things that should be
  1058.   included in all postings that are concerned with server problems:
  1059.  
  1060.   o  which Operating System and which release of it are you running
  1061.  
  1062.   o  which hardware do you have (at least bus type (ISA/EISA/VLB),
  1063.      graphic card (including chipset, video RAM type (D/VRAM), size and
  1064.      speed))
  1065.   o  a concise decription of the problem
  1066.  
  1067.   o  a printout of the server startup (you can generate that by running
  1068.      startx 2>1 > Xerror.log or startx >& Xerror.log depending on
  1069.      whether you use a bourne shell derivate (e.g. bash) or a C shell
  1070.      derivate (e.g. tcsh) as login shell)
  1071.  
  1072.   o  the used parts of the Xconfig (It is not a good idea to include all
  1073.      lines commented out by a leading #. This would be the largest part
  1074.      of your post and most people will already know the copyright
  1075.      statements :-)
  1076.  
  1077.      Furthermore you should say what steps of trouble-shooting you
  1078.      already did (there are some mentioned in the XFree86 documentation
  1079.      files and in Appendix ``Some Questions and Answers'').
  1080.  
  1081.   Bug reports or questions on XFree86 can be sent directly to
  1082.   XFree86@physics.su.oz.au. This is the contact address of The XFree86
  1083.   Project.
  1084.  
  1085.   There are some other newsgroups that cover X related topics:
  1086.  
  1087.   o  comp.windows.x.apps - for X applications
  1088.  
  1089.   o  comp.windows.x.intrinsics - for X intrinsic
  1090.  
  1091.   o  comp.windows.x.motif - for the Motif extension to X
  1092.  
  1093.   o  comp.windows.open-look - for OpenLook and the Xview extension to X
  1094.  
  1095.      Note that most of these groups have FAQ lists that are posted
  1096.      regularly to these groups. As always with regular postings these
  1097.      can be obtained from rtfm.mit.edu via anonymous ftp.
  1098.  
  1099.   Please do not post X related questions to any newsgroup of the
  1100.   comp.os.linux.* hierarchy. You will get better answers to your
  1101.   questions in those newsgroups dedicated to those questions, as nearly
  1102.   all those questions are not Linux-specific.
  1103.  
  1104.  
  1105.   10.  Why should I upgrade my system and how do I do that?
  1106.  
  1107.  
  1108.   Upgrading will always refer to the latest XFree86 distribution
  1109.   (currently 2.1.1).  First of all, take a look at the bugs section [cf.
  1110.   ``Bugs in XFree86'']. If you are caught by one of those bugs, you
  1111.   should upgrade. You should upgrade, if you want to use one of the
  1112.   newer features.  You should upgrade in any case if you are not running
  1113.   at least XFree86 2.0 as the shared libraries of XFree86 version 2 and
  1114.   those of the earlier versions are partly incompatible. Some bugs have
  1115.   been fixed since then and most binary packages that use X11 are linked
  1116.   with the XFree86 2.? libraries.
  1117.  
  1118.   Every subsection has a list of new features (if there are any)
  1119.   angainst the next newer version.
  1120.  
  1121.   Furthermore you should upgrade if you have problems with your Xconfig
  1122.   file and want to use the new ConfigXF86 utility.
  1123.  
  1124.  
  1125.   10.1.  Upgrading from XFree86 versions before 2.0
  1126.  
  1127.   You should get the complete distribution but the fonts files (*-fnt*)
  1128.   which have not changed.
  1129.  
  1130.  
  1131.   10.2.  Upgrading from XFree86 2.0
  1132.  
  1133.   You should get the complete libraries and programs file, as there are
  1134.   some bugfixes (most important several security holes in xterm).  New
  1135.   features in 2.1 are:
  1136.  
  1137.   o  kernel keytable support.
  1138.  
  1139.   o  8bit colour lookup table support for some RAMDACs (S3 &Mach32
  1140.      servers).
  1141.  
  1142.   o  Support for SPEA Mercury, TI RAMDACs, additional line lengths, and
  1143.      (preliminary) Bt485 (S3 server).
  1144.  
  1145.   o  Better DRAM card support (S3 server).
  1146.  
  1147.   o  Pixmux code for some RAMDACs (Mach32 server).
  1148.  
  1149.  
  1150.   10.3.  Upgrading from XFree86 2.1
  1151.  
  1152.   You only need to upgrade if you have problems due to one of the bugs.
  1153.   If you start using XFree86 you should get 2.1.1, as many bugs have
  1154.   been fixed and there is a new configuration utility that will make
  1155.   installation much easier.  New features in 2.1.1:
  1156.  
  1157.   o  ConfigXF86
  1158.  
  1159.   o  full Bt485 support (S3 server).
  1160.  
  1161.  
  1162.   K.  Bugs in XFree86
  1163.  
  1164.   K.1.  XFree86 2.0
  1165.  
  1166.   The know bugs in XFree86 2.0 are:
  1167.  
  1168.   o  No Bt485 pixmux support (S3 server) - fixed in 2.1.1.
  1169.  
  1170.   o  Font restauration and text mode restauration are not working
  1171.      correctly on some S3 cards (S3 server) - fixed in 2.1.1.
  1172.  
  1173.   o  No line length of 1152 supported (S3 server) - fixed in 2.1.
  1174.  
  1175.   o  Linear Frame buffer code buggy (S3 server) - fixed in 2.1.
  1176.  
  1177.   o  LinkKit bug (S3 & VGA16 server) - fixed in 2.1.
  1178.  
  1179.   o  The Compaq AVGA driver is not working correctly - fixed in 2.1.
  1180.  
  1181.   o  The clock probing code is not working for WD90C3? cards - fixed in
  1182.      2.1.
  1183.  
  1184.   o  The ATI SVGA server is not working correctly - fixed in 2.1.1.
  1185.  
  1186.   o  The Mach32 server has problems to detect some more recent revisions
  1187.      of the mach32 chip.
  1188.  
  1189.   o  There are some bugs in the accelerated Cirrus server.
  1190.  
  1191.   o  There is a problem with xset fp rehash due to the memory management
  1192.      - supposedly fixed in 2.1.1.
  1193.  
  1194.  
  1195.  
  1196.  
  1197.   K.2.  XFree86 2.1
  1198.  
  1199.   The know bugs in XFree86 2.1 are:
  1200.  
  1201.   o  The Bt485 pixmux support (S3 server) is only working for some cards
  1202.      (SPEA Mercury). It is not working on most other cards (#9, STB
  1203.      Pegasus,...)  - fixed in 2.1.1 for most cards.
  1204.  
  1205.   o  Font restauration and text mode restauration still not working
  1206.      correctly on some S3 cards - fixed in 2.1.1.
  1207.  
  1208.   o  The ATI SVGA server does not work correctly - fixed in 2.1.1.
  1209.  
  1210.   o  The Mach32 server has problems to detect some more recent revisions
  1211.      of the mach32 chip.
  1212.  
  1213.   o  Less bugs in the Cirrus drivers, but there still are some.
  1214.  
  1215.   o  Still problem with the Compaq driver - fixed in 2.1.1.
  1216.  
  1217.   o  still xset fp rehash problems - fixed in 2.1.1.
  1218.  
  1219.   K.3.  XFree86 2.1.1
  1220.  
  1221.  
  1222.   o  Some not yet resolved problems with the Mach servers.
  1223.  
  1224.  
  1225.   L.  The Future of XFree86
  1226.  
  1227.   At the moment the XFree86 team is working on X11 release 6. The next
  1228.   version, XFree86 3.0 is based on X11R6 and is incorporated in the
  1229.   official X11 distribution. This release is not yet useable on Linux
  1230.   (at least parts of it). Please wait until XFree86 3.1 is released
  1231.   which will provide all features of both X11R6 and the current XFree86
  1232.   version (2.1.1).
  1233.  
  1234.   To get version 3.1 working is first priority for the XFree86 team.
  1235.   After this is done, new features and new hardware will be worked upon.
  1236.  
  1237.  
  1238.   M.  Some Questions and Answers
  1239.  
  1240.  
  1241.   Q: I noticed that X11 Release 6 has been announced. Can I use it on
  1242.   Linux?
  1243.  
  1244.   A: Please look at appendix ``The Future of XFree86'' above. You should
  1245.   not use it at the moment.
  1246.  
  1247.   Q: I started X by running 'X'. I get the stippled background, but no
  1248.   window at all. What am I doing wrong?
  1249.  
  1250.   A: Running X starts only the server, no window-manager and no
  1251.   applications. The usual way to start X is running 'startx'.
  1252.  
  1253.   Q: Is there support for 16-bit or 24-bit colour modes?
  1254.  
  1255.   A: No, there is only support for 1-bit, 4-bit and 8-bit colour in the
  1256.   moment.  The 4-bit server (XF86_VGA16) is in an experimental stage, so
  1257.   there are bugs and problems using it. Most of the known problems are
  1258.   mentioned in the manpage.
  1259.  
  1260.   Q: I have a Logitech serial mouse but it does not work with the
  1261.   Logitech keyword.
  1262.  
  1263.   A: The Logitech keyword is for older Logitech serial mice, more recent
  1264.   Logitech serial mice use the MouseMan or Microsoft keyword. Logitech
  1265.   serial mice plugged into a ps/2 port use the ps/2 keyword.
  1266.  
  1267.   Q: My server is unable to find some of the fonts (e.g. font fixed
  1268.   cannot be loaded at startup).
  1269.  
  1270.   A: First check that the directories in the font path in the Xconfig
  1271.   file are named correctly and contain fonts. If that is the case,
  1272.   running mkfontdir in all of those directories may help you.
  1273.  
  1274.   Q: I have the problem that the fonts are not restored correctly after
  1275.   leaving X. My screen looks totally garbled.
  1276.  
  1277.   A: This is not yet completely resolved. There are utilities called
  1278.   runx , restoretext,... coming with svgalib (sunsite:/pub/Linux/libs)
  1279.   that help in most cases. In the S3 server from XFree86 2.1.1 this bug
  1280.   is fixed.
  1281.  
  1282.   Q: I have a s3 card and it does not work properly. The screen gets
  1283.   distorted when dragging windows and it frequently locks up.
  1284.  
  1285.   A: First try to use options nomemaccess or nolinear. If both does not
  1286.   help and you have a s3 928, try specifying chipset s3_generic in your
  1287.   Xconfig. If nothing helps, it might be a incompatibility problem
  1288.   between your graphic card and your motherboard. Try to see if the card
  1289.   works in a different system, if you can get your hands on one.
  1290.  
  1291.   Q: I had a normal SVGA card up to now with 1 MB of video RAM. With it
  1292.   I could do a virtual resolution of 1152x900 or 1024x1024. Why does it
  1293.   not work on my new s3 card?
  1294.  
  1295.   A: All but the most recent revisions of the s3 chips cannot use a line
  1296.   length of 1152, so a length of 1280 is used for this resolution in
  1297.   XFree86 2.0. The later versions can use the line length of 1152 for
  1298.   the more recent revisions. If you have a new revision, grade up to
  1299.   2.1.1 and it should work.  Furthermore the s3 server needs 1k for the
  1300.   cursor, so a virtual resolution using 1MB will not work.  Note that
  1301.   you will need some memory on the graphics card for font and pixmap
  1302.   caching if you want to get maximum performance from your graphic card.
  1303.   So the memory is not wasted, but will get you a great performance
  1304.   boost. Try running some font or pixmap specific mode of x11perf with
  1305.   maximal allowed virtual resolution (e.g.  1024x1023) and with 1024x768
  1306.   and compare the results!  Recommended resolutions are 1024x768 and
  1307.   1152x800 for 1MB cards.  With the older chip revisions the latter
  1308.   resolution leaves not too much memory to the font cache, so you will
  1309.   have a performance loss using large fonts. For normal use with fonts
  1310.   up to 18 points it should be OK, though.
  1311.  
  1312.   Q: I have a s3 Localbus card and the server cannot find a high memory
  1313.   area. Then it disables direct memory access. What should i do?
  1314.  
  1315.   A: There are some strange problems with Localbus cards. It is being
  1316.   worked upon. If you are using XFree86 2.0, put option "nolinear" and
  1317.   option "memaccess" into your Xconfig file. This will enable the server
  1318.   to use the 64k aperture that is supported even for ISA cards.  This
  1319.   will furthermore prevent the following problem (this bug is only in
  1320.   XFree86 2.0): Due to a bug in the linear frame buffer code, the s3
  1321.   processor is not reset correctly, once a large (e.g. 1024k) linear
  1322.   frame buffer is found. Thus the server will not work after that if it
  1323.   fails to find the high memory area until a hard reset is sent to the
  1324.   chip (i.e.  even a normal reboot will not reset the system).
  1325.  
  1326.   Q: I have a WD90C3x based graphic card. XFree86 2.0 seems not to probe
  1327.   the clocks correctly. What can I do?
  1328.  
  1329.   A: Yup, there is a bug in the clock probing code in XFree86-2.0. It is
  1330.   fixed in 2.1. Grade up!
  1331.  
  1332.   Q: I have a Diamond Viper card. Why does it not work?
  1333.  
  1334.   A: In addition to being a Diamond product, this card is based on the
  1335.   P9000 chip by Weitek. This chip is not yet supported by XFree86, so
  1336.   you have only a chance to get it working with one of the generic
  1337.   servers (i.e. Mono or VGA16). You will have nevertheless the clock
  1338.   setting problem that prevents the other diamond cards from working.
  1339.  
  1340.   Q: I have a card with the Compaq AVGA chip. It does not work.
  1341.  
  1342.   A: The AVGA support seems to be completely broken in 2.0. This is
  1343.   fixed in 2.1.
  1344.  
  1345.   Q: I have a busmouse and am running selection. The server has problems
  1346.   with recognizing the mouse.
  1347.  
  1348.   A: Selection has some problems with busmice. XFree86 cannot open the
  1349.   mouse device if selection is running on it. So kill selection before
  1350.   starting XFree86.
  1351.  
  1352.   Q: The server dies with the message "Cannot find a free VT".
  1353.  
  1354.   A: XFree86 needs a free VT to run on. So if you have put a getty
  1355.   process on every virtual console in you /etc/inittab, XFree86 will not
  1356.   be able to start. I suggest to let /dev/tty8 (for kernel messages) and
  1357.   /dev/tty7 (for XFree86) free of a getty process.
  1358.  
  1359.   Q: Why is the XF86_Mono server not working with my hercules card, I
  1360.   thought this card was supported?
  1361.  
  1362.   A: The hercules driver (as well as the BDM2 driver) is not part of
  1363.   XF86_Mono by default. Get the LinkKit and you can include it.  You
  1364.   will need about 4 MB free disk space and about 5 minutes for building
  1365.   the server (on a 486/30).
  1366.  
  1367.   Q: I have problems with the backspace and delete keys.
  1368.  
  1369.   A: You can solve this using either loadkeys or xmodmap. In your shell
  1370.   initialization file (.bashrc, .zshrc, ...) you have to set the right
  1371.   behaviour of the shell using stty. Please read the manpages how to do
  1372.   that.
  1373.  
  1374.   There are a lot strange phenomena reported that cannot be handeled
  1375.   here.  If your card has a switch for bus waitstates, it helps in many
  1376.   cases to put this to the 1WS setting. You should also look at the
  1377.   remarks above on setting some BIOS values. As many reports (especially
  1378.   on BIOS setting) are contradicting, you should try several settings.
  1379.  
  1380.  
  1381.   N.  Acknowledgements
  1382.  
  1383.   Dirk Hohndel (hohndel@aib.com) and David E. Wexelblat (dwex@aib.com)
  1384.   helped writing this HOWTO.
  1385.  
  1386.  
  1387.   O.  Trademarks
  1388.  
  1389.   XFree86 is a trademark of The XFree86 Project, Inc.
  1390.  
  1391.   Motif is a trademark of the Open Software Foundation.
  1392.  
  1393.   SUN, Xview, and Open Windows are trademarks of SUN Microsystems.
  1394.  
  1395.   Open Look is a trademark of AT&T.
  1396.  
  1397.   Microsoft  is a trademark of Microsoft.
  1398.  
  1399.   Logitech and MouseMan are trademarks of Logitech.
  1400.  
  1401.   Intel and Pentium are trademarks of Intel.
  1402.  
  1403.   PostScript is a trademark of Adobe.
  1404.  
  1405.