Archive-name: linux-faq/part5 Last-Modified: 93/06/11 Version: 1.19 ********************************************************* * * * Answers to Frequently asked questions about Linux * * * ********************************************************* This post contains Part 5 of the Linux FAQ (6 parts). It must be read *after* the 4 first parts. ===================================8<====>8============================ CONTENTS (of this part) XI. EMACS for LINUX (part5) XII. X11, THE MAXIMUM and MORE (part5) XIII. NETWORKING and LINUX (part5) ===================================8<====>8============================ XI. EMACS for LINUX ===================== *** This section is maintained by Rick Sladkey (jrs@world.std.com) *** Last Update March 1993. XI.A. GENERAL INFORMATION XI.B. GNU EMACS for LINUX XI.A. GENERAL INFORMATION ~~~~~~~~~~~~~~~~~~~~~~~~~~~ This is a short list of Frequently Asked Questions about GNU Emacs under Linux. It does not address general questions about Emacs which are not Linux specific. For general help about Emacs, 1) learn to use and read the online documentation, 2) read the real Emacs FAQ found in emacs/etc/FAQ, and 3) read the newsgroup gnu.emacs.help. Rick Sladkey XI.B. GNU EMACS for LINUX ~~~~~~~~~~~~~~~~~~~~~~~~~~~ XI.01) What version of the compiler was used? Which shared libaries? ANSWER: This describes version of GNU Emacs 18.59 for Linux 0.99.5 and above compiled with GCC 2.2.3 using the libc.so.4.3 and libX11.so.3.0 shared libraries. XI.02) Which files do I need? ANSWER: emacs-18.59b.tar.Z this file, sample default.el and diffs for this version, the eight-bit patch, iso-latin-1.el and eight-bit.el emacs-etc-18.59b.tar.Z emacs support programs and misc info emacs-bin-18.59b.tar.Z shared emacs binary and its doc file x11emacs-bin-18.59b.tar.Z shared x11emacs binary and its doc file XI.03) How do I install them? ANSWER: For the latter three files, just cd to /usr and untar them. XI.04) What if I want to compile Emacs myself? ANSWER: It is fairly easy (and highly recommended) to compile Emacs yourself if you have the the disk space. In this case you only need the standard Emacs distribution (emacs-18.59.tar.Z from any GNU archive) and the Linux diffs and support files (emacs-18.59b.tar.Z from a Linux archive). The diffs are quite small and mostly amount to a configuration file. XI.05) What about Epoch or Lucid Emacs? Are these available for Linux? ANSWER: Yes. Thomas Dunbar has been maintaining Epoch for Linux and Chipsy Sperber has compiled Lucid Emacs. Both of these work well under Linux. Look in a Linux archive index for where to find them. XI.06) Does Linux Emacs support eight-bit input/output? ANSWER: Yes. It is new with this version. It uses the so-called "ctl-arrow" patch. See the file README.8bit for more information. XI.07) How much disk space is required? ANSWER: Anywhere from 1 to 15 Meg. Emacs works reasonably well with no support files at all. With a judicious selection from lisp/*.elc and etc/*, quite a lot can be done using only 2 Meg. If you want all of lisp/*.elc, info/*, and etc/* this will require 4 to 6 Meg. If you unpack the whole source you need 8 Meg. If you collect info files like rare coins and install a lot of big lisp packages then Emacs may need its own partition. :-) XI.08) Why can't Emacs find its support files anymore? ANSWER: This is because older versions of Emacs were compiled with "/usr/local/emacs" based paths. The current version is compiled with "/usr/emacs" paths. If you have a previous installation, just "mv /usr/local/emacs /usr" and you're done. If you can't bear to part with the "/usr/local" pathnames because of inertia then do "ln -s /usr/local/emacs /usr" and you can have them both. XI.09) How do I get Emacs to recognize my cursor keys? ANSWER: Simple. Don't use them. :-) Seriously, there are as many ways to do this are there are elisp hackers but the preferred way is to follow the pattern set by the other terminal definition files in emacs/lisp/term/*.el. For just arrow keys you can just copy vt220.el to console.el and that's it. For function keys and the others see the sample default.el included with emacs-18.59b.tar.Z. XI.10) What packages are particularly useful under Linux? ANSWER: Because info format is the documentation standard of the GNU project and just about everything except the kernel comes from FSF, you will find that Dave Gillespie's enhanced info package is very useful. It allows multiple info directories, space bar paging, and supports compressed info files. Please learn to use info. Imagine Unix life without man. Others that I highly recommend are Sebastian Kremer's enhanced dired directory editor, Dave Gillespie's calc calculator, Masanobu UMEDA's gnus for usenet news, and Kyle Jone's vm for mail. All can be found in the OSU Emacs archive, ftp.cis.ohio-state.edu, /pub/gnu/emacs/elisp-archive. See the real FAQ for more details. XI.11) Does Linux Emacs use the shared libraries? ANSWER: Yes. It works fine with the DLL libraries and should not require a new binary when the C or X libraries are updated. XI.12) Does Linux Emacs support the X Window System? ANSWER: Yes. However, there are two binaries. One without X support (about 485k) and one with X support (about 515k). XI.13) Do I need both Emacs if I don't always use X? ANSWER: No. The X11 version works equally well inside or outside of X. If you get the message "Check your DISPLAY variable" it means that you have defined DISPLAY in your ~/.profile (or whatever). You can fix this by starting Emacs with 'emacs -nw' or by removing the DISPLAY variable from your ~/.profile and putting it in you ~/.xinitrc. XI.14) Why doesn't Emacs use the settings in my .Xdefaults/.Xresources file? ANSWER: You are probably using the word "emacs" and your X version of emacs is called x11emacs. Either use the word "Emacs" in your resource file or rename x11emacs to emacs. See above question on why this is reasonable. XI.15) I read about some menu that is supposed to pop up when I press some mouse button. Does this work with Linux Emacs? ANSWER: Yes. This requires XMenu support to be compiled in. Former versions did not support it because it did not work correctly. XI.16) Sometimes Emacs crashes with a SIGALRM message. What's wrong? ANSWER: The old answer about upgrading to a newer version of bash was incorrect. The problem was in the implementation of sleep(3) in the old C library. It is fixed as of libc-4.3. XII. X11 THE MAXIMUM and MORE ============================= *** This section is maintained by Krishna Balasubramanian *** . Mail him if you have corrections, *** additions, etc. *** Last update: Thu, 13 May 93 00:35:45 -0400 XII.A. X386 GENERAL INFORMATION XII.B. HARDWARE REQUIREMENTS: Supported Video cards, mice. XII.C. LINUX DISTRIBUTION: Files required, Current version. XII.D. LEARNING/USING X: Pointers to X documentation. XII.E. DEBUGGING STARTUP PROBLEMS: Checklist, Screen restoration, Hanging. XII.F. XCONFIG: Video mode settings and common errors in Xconfig. XII.G. X-APPLICATIONS: Compiling X programs. XII.H. ATI: SVGA server for ATI boards. XII.I. BUGS The X11 directories on linux systems are: XLIB = /usr/X386/lib/X11/ (or /usr/lib/X11/) XBIN = /usr/X386/bin/ (or /usr/bin/X11/) XDOC = XLIB/etc/ cwxi = the comp.windows.x.i386unix newsgroup Subscribe to this group if you are an xfree86 user. Post general questions on xfree86 to cwxi instead of c.o.l. Very few problems with using xfree86 are Linux specific. XII.A. X386 GENERAL INFORMATION ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ XII.01) What is the X11 release supported by Linux? ANSWER: It's the X11R5 (xfree86-1.2). There are (currently separate) servers for 8514 and S3 chips. xfree86-1.3 should be available in a few weeks. Major changes are Improvement of video restoration, expanded support for WD chips and the inclusion of PEX. You should get newer versions of any applications that are older than the xfree86-1.2 release. XII.02) What is X386/xfree86? ANSWER: X386 is the port of the X11 server to System V/386 that was done by Thomas Roell (roell@informatik.tu-muenchen.de). It supports a wide variety of VGA boards. X386 1.2 is included in MIT's X11R5 distribution. The Linux X386 port was based on the stock distribution from X11R5, from MIT and was done by Orest Zborowski (obz@sisd.kodak.com). It has since moved to becoming part of the standard xfree86 distribution. See the FAQ on cwxi for more information on xfree86. XII.03) Where can I get X386 1.2 (X11R5)? ANSWER: The X386 1.2 and xfree86 sources are available at any site that distributes the X11R5 source (too numerous to list here, but includes export.lcs.mit.edu) XII.04) Any tips on compiling X11R5? ANSWER: - Dont do it. - XFree86 is distributed with a link kit so you can optionally include what you like in the server. - Join the xfree86 beta team (how to? see cwxi FAQ) - Instructions are in the README file in XDOC/ and the cwxi FAQ. XII.B HARDWARE REQUIREMENTS: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Approx: at least 4 megs of ram + swap ...slooooww. 10 Meg disk for X. Another 6-10 meg of disk for GCC if you want to compile X11 programs. XII.05) What VGA boards are supported? ANSWER: et3000, et4000, gvga, pvga1a, wd890c00, tvga8900, ati ver. 5 or 6, 8514/A. (X386mono supports generic vga's and hercules). Diamond cards are not supported and will not be supported. If you are the unfortunate owner of such a card, you can probably get the server up by booting in specific modes or using dos to set your modes before warm booting into linux or using an external clock setting program. You will have to bear with these irks until you can convince diamond to alter their policy. Standard x11v1.1 or xfree86 server: ET3000 (for ex. GENOA 5300/5400) ET4000 (Tricom, STB PWR Graph, Sigma Legend, etc.) GVGA (Genoa 6400) PVGA1A (Paradise VGA Professional) WD90C00 (Paradise VGA 1024) supported by xfree86: TVGA TRIDENT 8900c, 9000, support is in xfree86 ATI See the ATI section below. Those with 8514 compatible cards may want to get the X8514 server for speed (~2x xstones?). MONO Any vga card should be able to use X386mono server. (At least 640x480 with 800x600 virtual). Use the vga2 section of Xconfig. Support for hercules monochrome card (usable as 2nd display). The following servers will usually not handle all the options supported by xfree86. Read the documentation that comes with them carefully. They will be merged with the xfree86 distribution in some time. 8514 ATI graphics ULTRA, ATI graphics Vantage Should work with any VESA standard 8514/A register compatible card? Courtesy Kevin Martin (martin@cs.unc.edu). Scott Laird (lair@midway.uchicago.edu) writes: I uploaded a new version of the X8514 X Server to sunsite and tsx-11. It is in /pub/Linux/X11/X-servers/X8514/X8514scale.tar.Z on sunsite. It's linked with version 4.2 of the jumptable libraries, includes TCP/IP support, support for compressed bitmap fonts, Type 1 and Speedo scalable fonts. There's a README file in the same directory that will answer more questions. XS3 S3 chipset server (Jon Tombs jon@robots.ox.ac.uk) Get the FAQ on ftp.robots.ox.ac.uk (pub/linux/S3 check sunsite). Xega Generic 640x480x16 compatible server (originally for laptops). This requires a microsoft mouse at /dev/mouse for now and it does not use Xconfig so use environment variables to define the font path etc. in .xinitrc: export FONT_PATH=/usr/lib/X11/fonts/misc:/usr/lib/X11/fonts75dpi Works better with courier fonts so add to .Xresources: *Font: -*-courier-medium-r-*--10* ..or whatever.. A link kit is available at tsx-11 (you need gcc2.2.2). in pub/linux/ALPHA/Xega/X386.ega.T.Z (Obselete? Unusable? Anyone?) WARNING: Do not try to bring up an Xserver that does not support your hardware. There have been cases where damage has resulted from pushing the monitor (specially fixed frequency monitors) beyond its specs. XII.06) What Mouses are supported? ANSWER: Serial : Logitech, Microsoft, MouseSystems .... compatibles ... Busmouses : Logitech, microsoft, ATI_XL, PS/2 (aux). XII.07) Does anyone have a working PS/2 mouse? Has anyone gotten the "Mini-DIN" mouse on an HP Vectra 486/33T to work? The slight info I've been able to find says it's PS/2 compatible. Does anyone have a working MouseMan on a PS/2 port ? ANSWER: (heeb@watson.ibm.com) First you need to create an entry in /dev for it: mknod /dev/psaux c 10 1 The other steps depend on the version of XFree: for XFree86-1.2 add the following line to your Xconfig (and you are done): PS/2 "/dev/psaux" This works even for 3 button mice (e.g. the MouseMan)! There is no direct PS/2 mouse support in XFree86-1.1, so to use the mouse with X you'll have either to upgrade or use the mconv mouse protocol conversion utility, which can be found on nic.funet.fi, in /pub/OS/Linux/utils/tools/mconv.c. This program converts the packets sent by the PS/2 mouse into the corresponding ones from a Microsoft mouse, so you can fool X telling it you have a Microsoft serial mouse instead. Instructions for use are included in the source file. (Johan Myreen jem@cs.hut.fi) XII.08) I have trouble with my logitech Pilot mouse and X under Linux, any clue ? ANSWER: (Thomas Roell?) There are TWO lines of Logitech mice out there. One is the programmable and uses MouseSystems protocol at startup. X386 reprogramms them to use another protocol. If you specify 'Logitech' in the Xconfig, X386 assumes a mouse like C7 or S9 (notC7-M). The second line is the MicroSoft compatible. Currently all newer Logitech mice follows this practice, like the MouseMan. In that case you have to say 'MicroSoft' or 'MouseMan'. From: jliddle@rs6000.cmp.ilstu.edu (Jean Liddle) I just purchased a new logitech mouseman, and yes, the new X-Windows (XFree86 as opposed to X386) requires that you use the "microsoft" mousetype. However, if you turn Third Button Emulation off, the middle button WILL work. XII.C. LINUX DISTRIBUTION ~~~~~~~~~~~~~~~~~~~~~~~~~ XII.09) What is the current version? ANSWER: The newest public Linux release is xfree86-1.2. It was compiled with gcc-2.3 (jump tables 4.3) and is available for example at tsx-11 in pub/linux/packages/X11/XFree86-1.2/. XII.10) What Files do I need to download? ANSWER: For xfree86: There is a README file in the distribution directory. Bring this down first and read it. Then get xbin, xman and xfonts. You need xprog and xlibman only if you plan to compile X applications. You need xkit if you want to relink the server. **** You need The shared images libc.so.4 (4.3 or later) and libm.so.4 (4.0) in /lib/. All the X11 binaries use these. These are available with the GCC distribution or any new rootdisk. To compile programs you should get gcc-2.3 or later and the 4.3 libraries. To get a different server, see the notes in the previous section. X11 directories in the archive sites are: tsx-11 : pub/linux/packages/X11, pub/linux/usr.bin.X11 sunsite : pub/Linux/X11/ XII.11) Where do the X11 files go? What are they? ANSWER: The linux X binary distribution looks something like: /usr/X386/ lib/ libX11.a ... (X libraries needed for compiling stuff). X11/ config/ (template files for compiling ... xmkmf) fonts/ misc/ , 75dpi/ .... etc/ (documentation). bin/ (X386, X386mono, xterm, X linked to X386). include/X11/ (include files needed for compiling). bitmaps/ (icons, bitmaps used by some applications). man/ man1/, man3/, cat1/, cat3/ /lib libX??.so.?? (Shared images needed by all X11 binaries). Its best you do a tar -tvzf on the distribution you get or find some means of extracting the distribution file list. The support files include default/example Xconfig, xinitrc, twmrc which you could copy to your HOME directory (as Xconfig, .xinitrc and .twmrc) and edit them to define your hardware and X11 setup. The directory XLIB/etc/ contains much documentation on how to configure video modes. Read the files XDOC/README and XDOC/README.Linux. XII.D. LEARNING/USING X ~~~~~~~~~~~~~~~~~~~~~~~~ XII.12) Where can I find the basic help for learning/using X ? ANSWER: Try man X386; man Xserver; man xterm; man twm; man xinit on any machine with X11. The man pages on xterm and twm will reflect behaviour on Linux systems quite accurately. The others will give you some bearing though not every option will work. These man pages are part of the xfree86 distribution. XII.13) What docs are available besides man pages? ANSWER: The FAQ in comp.windows.x is extensive and has a bibliography. There is also the Xt-FAQ. Both are available from export.lcs.mit.edu in pub/contrib/. There is a collection of (mit) X11 documents on tsx-11 (pub/linux/doc/xdoc.tar.Z ?) or export (pub/R5-Untarred) if you are interested in internals. Also of interest if you use motif, open-look/xview or interviews: comp.windows.x.motif, comp.windows.open-look, comp.windows.interviews. XII.14) How do I start up X? ANSWER: Type 'startx' at the shell prompt. Before doing this you should: 0) Untar the xfree86 distribution from / (read XDOC/README, XDOC/README.Linux). 1) copy the file Xconfig.sample from the XLIB/ directory to your HOME directory (/usr/root/Xconfig?) or to XLIB/Xconfig. 2) Edit Xconfig and set the video data for your card and monitor. Use the clocks appropriate for your card and the modes appropriate for your monitor for those clock values. To determine what values are appropriate the Xconfig section below and the files in XDOC/. 3) Set the mouse device in Xconfig correctly....Use the busmouse entry for Logitech only. For other busmouses use microsoft (try all :-). 4) Ensure that there is a termcap entry for xterm in /etc/termcap (One is available in the subdir /doc/). 5) Ensure that the X11 binaries are in the path example: add the line PATH=${PATH}:/usr/X386/bin to ~/.profile or look at bash.ad in /doc/. WARNING: NONE of the modes (in the Modes line in Xconfig) should use a clock your monitor cannot handle. Now type startx. XII.15) How do I configure X .. colors, menu, keyboard? ANSWER: makes me ... dizzy ... server : video, keyboard Xconfig : man X386, man Xserver, XDOC/VideoModes.doc man X386keybd, man xset, man xmodmap. resources: global and application preferences. XLIB/xinit/.Xresources or ~/.Xresources : man xrdb? twm : menus, title bars, colors .. look and feel. ~/.twmrc or XLIB/twm/system.twmrc : man twm xinit : startup. ~/.xinitrc or XLIB/xinit/xinitrc -- man xinit applications : XLIB/app-defaults/Xxx (also ~/.Xresources) man xxx You can start with files from any X11 setup. Backup the files you change. See the FAQ on comp.windows.x. XII.16) [suggested by Thomas Koenig] How do I support national keyboards in X11 ? ANSWER: Put a .Xmodmap file into the user's home directory specifying which keys to use for what; or else replace the /usr/lib/X11/xinit/.Xmodmap with the national keyboard keys customized. Do man xmodmap for more details. enclosed an excerpt of mine (french keyboard): keycode 8 = keycode 9 = Escape keycode 10 = ampersand 1 keycode 11 = eacute 2 asciitilde keycode 12 = quotedbl 3 numbersign keycode 13 = apostrophe 4 braceleft keycode 14 = parenleft 5 bracketleft keycode 15 = minus 6 bar keycode 16 = egrave 7 grave keycode 17 = underscore 8 backslash keycode 18 = ccedilla 9 asciicircum keycode 19 = agrave 0 at keycode 20 = parenright degree bracketright keycode 21 = equal plus braceright keycode 22 = BackSpace keycode 23 = Tab keycode 24 = A ........ XII.E. DEBUGGING STARTUP PROBLEMS: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ XII.17) I cannot type in my xterm ANSWER: /dev/console must have major=4, minor=0 rm -f /dev/console; ln /dev/console /dev/tty0 XII.18) What are some of the common omissions and errors? ANSWER: (Peter) 1) Add /usr/X386/bin/ (or /usr/bin/X11) to your path. 2) Add the xterm termcap entry to /etc/termcap. 3) ln -s X386 X in the XBIN directory. ln -s X386mono X (if you want to use the mono server). 4) Run X as root first. This avoids some trivial problems. 5) If you change the font path entry .... X386 is finicky about the syntax. 6) Make sure your mouse entry in Xconfig points to a legitimate serial device (or busmouse)... usually something like: microsoft "/dev/ttyS1" serial devices have major # 4 minor 64,65 ... busmouses are major 10. ls -l in /dev will show you the major and minor entries. 7) Need read/write/exec access to /tmp directory 8) Use startx 2> x.err to log your error messages. If the server sticks and you have to reboot you'll probably loose this stuff... see notes on `hanging' below. 9) You must have a free vt (eg. /dev/tty5 with no getty (see /etc/rc)). 10) Delete /tmp/.Xn-lock if recovering from a crash. 11) Note the new probeonly option for the server (man X386): startx -- -pn -probeonly 12) See Xconfig problems and the device list below. XII.19) Why is the server unable to find some of the fonts? ANSWER: First check that the directories listed in the font path exist and have font files in them. Some of the servers are not set up to use compressed fonts. In such cases you have to uncompress the fonts in the directory and run `mkfontdir .`. Read the man page on mkfontdir. XII.20) My server "hangs" Why? ANSWER: (Peter) Quite often it isn't a hang. If the server grabs the screen(and enters graphics mode) and then dies, it may return you to bash *without* restoring the screen. In other words, just because you see no output, don't assume it's running/hanging. The way to test this is to see if you can use a bash command to spin your disk. eg.: sync; ls -l /bin. Also - I *suspect* that (at least for me), you can kill the server if you include the servernum option in the Xconfig (Obselete?) You can kill the server when you want to by typing ctrl-alt-backspace. Then a couple of ctrl-C 's in case your stuck in xinit. The two line message X386 version ..... (protocol Version .... is returned from the X386 programme itself, so if you get this (or if the screen blanks) X must be starting. XII.21) When I started X11 I got "Cannot connect to server" or "process does not exist", any clue ? ANSWER: The cause might be a wrong fontpath variable, mouse device or video settings in your Xconfig. XII.22) Why cant I run more than 4 xterms? How can I have more than 4 pty's ? ANSWER: set the number in the header include/linux/tty.h and recompile the kernel. Also make nodes : mknod /dev/ptypxx 4 minor (where minor = 128 + xx) mknod /dev/ttypxx 4 minor (minor = 192 + xx) This is for before linux-0.97pl6.... for later versions you only need to make the nodes. XII.23) How does X11 start up? ANSWER: The startup involves the server (XBIN/X), and some programs like startx and xinit. Typing startx runs the script XBIN/startx. Look through startx. For explanation of the server arguments try man Xserver. startx does little other than gather arguments and then call xinit. xinit runs the server X (X is linked to X386) and the client programs specified in ~/.xinitrc. xinit continues to run, and is often the source of the error messages you see when you exit. If you get the message "giving up", it means X has died (quite probably it died immediately) and xinit has been unable to start clients from the xinitrc script. (The scripts must be executable). XII.24) What devices does X depend on: ANSWER: check your device numbers with ls -l /dev. You should have: 5 0 tty 4 0 tty0 4 0 console 4 1 tty1 (etc) virtual consoles (vt's) : eg. startx -- vt8 1 1 mem 4 128 ptyp0 pseudo ttys used by xterm/emacs etc 4 129 ptyp1 (etc) to talk to unix programs. 4 192 ttyp0 4 193 ttyp1 (etc) 4 64 ttyS1 one of these is the mouse 4 65 ttyS2 or you have a busmouse. 10 x mouse busmouse x = 0 => logitech 1 => ps/2 (aux) 2 => microsoft 3 => ATI_XL. /tmp/.X11-unix/Xn n = display number. Socket used by X11 programs to talk to the server. This is created by X386. /tmp/.Xn-lock n = display number. Lock file. Note that unix programs dont expect standard names for serial devices and mice. So you can give these devices any name as long as you tell the server what its called (in Xconfig). XII.F. Xconfig: Xconfig and Video mode settings. ~~~~~~~~~~~~~~~ XII.25) What do the mode names in Xconfig mean? ANSWER: Mode names like "640x480" are used to match entries in the modes line with the modeDB entry which actually defines the mode. You can toggle between modes in the modes line with ctrl-alt-numericplus. If you're experimenting with 640x480 you can define modes "640x480a" "641x480b" "642x480c" with different entries for each under ModeDB so you can toggle between these three modes. XII.26) How do I compute the numbers for the video modes? ANSWER: See if there is an entry that matches your chip/monitor in XDOC/modeDB.txt. Use the clock entries for your chip and the mode entry for that clock appropriate for your monitor. If you cant find a mode entry for a particular clock 'needed_clock' but can find a mode entry (for your monitor) for a nearby clock value 'found_clock', scale all numbers in the modeDB entry by (needed_clock/found_clock). Read XDOC/VideoModes.doc XII.27) How can I determine the clocks on the video chip? Where can I find clock.exe or clock.pas ? ANSWER: The XFREE Team discourages the use of clocks.exe and wants it to be removed from all docs, since the new Server is better at guessing the clocks than clocks.exe. You can get X to tell you what it finds by commenting the clocks entry in Xconfig. Use 'startx -- -probeonly 2> x.err' to log the output. If X starts up this file gets the clocks only after you exit. I strongly advise using the 'modegen' spreadsheets to generate the appropriate settings. If I remember correctly you can find them in 'pub/linux/packages/SLS/x4' called modegen.taz or something equally as obvious ... Good luck. (Andy asb@cs.nott.ac.uk) The clocks entry in Xconfig serves as an index. example: clocks 1 2 ModeDB 1 640x480 ..... 2 800x600 ..... means the first clock on the chip will be used for the 640x480 mode and so on. Usually one uses the MHz value for the clock for convenience instead of 1 2 you probably have 25 28 ... etc. XII.28) What are the settings used with a trident-8900C? ANSWER: To get X/SLS/Linux working with a trident-8900C : 1) From Frank Houston fh8n@uvacs.cs.Virginia.EDU vga256 Virtual 1024 768 ViewPort 0 0 Modes "1024x768" "800x600" "640x480" Use the VESA monitor timings from the modeDB in the example Xconfig. You do not need to specify the chipset or clocks. 2) From: Henk Vandecasteele henkv@cs.kuleuven.ac.be TRIDENT TVGA 8900C card with BIOS C2.11, A cheap color monitor AOC (CM-335) with a maximum horizontal frequence of 39.5 vga256 Virtual 1024 1024 ViewPort 0 0 Modes "912x684" "800x600" "640x480" # This mode drives my monitor to the limit (VESA timings for the rest). "912x684" 45 912 944 1104 1136 684 684 690 712 XII.29) Oh what, Oh what, Oh what can I do with a trident 8900b? ANSWER: (drew@cs.colorado.edu) 1. While the 8900b works with the Xfree 8900c driver, you must specify a chipset line for the 8900c in your Xconfig. 2. The tridents are miserably slow in a Color mode. If you don't mind black and white, you should use X386mono. Not only is it faster, but it requires less video memory, and you'll be able to run a 1k X 1k virtual desktop. Again, you must specify the Chipset line to use the banked mono server for virtual resolutions > ~800x600. XII.30) What are common problems with Xconfig? ANSWER: If X isn't firing at all, or even if it clears the screen and crashes (see below) you almost certainly have a fault in Xconfig. 1. Note that the server X interprets Xconfig. (not xinit) 2. test with only one graphics mode included - one you are most sure of. 3. If you make a mistake in the mouse section, you will (I understand) get an error message, so if you don't get some mouse error, try elsewhere first. (eg "No such file or directory" indicates you have a fault in the "/dev/ttyxx" line, or /dev/ttyxx doesn't exist. 4. *NB* X looks in your home directory first to find an Xconfig. make certain it's using the one you've been working on! 5. you need double quotes (") around your chipset and modes: eg chipset "et4000" Modes "640x480" "640x480a" "800x600" and around the /dev/ttyxx eg.: microsoft "/dev/ttys1" 6. Check your VGA section and modeDB first. 9. ensure ModeDB clock speeds match the VGA section. Comment out any unused lines in MODEDB. eg clocks 25 36 00 00 00 00 00 00 then you *must* have (and only have) lines under modeDB corresponding to speeds 25 and 36. If you have one with (say) 62 uncommented out in the modeDB section in place of the 36 line, you will cause the server to die immediately with no error message. 10. videoram must equal the amount of display ram on your chip. 11. The virtual resolution screen must fit in the videoram. eg: 512kB => 800x600 (for the 1 byte per pixel color server) XII.31) What do I use in my Xconfig file to use the bus mouse? Logitech doesn't work with my Logitech busmouse. ANSWER: (Nathan I. Laredo) Here are the mouse lines from my Xconfig: BusMouse "/dev/mouse" You may add a sample rate if you want, but chances are, unless the model number on your mouse matches mine: PC-93-9MD it probably will cause your machine to lock up, as I've gotten several reports saying that. According to the X386 documentation, non-logitech mice do not support a sample rate. XII.32) Where can I get Xconfig-files for various hardware? ANSWER: If you have access to e-mail, e-mail bcr@physics.purdue.edu a message with the subject: help If you do create a new Xconfig file or improve on an old one please mail it to bcr@physics.purdue.edu to save others from having to duplicate your work. XII.G X-APPLICATIONS: Compiling X Programs. ~~~~~~~~~~~~~~~~~~~~~ XII.33) Does anyone know where I can find the libobz.a library ? ANSWER: This library contained the socket stuff, when X386 V0.1 was released. Meanwhile it has found it's way into the kernel, so remove -lobz from the link step in the Makefile. Any program asking for libobz needs to be recompiled anyway. XII.34) I get _setjmp undefined when linking xv from .a files. ANSWER: You are trying to link a program compiled with gcc-2.2.2 and setjmp has changed sice then. Recompile xv from the source using the latest gcc. XII.35) How do I compile an X application that has an Imakefile? ANSWER: Type xmkmf to generate the Makefile. Type make. XII.36) How do I compile a program that has no Imakefile? ANSWER: Use compiler options generated with programs that do have Imakefiles. Look in XLIB/config/ for the linux definitions. In particular you need -fwritable-strings. XII.37) gcc complains the X libraries are not found or links static. ANSWER: Check out the -nojump -static options of GCC ... read the GCC FAQ. You can tell gcc what directories to search with -L. XII.38) When using Makefiles generated by xmkmf why do I get many error messages? ANSWER: The old xmkmf under Linux doesn't like # comments in Imakefiles. Therefore you must change the #'s to XCOMM. But be careful. Don't change any pre-compiler directives. (mal11@po.CWRU.Edu Matthew A. Lewis) XII.39) (Ton van Rosmalen wrote): I recently compiled XFree86 1.2A for Linux and it compiled fine with gcc-2.3.3 and libc-4.3.3 iff I skipped the make depend. ANSWER: (Rik Faith) The source for ed.c is available from (Linux binaries are in utilb13.taz) ftp.cs.unc.edu:/pub/faith/linux/utils/utilb-1.3.src.tar.Z This version of ed.c has a 4096 character line limit and will work correctly when building XFree86 under Linux. XII.40) What are the development tools available for X under Linux? ANSWER: Some of the X development packages available on Linux: (XS = sunsite.unc.edu pub/Linux/X11) (Contact the people who distribute them in case of problems.) Libraries: Xpm, tiff .. are in XS/libs/. If you are compiling a package that uses these libraries it is best to pick up the standard DLLs. hooft@chem.ruu.nl, mitchum.dsouza@mrc-apu.cam.ac.uk (Some older libraries are in XS/libs/oldlibs). Interviews: SLS package Shared libraries are not yet available so doc ~1M, idraw ~1.5M, ibuild? KHOROS: This is the second release of my patches (~15K XS/xapps) to the Khoros system for image processing. If you want to compile it, you need Khoros 1.0, patchlevel 5 (source distribution) and up to 100MB free disk space (including package 0.). Wolfram Gloger wmglo@dent.med.uni-muenchen.de Apr 04 1993. MOTIF XS/$$$:-) Metro Link, Inc. is pleased to announce the availability of OSF/Motif 1.2.2 for Linux at the introductory price of $199 for a complete runtime and development system (shared libs, UIL, source for some demos + 1 Orielly book). You can order OSF/Motif 1.2.2 for Linux by calling Metro Link,Inc. at (305) 970-7353 (voice) or (305) 970-7351 (fax) or by mailing us at sales@metrolink.com. SUIT: XS/devel Simple User Interface Toolkit. Included are shared libs and static libs. Compiled with the SLS kit. To use these shared libs you need libX11 3.0 and libc 4.3. Rob Robert-Jan Kooper rob@is.twi.tudelft.nl kooper@dutiws.twi.tudelft.nl tk+tcl: XS/devel Here is tk3.0 and tcl6.5 sources and libraries. Compiled this with gcc2.3.3 I have also included the wish (X11) binary. Mitch mitchum.dsouza@mrc-apu.cam.ac.uk mitch%markab@mrc-apu.cam.ac.uk xview: XS/devel New libxview.a and libolgx.a that correct some problems with the ones found in SLS (and maybe in the other xview releases, I don't know). Kenneth Osterberg ?? XII.H ATI: SVGA server for ATI boards. ~~~~~~~~~ Last Revised: Mon May 10 15:17:57 1993 by faith@cs.unc.edu XII.41) What's new? ANSWER: For XFree86 version 1.2 (and later versions), there are two changes to the extregPlusXLAndOrMasks table: 1) ER_B0 was changed from 0x28 to 0x31. (In the Linux world, this was distributed as a binary patch long ago.) 2) ER_BE was changed from 0x08, but only for cards EARLIER than the 28800-5. Both of these changes allow more 28800-4 cards to work, although either one may be sufficient for any one card. You can find these changes in the driver by searching for the Feb 3 timestamps. XII.42) What is the ATI SVGA driver? ANSWER: The ATI SVGA driver is a 256 color driver for the XFree86 server. The driver was written for the ATI WONDER series of graphics adapters. In general, the following modes are supported for cards with 512kb of memory: 640x480x256 600x800x256 The following modes are supported for cards with 1024kb of memory: 1024x768x256 XII.43) What is the ATI SVGA driver *NOT*? ANSWER: The ATI SVGA driver is *NOT* a black and white (2 bit) driver. Therefore, it will *NOT* work with the XFree86 monoserver. The ATI SVGA driver is *NOT* a 16 color driver. Even though your manual says that your graphics adapter has a 1024x768x16 mode, the ATI SVGA driver will *NOT* use this mode. If you want to use 1024x768, you *MUST* have 1MB of memory on your board and use the 1024x768x256 mode. The ATI SVGA driver will *NOT* support more than 8 bits of pixel depth. Therefore, even though your manual says that your graphics adapter supports modes using more than 256 colors, the ATI SVGA driver will *NOT* use these modes. The ATI SVGA driver is *NOT* an accelerated driver. If you have an ATI GRAPHICS ULTRA series card, the ATI SVGA driver will *NOT* use the accelerated hardware. It will only use the SVGA hardware. This will probably not be any faster than a VGA WONDER card, unless the card is on a local bus (and then, it won't be faster than a VGA WONDER card on a local bus, if a card of this type existed). XII.44) What cards will the driver work with? ANSWER: This is a difficult question, because there are many different ATI video cards, and it is sometimes difficult to tell them apart. The best way is to look on the card itself for the ATI chip numbers. Here is a partial list of ATI VGA WONDER cards. The MOST IMPORTANT number is the CHIP VERSION. Adapter version Dot clock Chip version VGA WONDER V3 ATI18800 NOT SUPPORTED VGA WONDER V4 ATI18800-1 NOT SUPPORTED VGA WONDER V5 ATI18810 ATI18800-1 NOT SUPPORTED VGA WONDER + (V6) ATI18810 ATI28800-2 ? MAY WORK ? VGA WONDER (1 MB) ATI18810 ATI28800-4 SUPPORTED VGA WONDER (1 MB) ATI18810 ATI28800-5 SUPPORTED VGA WONDER XL ATI18810 ATI28800-5 SUPPORTED Note that the ATI SVGA driver code has hooks and some support for all of the cards listed. However, with the earlier cards, there are serious differences in the programmer's interface. The only people who have ever worked on the code have had 28800-4 and 28800-5 chips, so these chips are the only ones that are actually known to work. The ATI GRAPHICS ULTRA chips seem to have SVGA support which is equivalent to the 28800-4, 28800-5, and 28800-a, although I can find no documentation on this in the technical manuals provided by ATI. The ULTRA PLUS and ULTRA PRO boards have been tested to some extent, and seem to work fine, but the original ULTRA may have some problems at greater than 640x480 resolution. XII.45) What should I put in my Xconfig file? ANSWER: THE MOST IMPORTANT LINE IS THE CLOCKS LINE: Clocks 18 22 25 28 36 44 50 56 30 32 37 39 40 0 75 65 The first row of clocks is usable on all VGA Wonder cards. The second row is usable only on V5, PLUS, and XL cards (28800-2, 28800-4, and 28800-5). However, you should include *BOTH* rows for *ALL* cards. The specification is different from the specification used with the ET-4000 cards. Programs with claim to detect the clocks usually work only with ET-4000 based cards. No such program exists for the ATI cards, since it isn't needed. THE CLOCKS LINE SHOULD NEVER BE CHANGED. The order of numbers in the clocks line *is* significant. The actual frequencies, which can be used to calculate the ModeDB lines, are as follows: 18 = 18.000 22 = 22.450 25 = 25.175 28 = 28.320 36 = 36.000 44 = 44.900 50 = 50.350 56 = 56.640 30 = 30.240 32 = 32.000 37 = 37.500 39 = 39.000 40 = 40.000 0 = 56.640 75 = 75.000 65 = 65.000 The Chipset will be automatically detected. The chipset name for this driver is "ati". Here is a sample Xconfig (which I use): RGBPath "/usr/lib/X11/rgb" FontPath "/usr/lib/X11/fonts/misc/,/usr/lib/X11/fonts/75dpi/" Keyboard AutoRepeat 500 5 ServerNumLock #Microsoft "/dev/mouse" #MouseSystems "/dev/mouse" #MMSeries "/dev/mouse" #Logitech "/dev/mouse" #MouseMan "/dev/mouse" Busmouse "/dev/mouse" # BaudRate 1200 SampleRate 150 # Emulate3Buttons vga256 ViewPort 0 0 #Modes "1024x768v" "800x600v" Modes "800x600v" Clocks 18 22 25 28 36 44 50 56 30 32 37 39 40 0 75 65 Displaysize 260 184 ModeDB # From NEC MultiSync 3FGx manual (copied by faith@cs.unc.edu) # active_area front_porch pulse_width back_porch for horiz and vert # VESA 640x480 at 72Hz (37.860kHz) # 20.317us 0.762us 1.270us 4.603us; 12.678ms 0.238ms 0.079ms 0.740ms # (I couldn't find a good clock rate for this one) # VESA 800x600 at 72Hz (48.077kHz) # 16.000us 1.120us 2.400us 1.280us; 12.480ms 0.770ms 0.125ms 0.478ms "800x600v" 50 800 856 976 1040 600 637 643 693 # VESA 1024x768 at 60Hz (48.363kHz) # 15.754us 0.369us 2.092us 2.462us; 15.880ms 0.062ms 0.124ms 0.600ms "1024x768v" 65 1024 1048 1184 1344 768 771 777 806 XII.46) What is the history of the driver? ANSWER: The complete history of the driver is cloudy. I have tried to reconstruct the history from several email messages from a few of the people involved. The history is probably incomplete and inaccurate. Apparently, Per Lindqvist (pgd@compuram.bbt.se) first got an ATI driver working with an early ATI card under X386 1.1a. (This original driver may have actually been based on an non-functional ATI driver written by Roell.) Then Doug Evans (dje@cygnus.com) ported the driver to the ATI XL, trying in the process to make the driver work with all other ATI cards. I (Rik Faith) obtained the X11R4 driver from Doug Evans in the summer of 1992, and ported the code to the X386 part of X11R5. This subsequently became part of XFree86. Per and Doug did the majority of work, making the port somewhat trivial. I am grateful for their contribution. The port to X11R5 required writing the ATIProbe and ATIEnterLeave routines, and re-organizing the ATISave and ATIRestore routines. Someone else added the operating system specific code, but I don't know who. The major reference that I used was manual from ATI: "VGA WONDER Programmer's Reference" ATI Technologies, 1991. Release 1.2 -- Reference #PRG28800 (Part No. 10709B0412) However, Chapter 11 (ATI 18800 ATI VGAWONDER) of George Sutty and Steve Blair's "Advanced Programmer's Guide to SuperVGAs" (Brady/Simon & Schuster, 1990) was also useful. Further, someone e-mailed be a random document from the ATI BBS which was dated 3Jul91 and which may have been named PROGINFO.DOC. XII.47) What is the future of the driver? ANSWER: I no longer use an ATI Wonder card and have no interest in this driver. Since I have received no bug reports or patches for the driver during the past 3 months, I think it is about as stable as it is going to get. (I suspect that support for the 28800-2, 28800-4, and 28800-5 chips can be made more robust, but I doubt that the other chips will ever be fully supported.) I have absolutely *NO* intention of porting the code to the mono or 16 color servers. If *you* want ATI support in the mono or 16 color servers, they *you* should do the port. (Since I no longer use my ATI Wonder card, please feel free to take over the current driver as well.) XII.I BUGS: ~~~~~~~~~~~ Restoration of the text screen fails on some hardware. You can get the program runx from the vgalib distribution (tsx-11 pub/linux/sources/libs/). Report the problem to the xfree86 team. Cant compile Xaw programs without -static in versions x11v1.1 or older. Fix for missing numlock control in xfree86-1.1. use xmodmap to change the mapping: clear mod1 add mod1 = Alt_L keysym Alt_R = Mode_switch add mod5 = Mode_switch David (Dawes) Sources for X11_FAQ: Steve Kotsopoulos, Peter Hawkins, John Morris, MM. Corsini, K. Balasubramanian. Direct comments, questions, complaints to krishna at: balasub@cis.ohio-state.edu XIII. NETWORKING and LINUX ============================ *** This section should be maintained by Philip Copeland *** (p_copela@csd.uwe.ac.uk). XIII.01) Where can I find useful information about networking for Linux ? ANSWER: Join the NET channel of the mailing list. Also, you need to read the NET-FAQ by Phil Copeland, it's on sunsite and tsx-11 and posted to c.o.l and the NET channel every couple of weeks. Basically, all of the information on networking and TCP/IP for Linux is in the NET-FAQ, because it's maintained seperately than this document (and we don't want to waste the space reprinting it all here--- it's big!). The NET-FAQ has been completely rewritten as of Feb 1993. Get the new version. ===================8<==========>8================ -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # LaBRI | # # 351 cours de la Liberation | e-mail: corsini@geocub.greco-prog.fr # # 33405 Talence Cedex | e-mail: corsini@labri.u-bordeaux.fr # # | # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- There will be a sig when our local net is reliable. For now, I would rather stay anonymous.