📄 xfree86_howto.htm
字号:
/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).
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 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.
------------------------------------------------------------------------------
Helmut Geyer geyer@kalliope.iwr.uni-heidelberg.de
</XMP></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -