UWVFP(FP0؋F&O F&G&G < ʋЋƋ$6&~&6&F&9EtL2p P3PF&EĞ&(6&>p t*6&>v t
T F&EF  ,6&> ~F  vFĞ&^&9~ Ì~ڹ- F*Ftz8ftF^&8Gui~ tF^&8GuWF+F;F| F9Fu~ tF@t8F^&8Gt,F+F;F~<.6&> t0^&GĞ&v&@F[FF,6&9~2F^&8GuFuӋvzvĞ&7X06&?&& DPĞ&& & 	26&>| u46&z  66& ^&Gȋƻ[ ؎86&>&I86&&a~ t;F*PĞ&& & 	46&z  F*Pv:6&&ud26&>| u46&z  Ğ&& & 	<6&6&6`	 P,>6&F&Ht8PP
|FPPh
P :6&6&6P
|FPPh
P *6&>v t	 B l PP ]	@6&6&6`Ğ&& & 	pP 	B6&R&TĞ&7FD6&FF6& fĞ&7FtH6&&J6&H6&J6& f% = ؎L6&FD6&FF6& ^_]ːU VN6&6 &6rP
N6&6 &6"P
vPrPh
P"Ph
FPrPXX@uNFP"PXX@uQN6&6 &6"P
P6&6(&6&"Ph
FP"PXX@u FV9Vv r9Fv ~ } 	~[s  PrPCu Ɔr  PrPVj36d6brP
udp P~QPVj3FPF- P86&6&6VPR6& [ RPFV-  RP,6&V2^]U WV+PP(FVN6&6 &6FP
N6&6 &64P
PFPh
P4Ph
FP4PXX@uQN6&6 &64P
P6&6(&6&4Ph
FP4PXX@u3FV9Vw1r9Fs*FVFV06&X& & 	FVFVFVPPFPCu  P6d6bVh4p P~QPVh43,602&9?~Dv3ɉNރ,.&Gt&u&g[GĞ0&9?ЋvFP[ Ğ0&/P86&6&6VWV2FPFPR^_]ːUTWVN6&6 &6FP
PFPh
PFPVt)FPV Qp Q~RQxWV^_]ːU"WVFP(FP0V< &m&EFT6&F&M FF&EF  ~,6&F 86&& ؉V$6&FN9Nu ~ t	F&u|v&DF&8Gtl&G
*Fta&G:F
tF&D8FuJF&G9F
tF&D8Fu0Fw&F;FF&@t +~9~~~[A9N~a~} +FFf~@~F 39N 86&&> ؉V~؃~ tFw&uZFw&*FtJF&F
t	F&8Eu4Fw&F
t	F&8EuFw&FF;F}F[A9N~V~ t} ^_]ːear all searchU WVPVt5P 6	u$FPVVP
VP ƆV PVPh
FPVPXXt$VPP(P P~W PVuP(P P P-PVP26	
FVu$VP0P(P PvvW PvV;t2VPLP(Pvv Pvvt$VPwP(P PF
 3RT&7&GLX"3NP&&G&<pt#pPWP(P PĞN&&WVF ~> MVv~~؎ZX& &+ǋV& &PIuvĞN&F&7&GĞR&&&GÌ V&$3&	&> 
&
&	ߎ&&3&OF&&&ʋH(3JL&&G*3&&F&ʋFPQ"@F ĞJ&&?~G~ VvN~& &+ǋV& &PAĞJ&&9ڋ~v*3&F&7&GĞJ&&@&GF,3&>
&
M.3&& ^_]ː&u0U.WV4Z9&  3\9&6^9&"`9&b9&r
d9&bf9&dh9&fj9&h+ɉNNvvZ 	RP"PrQP
V^V۹ ^VNV l9&>n u-n9&X&B&@	"P|	3brQPt~
 PvvPt!2PP ]	p9&tN 릐2PP ]	p9&u,
QP2PP ]	p9&u0~+PP(FV P+PP(ȋ+FV~9&&SQvvvVr	FV~9&&d 3SQRPFVd RPvvFVvvRP< RPSQRPvv⚺RPFމVTSQvvމFډVܚT< 3SQvvF։VؚFV؋Nڋ^+SQF҉VԚT+FVRPvvvvvvZ 	RPn9&X&r&p	N ~9&pr9^F&? tt9&>v t^&? t;^9&>" u\9&>6 u`9&> tPvv^&? tMt9&>v tA P Pv9&68&66`  Px9&GPv9&68&66 t ظ[ .ظ&&،F&Gt1&9}&Gع&;z
~36&z
F&9G|&Fu
&> tF&Gu
&
t~ u
&> tF&Gt
&
u PvvPt}pr9^F&? tMt9&>v tA P Pv9&68&66`  Px9&JPv9&68&66+PP(FVz9&>| u|9&z  ,
QP|%^&? tMt9&>v tA P Pv9&68&66`  Px9&GPv9&68&66 Pvv P n9&X&F&D	 Pvv Pr9&>p tMt9&>v tA P Pv9&68&66`  Px9&GPv9&68&66 ^_]UWV P3Z9& P
QP9+& &
~u19&9>"t2PP ]	p9&u
|]	u9& 9&F|#[ n9&&@t9&  2P
P ]	=tz9&>| u|9&z  r9&>p tt9&>v tT 9&>" t2PP ]	p9&tt 3P t 9&N&Ltsd P 	FV|]	t6~vv` 	u!d P 	FV]	|]	u͚]	3P9&6N&6L tmpP 	FVRP` 	tP~|]	t@2P
P ]	=t*	vv` 	t	3b2PP ]	p9&t;3PN ^9&>" u\9&>6 u`9&> t N ( ^_]ːU WV9
&? |%[ &/9&&~ڹ- Ğ
&? } ^9&>" t5~ t/F*Pn9&X&N&L	F*P3~9&& t1B*PWn9&X&R&P	
B*PFF;r`9&? u\9&>6 t?Ğ
&? |5~ t/F*Pn9&X&V&T	F*PO9&&uĞ&? u\9&>6 u^9&>" u n9&X&Z&X	9&6&6`	 P,9&6&6P
Ğ
&? |FPPh
 P  PP ]	n9&X&^&\	9&6&6`pP 	9&R&T3^9&"\9&6Ğ&^_]ːU욀"P9&6&6n9&X&&	9&6&6`嚖t9&>v t9&63P]	9&>L tr9&>d u.]	v]UVvu3,ȋƙ+T؋ʙùd P 	^]ːUWV~9&B&DF&9Eu	&9U
u&E
&Eu
9&& 9&6&6KP
KP"KF^F  9& & u ~N؋W&9Du&9T
tGGu 9&&Vu VV&? u$~9&> t3"PvW ~^FFG&< u^&7"PvW_9&6&6KP
KP"K^9&F&9t&9&> uF&5"PDvP
K^_]ːUt9&>v ur9&>p u3P,9&@P"PrQP
 P Q9&6&6` rQP9&6&6Z 9&@P9&6
"PrQP
 P P9&6&6` rQP9&6&6Z  9&bFt'P9&6&6"PrQP$9&6&6#PrQP P Q9&6&6` #P9&6&6Z  P P9&6&6` rQP9&6&6Z 3P9&6^ 	]ːt9&>v t&r9&>p t  P9&6&6 ːU.WV~FL^ }dǹ[ FԻ9^֌F&&GtFLBƌ@V~ t	F& ^&^&GtFF&C~ t
FF& ^&^&GtFF&D~ t
FF& ~ t$^&^&G@tFF&FFF& ^&^&GtFF&H~ t
FF& ^&^&GtFF&K~ t
FF& ^&^&GtyFF&L~ ti^&^&GF|@P+#+FP0#PFP
FڌҋȎڋ6? t!vNG^F&= uv~~ t$^&^&GtFF&MFF& ^&^&GtFF&N~ t
FF& ^&^&GtFF&S~ t
FF& ^&^&G tFF&R~ t
FF& ~ t^~&=&At
FF&XF& FL^_]ÐUt9&>v u r9&>p u 9&> u3P9&6+RP9&@P5#PrQP
 P Q9&6&6` rQP9&6&6Z 
 P P9&6&6` vv9&6&6Z T ]U WV3Pz9`b&? }Tt9&>v uEWĞ`&@PXn9\^&&f&ddP P P9XZ&w&7` dPĞX&w&7Z  PĞ`&7؋F&? tTPVĞ\&&j&hdP PPĞX&w&7` dPĞX&w&7Z 9TV&G&u9&w&7dP
A#PdPh
 PJ#PdP26	
Vu FPV QQNQFWV~ u vrĞT&w&7dP
M#PdPh
3PdQNQ* 6	
uqvFP; PdPFP* 6	
t@2 P PĞX&w&7` Ğ\&&n&lĞX&w&7Z T ^_]R$bCLS U.WV4 ع 4&
  &QP(4+&,&*&(&0&.p4^F&9t&4&9vtotice and authorship remains intact.
&? u - ~ٹ ~ t%FFF  4&F~FF  FP	RP4&6 &6 
PrQPrQPBFP	RP
PrQPrQPBF~js)+FFFFFF4^ތF&4&>v% 4^ڌF&4&>x^&4&
4&9s4&>  t^&3PN։VRQ QD~ u 
QP P	tuHtpHtHHtMcuW^&^&ub 4&h4&d4&X&&	뤚u
^&^&u2봎4&h 3P4&T 4&h t
F҉NԐ3^&9?~14&t&4	QPFuG^&9?ҚHu HuGHtvHu }W4&t
 ;E2PP ]	4&u)FP P	3Pvvָ P4&u^&^&t 4&d4&h4&X&&	u^&^&t밐62PP ]	4&u_4&> tPFP P	3Pvvָ P"2PP ]	4&uFFP Q	F  4&^&? tp4&>v td4&6&6
PrQP
 P P4&6&6` rQP4&6&6Z T 4&h 3PO
QP P	4&^&? tp4&>v td4&6&6
PrQP
 P P4&6&6` rQP4&6&6Z T 4&T4&h  
QP P	4&^&? tp4&>v td4&6&6
PrQP
 P P4&6&6` rQP4&6&6Z T 3P 5&	 5&b4&d5&f4&h Pvvָ Pf3Pvvָ PQ^_]WV+ 




&&r
&&6&"&&
& ع ^_ːUVXP 	FVRP` 	uuv2PP ]	4&tY	uP2PP ]	 tFF&
t*<t&P]		vv` 	t '2PP ]	:]	
 P	]	3^]ːU(WVb5&? u]v
vFVFtHt#HuHuHu )F  396F~(D Pv
vWd
uF;6F|ۋ~F
&} t=&u&uvvPbPF
&u/PFP
2vvbP
F
&u&u8PFPFǇF  Ğ&7bPEPPTPPVus5&&tZFǇF bP
Ğ&7bPWPPfPPVFu-~ uyP4&X&>&<	UFPVFPbPh
bPP<uX9Ft!bP4&X&B&@	FDF^FFV
~ ~ t+v
vZ 	RP4&X&F&D	PB>F uy396F~%D Pv
vWd
t
F;6F|96F/~ u=v
vZ 	RP4&X&J&H~F
&} t=&u&uvviPbPF
&uyPFP
2vvbP
F
&u&uPFPF? t5&6&6bP
FPbPh
  F;6F}rFFFFDFDFF+ƉF~vF^ ^F^FFFNuFbPBu$9FubP4&X&N&L?~ u bP4&X&R&P	 5&&u Ğ&7PPbPPbPRPD5&&t-Ğ&7PPbPbPB3^_]U($
5^ތF&? u 5^ڌF&G&u t66` 	u d P 	5&bFtP^&w&7PNFP^&w&7PNFPFPNFPXXuDNFPB^&74&X&&	5&z  ^&7]39&RzLxL9&9ptI9&9vt> PP9&6&6` #P9&6&6Z T #P|	]	9&$PP ]	 Pu 9&X&N&L	3n9&>p tJ9&>v t> PP9&6&6` #P9&6&6Z T $P|	 PV39&RzLxL9&9ptH9&9vt= PP9&6&6` &$P9&6&6Z T 
H$P|	:]	9&$PP ]	3PNtz9&>p tK9&>v t? PP9&6&6` S$P9&6&6Z T u$P|	3P u4^ːUWV9&
&
VȋڀFV$PSQ
$PvW
QPr9&QPZ 	RP$P	9&QPZ 	RPvW'3FF9&9~Q~9&9>t,$PvvPVZ 	RPvvG9&9>~$PvW89^F+&G&9Ft
QP:'~ uZzL0QP:~9^&G&t- P&w&7vv<
^&G SvW%$PvW~ t)9&>^ u9&>` t$6$1$+9&t$PvW9&u$PvW$PvW9&>بt+&~ u:&#Ft &ِFt vt
 &6بt$`~ t6 t$PvW t$PvWƨt3$" t$ t$
ƨt$PvW9&t~ t9&>z u$PvW$PvW$PvWw$PvWh9&>ju9&X&&$ډFVRP9&69&6$P P%PvvvvvW%PvW9&6&69&6&6 :&6&6#%PvvvvvWB:&6&6:&6&6:&6&60%PvvvvvW=%PvWD:&&&(0T|RPE%PvvvvvWvW"9&$PP ]	F  pP 	FVv~vvO%PvV
vV"PvVj!	F P Q\%QJ]	 PvV"PvVJ]	 PvvvJ]	F  ~ ~;~v^^ ؋Ǌ*3QǊ*&3ZF;v|։~v]	v_%PvV
 PvV"PvVJ]	FF= v P 	FVvv` 	t 2PP ]	
:&uvv` 	t|]	u	t 	3P(	-* ui%PvV
vV2ui6`#6^#vVFuN6p#6n#vvFt  ~9&X&&e%PFPWƋFv 2PP ]	9&X& & V\2PP ]	
:&u9&X& & ˎ9&X&&k%PFPVǋFvW	3^_]UWVF ǆP  Ɔ{ ǆ8o%:ǆ<w%>ǆ@~%BǆD%FǆH%J+NL9&
&
vx~prt89
+&G&n9&9ptH9&9vt= PP9&6&6` %P9&6&6Z T 
%P|	T:& P 	FVpP 	FV+FF{{<vv~ uZ6`#6^#%P~V P~V"P~VJ]	Unix and Unix-like operating systems.  The XFree86 servers are partly
    derived from X386 1.2, which was the X server distributed with X11R5,
    but many of them are newly developed. The accelerated servers that are
    the most important change since XFree86-1.3 are completely new. This
    release consists of many new features and performance improvements as
    well as many bug fixes.  The release is available as source patches
    against the MIT X11R5 code, as well as binary distributions for many
    architectures.

    Note that while the source and installation trees retain the name 'X386'
    name (for simplicity of maintenance of the source tree), there is no
    connection between XFree86 and the commercial X386 product sold by SGCS.
    The XFree86 Core Team maintains technical contacts with SGCS in an
    effort to keep user-affecting changes to the workings of the products
    from diverging too radically.  There is no direct involvement of either
    group in the workings of the other.

    You will find more information on the XFree86-2.0 release and the
    XFree86 project in the file README from the documentation tarfile.

1. Supported Hardware

    As this is the most often asked question, this will be the first
    section.  Currently XFree86 (Version 2.0) supports the following
    chipsets in the XF86_SVGA server (note that it depends on the chipset
    whether a card is working and not on the vendor, with Diamond notably
    excluded, cf. the remark at the end Introduction - What are X11R5 and XFree86?
   1. Supported Hardware
   2. Where do I get XFree86 and what do I need to run it? 
   3. Configuring XFree86
   4. tinyX - a package for systems with low memory
   5. X related packages
   6. Compiling programs that use X
   7. Programming in X
   8. Finding Information on X on the net
Appendix: Some Questions & Answers
      Copying conditions & Trademarks

0. Introduction - What are X11R5 and XFree86?

    X11R5 is a windowing system for UN*X like operating systems.  The X
    Windowing System is issued by the MIT Consortium (look at the X(1)
    manpage for more information) and is put under a very liberal copyright,
    that allows any use of source code provided that the original copyright
    notices are included.
    As X is THE standard windowing system for UN*X operating systems, there
    are a lot of applications using it (both free and commercial).

    XFree86 is a port of X11R5 that supports several versions of Intel-based
    ipsets. Please run the XFree86-1.3 server to probe
            for the clocks and put these into your Xconfig file. Having
            done that, you can use the XFree86-2.0 server.  
         NOTE: If your RAMDAC can handle pixel clocks higher than 110MHz,
            it is probably one of the more recent high-end RAMDACs. As
            all of these (as far as it is known) use special features to 
            make this possible, these RAMDACs should not be run at higher
            clocks than 85 MHz. Support for such RAMDACs (at least for
            some of them) will be in the next release of XFree86. If you 
            drive your RAMDAC too high with the current code, you will fry
            it. So if you have such a card, do not use clocks higher than
            85MHz (simply by not putting modes using clocks higher than
            that into the Xconfig file).
    5. The protocol your mouse uses and the device it is connected to. The 
       available mouse protocols are listed in the Xconfig manpage. You 
    have to use the keyword according to the protocol your mouse uses
    and not the manufacturer,... The standard names of the mouse 
           devices for Linux are:
       /dev/atibm for the ATI XL busmouse (NOTE: the ATI GU busmouse
                                is in fact a logitech busmouse)
       /dev/logibm for the Logitech busmouse (NOTE: this uses the 
                                busmouse protocol, NOT the Logitech protocol)
       /dev/inportbm for the microsoft busmouse
       /dev/psaux for a ps/2 or quickport mouse
       NOTE: these are the new device names (as of MAKEDEV 1.2). Some 
       distributions and systems have different device names:
            new       old               major    minor  device number
          atibm:     bmouseatixl         10        3
          logibm:    bmouselogitec       10        0
          inportbm:  bmousems            10        2
          psaux:     bmouseps2 or ps2aux 10        1
       The other supported mice are serial mice and therefore connected
       to one of the serial ports (named /dev/ttyS? or /dev/ttyS?? for Linux).

    For busmice it is sometimes not easy to see which device they are using.
    Simply put all drivers for busmice into the kernel you use and look
    at the startup messages. These will tell you, which busmouse has been 
    detected. From these messages you can get the device name.

    So now procede as in README.Config. If your Monitor is not listed in the
    modeDB.txt file, you should try one of the generic modes.  ENSURE THAT
    THE SPECS OF THE MODES ARE WITHIN THE SPECS OF YOUR MONITOR.  If you
    want to tune these modes or to compute a mode of your own, you MUST read
    VideoModes.doc and follow the instructions there.  Before trying a mode,
    compute the specs of this mode and again look if your monitor does
    support it. Here is no further description of computing VideoModes,
    as you should not do this without having read VideoModes.doc.

    WARNING: Do NOT EVER share Xconfig files with people  who do not have
       EXACTLY the same Configuration (i.e. graphic card AND monitor). By
       doing  this you could  toast your  monitor.  It isn't  so hard  to
       figure out modes (that is, for  multisync monitors) and you surely
       shouldn't ever use a mode that you  didn't check by yourself to be
       within your  monitor's specs.  Even if  you have  exactly the same
       setup  you should check      all  modes yourself   before   trying
       them. There are  many people who  run their hardware out of  specs
       which may not damage their hardware but could yours.


3.1 Configuring the keyboard for non-US-layout

    If you do not change the standard settings, the server will start up
    with an US-american keyboard layout regardless which keyboard layout was
    configured for the kernel. If you want to have a different layout, look
    at the xmodmap(1) manpage. There are example Xmodmaps available at
    sunsite.unc.edu:/pub/Linux/X11/misc for several languages and keyboard
    layouts.
    Note that you might need to define a map for several special keys (as 
    e. g. Meta, Compose, ..) in the Xconfig file to make complete use of
    these keymaps. For information on the keyboard capabilities of
    XFree86 read the XFree86kbd(1) manpage. Furthermore you should 

4.  tinyX - a XFree86 based package for low memory systems

    If you have not enough memory to run the stock XFree86 distribution, you
    might try to get this package. It is based on XFree86, so the difficult
    parts of the configuration (setting up the Xconfig file) are
    identical. To run it you need at least 4 MB RAM and another 8 MB swap
    space.  There are now several tinyX versions, one for each of the
    different servers supplied by XFree86-2.0. Please read the above
    description of the servers to get the right version of tinyX. These
    packages are named like

        tinyX-YYY-2.0.tar.gz, where YYY denotes the server name (without
                               leading XF86_)

    You can find tinyX on sunsite.unc.edu in the /pub/Linux/X11 hierarchy.
    Please look in your neighbourhood for a Mirror of it (cf. the BBS-list
    that can be found on most linux sites).  You untar it as root from
    /. After this you have to setup a Xconfig file as described in section
    3.  The documentation and READMEs for tinyX as well as most of the
    XFree86-2.0 documentation files can be found in /readmes. Read the
    XFree86 documentation files _before_ setting up a Xconfig file as they
    are required for this.

    The tinyX documentation includes a lot of useful information on memory
    saving techniques. You should follow at least some of these suggestions,
    as running X while swapping constantly is no fun at all :-(.  If you are
    running out of memory your system will lock up completely (in many cases
    the only way out is to turn off power or to make a hard reset - both is
    very dangerous for your filesystem). So read these files before starting
    X so that this does not happen.

    As tinyX does not include all documentation available with XFree86-2.0, 
    you might notice that you are pointed to a file that is not included.
    In this case you must get the rest of the documentation files (and
    perhaps the manpages, too) from any XFree86-2.0 site (cf. 2.). If you 
    have enough disk space for that, this is highly recommended anyway.
 
    Note that XFree86 specific manpages (as the Server manpages,...)
    are not in the *-man-* but in the *-doc* files.


5.  X - related packages

    There are a lot of packages that are related to X. I mention two here,
    because they have a great influence on the look-and-feel of X.

    - The xview3L5.1.tar.gz package 

      This package is a port of SUN(TM)'s xview3.2 package by Kenneth
      Osterberg to Linux. It includes the xview toolkit, a set of extensions
      to X. It will give you the look-and-feel of the Open Look(TM)
      extension to X (many will know that from Open Windows(TM) from SUN).

      To install it, untar the tarfile as root in some directory (e.g.
      /usr/src), read the documentation that comes with it (most important
      the README and run the INSTALL script. Note that you need about 25MB
      free disk space to install it completely (with examples). This is
      partly due to the fact, that for some time all files are twice on the
      disk. After running the INSTALL script and removing the xview3L5.1
      directory you will need about 11 MB (including all examples). If you
      do not want to install the examples , you will need about 9 MB. If you
      do not want to compile or program any program that uses xview, you can
      spare another 2.5 MB.

      For running Xview you will need at least 8 MB of RAM, better 16 MB. To
      run xview with XFree86-2.0 you should get the ld.so package version
      1.3 or newer.

    - There is a port of Motif(TM) to Linux.
     
      This is commercial software, so you will have to pay for it. You can
      find an advertisement from Metrolink (the company that provided the
      port to Linux) on tsx-11:/pub/linux/advertisements.

    These packages provide different window managers than the standard twm
    that comes with XFree86. There are several further window managers that
    you can find on sunsite:/pub/Linux/X11/Window-managers.  All these use
    different setups, so you have to read the documentation on the window
    managers to set them up correctly.
    
    There are a lot of programs available for X. Look through the
    /pub/Linux/X11 hierarchy at sunsite.unc.edu or at the usr.X11
    directories of /pub/linux/binaries and /pub/linux/sources at
    tsx-11.mit.edu for many of them.


6.  Compiling Programs that use X

    If you have the source code for a program that uses X11, usually it will
    be shipped with an Imakefile instead of a Makefile. What to do now?
    
    Run "xmkmf" in the directory that containes the Imakefile. If there is a
    hierarchy of directories with Imakefiles, you usually only have to run
    xmkmf in the root directory of that hierachy. You can configure the rest
    by typing make Makefiles. This will build the Makefiles in all
    directories in the hierachy. Then you should run "make depend". Don't be
    afraid if include files like stddef.h, varargs.h, ...  are not found,
    they are gcc proprietary header files and therefore not in the standard
    include directories (the Imakefiles use makedepend, not gcc -M).  After
    that you can make the program by running make and you can install it
    (usually in /usr/X386/bin) by running "make install", installing of the
    manpages is done by running make "install.man". Of course, before even
    making xmkmf, you should have read the documentation that comes usually
    with such packages.


7.  Programming in X

    If you want to write programs that use the X Window System, you should
    get some books on the X Window System.  Most Subroutines provided by X
    are documented in a manpage (residing in /usr/X386/man/man3), but these
    will not provide enough information on programming in X if you do not
    know some generals about X.
   
    There is a rather complete series on X by O'Reilly, called "The
    definitive Guides to the X Window System", consisting of many volumes
    (you will probably not need all of them). For more information check out
    the O'Reilly and Associates Catalog from anonymous FTP on ftp.ora.com.
    I suggest reading Volume 1, "Xlib Programming Manual", and Volume 4, "X
    Toolkit Intrinsics Programming Manual", if you are serious about writing
    X apps. As it turns out Xt (volume 4) is used for most X applications,
    and you only need low-level Xlib stuff (volume 1) for certain things.

8. Finding information on X on the net.

    For general X questions you should read the FAQ and the Xt-FAQ from the
    comp.windows.x newsgroup (you can achieve them
        from ftp.x.org in the directory /contrib or 
        from rtfm.mit.edu in /pub/usenet_by_hierarchy/comp/windows/x 
    by anonymous ftp). 
    This is the newsgroup for general X questions.

    If you have questions on the XFree86 package and cannot find an answer
    in the documentation files (XFree86, Xconfig, XF86_* manpages or the
    README files in /usr/X386/lib/X11/etc) you may want to post a question
    to a newsgroup. The appropriate newsgroup for that purpose is
    comp.windows.x.i386unix, as this newsgroup is dedicated to the XFree86
    system.  If you have a problem with the server and want to post a
    question to this newsgroup, you should provide enough information for
    those that want to help you. It is no good idea telling: XFree86 is not
    working, what do I have to do? Here some things that should be included
    in all postings that are concerned with server problems: 

      - which Operating System and which release of it are you running
      - which hardware do you have (at least bus type (ISA/EISA/VLB), graphic 
        card (including chipset, video RAM type (D/VRAM), size and speed))
      - a concise decription of the problem
      - a printout of the server startup (you can generate that by
        redirecting the stderr output)
      - the used parts of the Xconfig (It is NOT a good idea to include all
        lines commented out by a leading #, as this then will be the largest
        part of your post and most people will already know the copyright 
        statements :-)

    Furthermore you should say what steps of trouble-shooting you already 
    did (there are some mentioned in the XFree86 documentation files and in 
    the Appendix).

    There are some other newsgroups that cover X related topics:
      comp.windows.x.apps - for X applications
      comp.windows.x.intrinsics - for X intrinsic 
      comp.windows.x.motif - for the Motif(TM) extension to X
      comp.windows.open-look - for OpenLook(TM) and the xview extensions to X

    Note that some of these groups have FAQ lists that are posted regularly
    to the groups. As always with regular postings these can be obtained
    from rtfm.mit.edu via anonymous ftp.

    Please do not post X related questions to _any_ newsgroup of the
    comp.os.linux.* hierarchy. You will get better answers to your questions
    in those newsgroups dedicated to those questions, as nearly all those
    questions are not linux-specific.

Appendix: Some Questions & Answers

Q: I started X by running 'X'. I get the stippled background, but no window
   at all. What am I doing wrong?
A: Running X starts only the server, no window-manager and no applications.
   The usual way to start X is running 'startx'.

Q: I used XS3 up to now, what changed in XFree86-2.0
A: The most important things that changed, are described in the README.XS3
   file coming with XFree86-2.0.

Q: Is there support for 16-bit or 24-bit colour modes?
A: No, there is only support for 1-bit, 4-bit and 8-bit colour in the moment.
   The 4-bit server is in addition in an experimental stage, so there
   are bugs and problems using it. Most of the known problems are
   mentioned in the manpage.

Q: I have a Logitech serial mouse but it does not work with the Logitech
   keyword.
A: The Logitech keyword is for older Logitech serial mice, more recent 
   Logitech serial mice use the MouseMan or MicroSoft keyword.
   Logitech serial mice plugged into a ps/2 port use the ps/2 keyword.

Q: My server is unable to find some of the fonts.
A: First check that the directories in the font path in 
   /usr/X386/lib/X11/Xconfig are named correctly and contain fonts. If that
   is the case, running mkfontdir in all of those directories may help you.

Q: I have the problem that the fonts are not restored correctly after
   leaving X. My screen looks totally garbled.
A: This is not yet completely resolved. There are utilities called 
   runx , restoretext,... coming with svgalib (sunsite:/pub/Linux/libs)
   that help sometimes.

Q: I had a normal SVGA card up to now with 1 MB of video RAM. With it
   I could do a virtual resolution of 1152x900 or 1024x1024. Why does
   it not work on my new s3 card?
A: All but the most recent revisions of the s3 chips cannot use a line
   length of 1152, so a length of 1280 is used for this resolution. 
   Furthermore the s3 server needs 1k for the cursor, so a virtual 
   resolution using 1MB will not work.
   NOTE, that you will need some memory on the graphics card for font
   and pixmap caching if you want to get maximum performance from your
   graphic card. So the memory is NOT wasted, but will get you a great
   performance boost. Try running some font or pixmap specific
   mode of x11perf with maximal allowed virtual resolution (e.g. 
   1024x1023) and with 1024x768 and compare the results!
   Recommended resolutions are 1024x768 and 1152x800 for 1MB cards.
   The latter resolution leaves not too much memory to the font cache,
   so you will have a performance loss using large fonts.
   For normal use with fonts <= 18 points it should be OK, though.

Q: I have a s3 card and it does not work properly. The screen gets
   distorted when dragging windows and it frequently locks up.
A: First try to use options nomemaccess or nolinear. If both does not help
   and you have a s3 928, try specifying chipset s3_generic in your 
   Xconfig. If nothing helps, it might be a incompatibility
   problem between your graphic card and your motherboard. Try to see if the
   card works in a different system, if you can get your hands.

Q: I have a s3 Localbus card and the server cannot find a high memory 
   area. Then it disables direct memory access. What should i do?
A: There are some strange problems with Localbus cards. It is being worked
   upon. Put option "nolinear" _and_ option "memaccess" into your Xconfig
   file. This will enable to use the 64k aperture that is supported
   even for ISA cards. This will furthermore prevent the following problem:
   Due to a bug in the linear frame buffer code, the s3 processor is 
   not reset correctly, once a large (i.e. >= 1024k) linear frame buffer 
   is found. Thus the server will not work after that if it fails to  
   find the high memory area until a hard reset is sent to the chip (i.e. 
   even a normal reboot will not reset the system). 

Q: I have a WD90C3x based graphic card. XFree86 seems not to probe the
   clocks correctly. What can I do?
A: Yup, there is a bug in the clock probing code in XFree86-2.0. It is
   not in XFree86-1.3. So run the XF86_SVGA server from 1.3 just to probe
   the clocks and put the probed clocks into your Xconfig file. After that
   the XF86_SVGA server from 2.0 will get the right clocks. The XFree86-1.3
   package can still be found on tsx-11 and sunsite.

Q: I have a Diamond Viper card. Why does it not work?
A: In addition to being a Diamond product, this card is based on the
   P9000 chip by Weitek. This chip is not yet supported by XFree86, so
   you have only a chance to get it working with one of the generic 
   servers (i.e. Mono or VGA16). You will have nevertheless the clock
   setting problem that prevents the other diamond cards from working.

Q: I have a card with the Compaq AVGA chip. It does not work.
A: Yes, the AVGA support seems to be completely broken in 2.0. Please
   get the SVGA server from the XFree86-1.3 distribution. This should
   work.

Q: Are there some notes on tuning the performance of my X system?
A: Yes there are. They are posted monthly to the comp.windows.x
   newsgroup and can also be found on rtfm.mit.edu in the 
   appropriate subdirectory.

Q: I want to reconfigure my XF86_S3 or XF86_VGA16 server using the LinkKit.
   After editing sited.def and running mkmf, make will not work. 
A: There is a little bug in the Imakefile for the LinkKit. You can either
   change the line 326 in the Imakefile from
   #if XF86SVGAServer || XF86MonoServer
   to
   #if XF86SVGAServer || XF86MonoServer || XF86VGA16Server || XF86S3Server
   or you can configure the XF86_Mono or XF86_SVGA server additionally for 
   building. Then all will work.

Q: I have a SPEA/Video 7 Mercury card. It is 928 based but I cannot
   get it working correctly.
A: The Mercury uses a clock chip that is not yet supported by XFree86.
   So you cannot use it at the moment. This will (probably) be solved in
   the next XFree86 release.

Q: I have a busmouse and am running selection. The server has problems with 
   recognizing the mouse.
A: Selection has some problems with busmice. XFree86 cannot open the mouse 
   device if selection is running on it. So kill selection before staring
   XFree86.

Q: The server dies with the message "Cannot find a free VT".
A: XFree86 needs a free VT to run on. So if you have put a getty process on
   every virtual console in you /etc/inittab, XFree86 will not be able
   to start. I suggest to let /dev/tty8 (for kernel messages) and /dev/tty7
   (for XFree86) free of a getty process.

Q: Why is the XF86_Mono server not working with my hercules card, I
   thought this card was supported?
A: The hercules driver (as well as the BDM2 driver) is not part of 
   XF86_Mono by default. Get the LinkKit and you can include it.
   You will need about 4 MB free disk space and about 5 minutes for
   building the server (on a 486/30).
   No version of XFree86 up to at least 2.0 properly sets a Hercules
   mono display when switching to text mode (such as when you switch
   VTs or exit from XFree86). You will therefore also want to make a
   small change to the Linux kernel to work around this problem. If
   you have a kernel version 0.99.15 or later, you can edit the file
   "console.c" in the kernel source directory "linux/drivers/char/"
   by adding the line:
        #define CONFIG_HGA
   near the top of the file. Alternatively, you can add the line:
        bool 'Hercules monochrome display support' CONFIG_HGA y
   to "linux/config.in" (then do a 'make config'). Re-make the kernel,
   install it, and re-boot.
   This change to the kernel ensures that the Hercules display is always
   in text mode immediately after a VT switch. This feature is worth
   having, even if future versions of XFree86 do not have the text-mode
   switching problem.

Q: I cannot get a working 1280x1024 interlaced mode on my S3 card.
A: Yes, that's true. It does not work in the moment. Read README.late
   to fix it.

Q: I have severe problems with getting a mode on my new (805 rev. D or
   928 rev. E) S3 graphic card with pixel clocks higher than 65MHz.
A: There seems to be a problem with some undocumented S3 registers
   that come with these new chips. It is worked upon and should be
   fixed in the next release. 

Q: When will be the next XFree86 release?
A: This cannot be said at the moment. If a new version is released,
   you will hear early enough of it.

Q: The server tells me that I cannot use a higher clock frequency 
   than 80 MHZ (ATI Mach32) or 85MHz (S3 928). The docs of the card tell me
   that it is possible to do far more.
A: This comes from problems with the RAMDAC code that does not support
   some RAMDACs completely yet. These are the RAMDACs for the ATI Mach32 
   cards and the Bt485 and its clones for S3 cards. Therefore the pixel 
   clock gets restricted to sane settings. This will be fixed in the next 
   release.
   There are other High-End RAMDACs that suffer from the same restriction.
   In general you should not use any clock higher than 85MHz if your
   RAMDAC can handle pixel clocks higher than 110MHz. 

There are a lot strange phenomena reported that cannot be handeled here.
If your card has a switch for bus waitstates, it helps in many cases
to put this to the 1WS setting. You should also look at the remarks
above on setting some BIOS values. As many reports (especially on BIOS
setting) are contradicting, you should try several settings.

------------------------- Copying conditions ---------------------------------

 Copyright Helmut Geyer 1994

A verbatim copy of the XFree86-HOWTO may be reproduced and distributed in 
any medium physical or electronic without permission of the author. 
Translations works are similarly permitted without express permission if it 
includes a notice on who translated it. Commercial redistribution is allowed 
and encouraged; however, the author would like to be notified of any such 
distributions. 

Short quotes may be used without prior consent by the author. Derivative work
and partial distributions of this HOWTO have to either include a verbatim
copy of this file or make a verbatim copy of this file available. If the 
latter is the case, a pointer to the verbatim copy must be stated at a 
clearly visible place. If you want to do either of the last possibilities,
you should contact the author.

In short, we wish to promote dissemination of this information through as
many channels as possible. However, we do wish to retain copyright on the
HOWTO documents, and would like to be notified of any plans to redistribute
the HOWTOs. We further want that ALL information provided in the HOWTOs is 
disseminated. If you have questions, please contact Matt Welsh, the Linux
HOWTO coordinator, at mdw@sunsite.unc.edu, or +1 607 256 7372.

           --------------- Trademarks -------------------  

XFree86 is a trademark of The XFree86 Project, Inc.
Motif is a trademark of the Open Software Foundation.
SUN and Open Windows is a trademark od SUN Microsystems.
Open Look is a trademark of AT&T.

------------------------------------------------------------------------------
Helmut Geyer                              geyer@kalliope.iwr.uni-heidelberg.de



