diff --git a/en_US.ISO8859-1/books/handbook/x11/chapter.sgml b/en_US.ISO8859-1/books/handbook/x11/chapter.sgml index a58e7c77cd..c955e1e22c 100644 --- a/en_US.ISO8859-1/books/handbook/x11/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/x11/chapter.sgml @@ -1,1338 +1,79 @@ The X Window System - This chapter has been graciously donated by &a.grog; - from his book, The - Complete FreeBSD, and remains copyright of him. - Modifications for the handbook made by &a.jim;. The section on - fonts in XFree86 was contributed by &a.murray; - and the section on XDM was contributed by &a.sethk;. - Synopsis - The following chapter will cover installing and configuring X11 - on your system. For more information on X11 and to see whether your - video card is supported, check the FreeBSD uses XFree86 to provide users with a powerful + graphical user interface. XFree86 is a open-source + implementation of the X Window System. The following chapter + will cover installation and configuration of XFree86 on your + FreeBSD system. For more information on X11 and to see whether + your video card is supported, check the XFree86 web site. - - - Overview + After reading this chapter you will know: + + How to install and configure XFree86. + How to install and use different window managers + How to use TrueType fonts in XFree86 + How to setup your system for graphical logins (XDM). + - FreeBSD comes with XFree86, a - port of X11R6 that supports several versions of Intel-based Unix. - This chapter describes how to set up your - XFree86 server. It is based on - material supplied with the FreeBSD release, specifically the files - README.FreeBSD and - README.Config in the directory - /usr/X11R6/lib/X11/doc. If you find any - discrepancy, the material in those files will be more up-to-date - than this description. In addition, the file - /usr/X11R6/lib/X11/doc/RELNOTES contains - OS-independent information about the current release. + Before reading this chapter you should: - X uses a lot of memory. In order to run X, your system should - have an absolute minimum of 8 MB of memory, but performance will be - painful with so little memory. A more practical minimum is 16 MB, - and you can improve performance by adding more memory. If you use - X intensively, you will continue seeing performance improvement by - increasing to as much as 128 MB of RAM. - - There is lots of useful information in the rest of this chapter, - but maybe you are not interested in information right now. You just - want to get your X server up and running. However, be warned: - - - An incorrect installation can burn out your monitor or your - video board. - - - However, if you know you are in spec, and you have a standard - Super VGA board and a good multi-frequency monitor, then you can - probably get things up and running without reading this - chapter. + + Know how to install additional third-party + software () + Installing XFree86 - The easiest way to install XFree86 - is with the &man.sysinstall.8; - program, either when you are installing the system, or later by - starting the program /stand/sysinstall. In the - rest of this chapter, we will look at what makes up the - distribution, and we will also take a look at manually installing - X11. + XFree86 is available as a port + and as a package, making it easy to install. You can also + download the binaries directly from the XFree86 organization and + install them by hand, following the instructions provided by the + XFree86 group. + + Your only decision is which version of XFree86 to run. + XFree86 3.X is the maintenance branch of XFree86 development. + It's very stable, and it supports a huge number of graphics + cards. However, no new development is happening there. XFree86 + 4.X is a redesign of XFree86. As well as introducing many new + features (including much better support for fonts and + anti-aliasing), XFree86 4.X supports slightly fewer graphics + cards. + + If your card is supported we recommend you run 4.X. If it + is not then run 3.X. + + The rest of this chapter will explain how to configure + XFree86, and suggest various programs for X that you might want + to try. + + - - The XFree86 Distribution - - XFree86 is distributed as a bewildering - number of archives. - In the following section, we will take a look at what you should - install. Do not worry too much, though; if you cannot decide - what to pick and you have 200MB of disk space free, it's safe to - unpack everything. - - At a minimum you need to unpack the archives in the - following table and at least one server that matches your VGA - board. You will need 10Mb for the minimum required run-time - binaries only, and between 1.7 and 3 MB for the server. - - Below is a table of the required components. - - - - - - Archive - Description - - - - - - Xbin.tgz - All the executable X client applications and shared - libraries. - - - - Xfnts.tgz - The misc and 75 dpi fonts. - - - - Xlib.tgz - Data files and libraries needed at runtime. - - - - - - - - The X Server - - In addition to the archives above, you need at least one - server, which will take up about 3 MB of disk. The choice - depends primarily on what kind of display board you have. The - default server name is /usr/X11R6/bin/X, and - it is a link to a specific server binary - /usr/X11R6/bin/XF86_xxxx. You will find the - server archives for the standard PC architecture in - /cdrom/XF86336/Servers, and the servers for - the Japanese PC98 architecture in - /cdrom/XF86336/PC98-Servers if you have the - CD set. Alternatively, they are available on our FTP site at - ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/XF86336/Servers/ or ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/XF86336/PC98-Servers/ - - Available X servers for the standard PC architecture: - - - - - - Archive - Description - - - - - - X8514.tgz - 8-bit color for IBM 8514 and true - compatibles. - - - - XAGX.tgz - 8 and 16-bit color for AGX and XGA boards. - - - - XI128.tgz - 8 and 16-bit color for I128 boards. - - - - XMa32.tgz - 8 and 16-bit color for ATI Mach32 boards. - - - - XMa64.tgz - 8, 16, and 32-bit color fot ATI Mach64 - boards. - - - - XMa8.tgz - 8-bit color for ATI Mach8 boards. - - - - XMono.tgz - 1-bit monochrome for VGA, Super-VGA, Hercules, and - others. - - - - XP9K.tgz - 8, 16, and 32-bit color for Weitek P9000 boards - (Diamond Viper). - - - - XS3.tgz - 8, 16, and 32-bit color for S3 boards. - - - - XS3V.tgz - 8 and 16-bit color for S3 ViRGE boards. - - - - XSVGA.tgz - >=8-bit color for Super-VGA cards. - - - - XVG16.tgz - 4-bit color for VGA and Super-VGA cards. - - - - XW32.tgz - 8-bit color for ET4000/W32, /W32i, /W32p, and - ET6000 cards. - - - - - - Available X servers for the Japanese PC98 architecture: - - - - - - Archive - Description - - - - - - X9GAN.tgz - 8-bit color for PC98 GA-98NB/WAP boards. - - - - X9GA9.tgz - 8, 16, and 32-bit color for PC98 S3 GA-968 - boards. - - - - X9480.tgz - 8-bit color for PC98 PEGC - - - - X9NKV.tgz - 8-bit color for PC98 NEC-CIRRUS/EPSON NKV/NKV2 - boards. - - - - X9WBS.tgz - 8-bit color for PC98 WAB-S boards. - - - - X9WEP.tgz - 8-bit color for PC98 WAB-EP boards. - - - - X9WSN.tgz - 8-bit color for PC98 WSN-A2F boards. - - - - X9EGC.tgz - 4-bit color for PC98 EGC. - - - - X9TGU.tgz - 8 and 16-bit color for PC98 Trident Cyber9320/9680 - boards. - - - - X9NS3.tgz - 8 and 16-bit color for PC98 NEC S3 boards. - - - - X9SPW.tgz - 8 and 16-bit color for PC98 S3 PW/PCSKB - boards. - - - - X9LPW.tgz - 8 and 16-bit color for PC98 S3 PW/LB boards. - - - - - - Each of these servers includes a manual page which contains - details of supported chipsets and server-specific configuration - options. - - There are also a number of archives are provided for X - programmers: - - - - - - Archive - Description - - - - - - Xprog.tgz - Config, lib*.a, and - *.h files needed for compiling - clients. - - - - Xctrb.tgz - Contributed sources. - - - - Xlk98.tgz - The link kit for building servers, - Japanese PC98 version. - - - - Xlkit.tgz - The link kit for building servers, - normal PC architecture. - - - - Xsrc-1.tgz - Part 1 of the complete sources. - - - - Xsrc-2.tgz - Part 2 of the complete sources. - - - - Xsrc-3.tgz - Part 3 of the complete sources. - - - - - - - You will need Xprog.tgz if you intend - to install ports of X software. - - - XFree86 also includes a number - of optional parts, such as documentation, and setup - programs. - - - - - - Archive - Description - - - - - - Xdoc.tgz - READMEs - - - - Xjdoc.tgz - READMEs in Japanese. - - - - Xps.tgz - READMEs in PostScript. - - - - Xhtml.tgz - READMEs in HTML. - - - - Xman.tgz - Manual pages. - - - - Xcfg.tgz - Customizable xinit and - xdm runtime configuration - files. - - - - Xset.tgz - The X86Setup utility; a - graphical version of the xf86config - utility. - - - - Xjset.tgz - The XF86Setup utility, - Japanese version, for the normal PC architecture. - - - - - - XF86Setup is a graphical mode setup - program for XFree86, and you may - prefer it to the standard setup program - xf86config. You do not need any special - archives for xf86config; it is included in - Xbin.tgz. - - The first time you install, you will need - Xcfg.tgz to create your initial configuration - files. Do not use it when upgrading; it overwrites your - configuration files. - - There are also additional fonts that are available with - XFree86: - - - - - - Archive - Description - - - - - - Xf100.tgz - 100 dpi fonts. - - - - Xfscl.tgz - Speedo and Type1 fonts. - - - - Xfnon.tgz - Japanese, Chinese, and other non-english - fonts. - - - - Xfcyr.tgz - Cyrillic fonts. - - - - - - Unlike the X servers described above, the archives for the - following servers are all in the main directory. - - - - - - Archive - Description - - - - - - Xfsrv.tgz - The font server. - - - - Xnest.tgz - A nested server running as a client window on - another display. - - - - Xprt.tgz - The print server. - - - - Xvfb.tgz - The Virtual Framebuffer X server, which renders - into memory or an mmapped file. - - - - - - - - Installing XFree86 Manually - - If you do not use sysinstall - to install X, you need to perform a number of steps: - - - - Create the directories and unpack the required - archives. - - - - Choose and install an X server. - - - - Set up the environment to be able to access X. - - - - Find a virtual terminal in which to run X. - - - - Configure X for your hardware. - - - - This sounds like a lot of work, but if you approach it - methodically, it is not too bad. In the rest of this section, - we will look at each step in turn. - - - Unpacking the Archives - - You must unpack the archives as root, since a number of - the executables are set-user-id (they run as root even when - started by other users). If you unpack the server as an - ordinary user, it may abort when you try to run it. You must - also use a umask value of 022 (permissions rwxr-xr-x), because - the X server requires special permissions. - - &prompt.user; su -Password: -&prompt.root; umask 022 - - If you do not have enough space in the - /usr file system, create a directory on - another partition and symlink it to /usr. For example, if you - have a file system /home with adequate - space, you could do: - - &prompt.root; cd /home -&prompt.root; mkdir X11R6 -&prompt.root; ln -s /home/X11R6 /usr/X11R6 - - Next, decide which archives you want to install. For a - minimal installation, choose Xbin.tgz, - Xfnts.tgz, Xlib.tgz, - and Xcfg.tgz. If you have already - configured X for your hardware, you can omit - Xcfg.tgz. - - If you are using sh, unpack like this: - - &prompt.root; mkdir -p /usr/X11R6 -&prompt.root; cd /usr/X11R6 -&prompt.root; for i in bin fnts lib cfg; do -&prompt.root; tar xzf X$i.tgz -&prompt.root; done - - If you are using csh, enter: - - &prompt.root; mkdir -p /usr/X11R6 -&prompt.root; cd /usr/X11R6 -&prompt.root; foreach i (bin fnts lib cfg) -? tar xzf X$i.tgz -? end - - - - Installing the Server - - Choose a server archive corresponding to your VGA board. - If the table in the section above does not give you enough - information, check the server man pages, - /usr/X11R6/man/man1/XF86_*, which list - the VGA chipsets supported by each server. For example, if - you have an ET4000 based board you will use the - XF86_SVGA server. In this case you - would enter: - - &prompt.root; cd /usr/X11R6 -&prompt.root; tar xzf XSVGA.tgz [substitute your server name here] - - - - Setting up the environment - - Next, you may wish to create a symbolic link - /usr/X11/bin/X that points to the server - that matches your video board. In this example, it is the - XF86_SVGA server: - - &prompt.root; cd /usr/X11R6/bin -&prompt.root; rm X -&prompt.root; ln -s XF86_SVGA X - - X needs this symbolic link in order to be able to work - correctly, but you have the option of setting it when you run - xf86config – see below. - - Next, check that the directory - /usr/X11R6/bin is in the default path for - sh in /etc/profile and for - csh in - /etc/csh.login, and add it if it is not. - It is best to do this with an editor, but if you want to take - a shortcut, you can enter: - - &prompt.root; echo 'PATH=$PATH:/usr/X11R6/bin' >>/etc/profile - - or: - - &prompt.root; echo 'set path = ($path /usr/X11R6/bin)' >>/etc/csh.login - - Alternatively, make sure everybody who uses X puts - /usr/X11R6/bin in their shell's - PATH variable. - - Next, invoke ldconfig to put the - shared libraries in ld.so's cache: - - &prompt.root; ldconfig -m /usr/X11R6/lib - - You can omit invoking ldconfig if you - plan to reboot before using X. - - You do not need to uncompress the font files, but if you - do, you must run mkfontdir in the - corresponding font directory, otherwise your server will abort - with the message could not open default font - `fixed'. - - - - Assigning a virtual terminal to X - - Next, make sure you have a spare virtual console which is - running a &man.getty.8;. First check how many virtual consoles you - have: - - &prompt.root; dmesg | grep virtual -sc0: VGA color <16 virtual consoles, flags=0x0> - - Then check /etc/ttys to make sure - there is at least one virtual terminal (ttyvxx device) which - does not have a &man.getty.8; enabled. Look for the keyword - off: - - &prompt.root; grep ttyv /etc/ttys -ttyv0 "/usr/libexec/getty Pc" cons25 on secure -ttyv1 "/usr/libexec/getty Pc" cons25 on secure -ttyv2 "/usr/libexec/getty Pc" cons25 on secure -ttyv3 "/usr/libexec/getty Pc" cons25 off secure - - In this case, /dev/ttyv3 is - available, if your kernel has least 4 - vts. If not, either disable a - &man.getty.8; in /etc/ttys by changing on - to off, or build another kernel with more virtual - terminals. - - - - Configuring X for Your Hardware - - After installing the X software, you will need to - customize the file XF86Config, which - tells the X server about your hardware and how you want to - run it. - - In order to set up XF86Config, you - will need the following hardware information: - - - - Your mouse type, the bit rate if it is a serial mouse, - and the name of the device to which it is connected. This - will typically be /dev/ttyd0 or - /dev/ttyd1 for a serial mouse, - /dev/psm0 for a PS/2 mouse, or - /dev/mse0 for a bus mouse. - - - - The type of the video board and the amount of display - memory. If it is a no-name board, establish what VGA chip - set it uses. - - - - The parameters of your monitor; vertical and - horizontal frequency. - - - - - - Identifying the hardware - - How do you decide what your hardware is? The manufacturer - should tell you, but very often the information you get about - your display board and monitor is pitiful; Super VGA - board with 76 Hz refresh rate and 16,777,216 colors. - This tells you the maximum pixel depth (24 bits – - the - number of colors is 2(pixel depth)), but it doesn't tell you - anything else about the display board. - - As we will see later, the real parameters you need to know - are the maximum horizontal frequency, the dot clock range, the - chipset and the amount of display memory. - - You could be unlucky trying to get some of this - information, but you can get some with the - SuperProbe program. It should always be - able to tell you the chipset and the amount of memory on - board. - - Occasionally SuperProbe can crash your - system. Make sure you are not doing anything important when - you run it. Running SuperProbe looks like - this: - - &prompt.root; SuperProbe -(warnings and acknowledgments omitted) -First video: Super-VGA - Chipset: Tseng ET4000 (Port Probed) - Memory: 1024 Kbytes - RAMDAC: Generic 8-bit pseudo-color DAC - (with 6-bit wide lookup tables (or in 6-bit mode)) - - SuperProbe is very finicky about - running at all, and you will often get messages like: - - SuperProbe: Cannot be run while an X server is running -SuperProbe: If an X server is not running, unset $DISPLAY and try again -SuperProbe: Cannot open video - - In other words, even if no X server is running, - SuperProbe will not work if you have the - environment variable DISPLAY set. How do you - unset it? With Bourne-style shells, you enter: - - &prompt.root; unset DISPLAY - - In the C shell, you enter: - - &prompt.root; unsetenv DISPLAY - - - - Running <command>xf86config</command> - - The easy way to create your configuration file is with one - of the utilities xf86config (note the lower - case name) or XF86Setup. Both lead you - through the configuration step by step. - xf86config runs in character mode, while - XF86Setup runs in a graphical mode. - XF86Setup can have problems with unusual - hardware, so I personally prefer - xf86config. - - You can also use sysinstall, - but this does not change - much; sysinstall just starts - xf86config for you, and it is easier to - start it directly. In this section, we will use an example to - illustrate configuration via xf86config. - We are installing X for an ancient Diamond SpeedStar with 1 MB - of display memory, a Logitech MouseMan mouse, and an ADI - MicroScan 5AP monitor. The mouse is connected to the system - via the first serial port, - /dev/ttyd0. - - To run xf86config, type in the name. If - /usr/X11R6/bin is included in your - PATH environment variable, you just need to type - xf86config. If it is not, you need to type - out the full path to xf86config, like - so: - - &prompt.root; /usr/X11R6/bin/xf86config - - This program will create a basic - XF86Configfile, based on menu selections - you make. - - The XF86Config file usually resides - in /usr/X11R6/lib/X11 or - /etc. A sample - XF86Config file is supplied with - XFree86; - it is configured for a standard VGA card and monitor with - 640x480 resolution. This program will ask for a pathname when - it is ready to write the file. - - You can either take the sample - XF86Config as a base and edit it for your - configuration, or let this program produce a base - XF86Config file for your configuration - and fine-tune it. Refer to - /usr/X11R6/lib/X11/doc/README.Config for - a detailed overview of the configuration process. - - For accelerated servers (including accelerated drivers in - the SVGA server), there are many chipset and card-specific - options and settings. This program does not know about these. - On some configurations some of these settings must be - specified. Refer to the server man pages and chipset-specific - READMEs. - - Before continuing with this program, make sure you know - the chipset and amount of video memory on your video card. - SuperProbe can help with this. It is also - helpful if you know what server you want to run. - - Press enter to continue, or ctrl-c to abort. ENTER - -First specify a mouse protocol type. Choose one from the following list: - - 1. Microsoft compatible (2-button protocol) - 2. Mouse Systems (3-button protocol) - 3. Bus Mouse - 4. PS/2 Mouse - 5. Logitech Mouse (serial, old type, Logitech protocol) - 6. Logitech MouseMan (Microsoft compatible) - 7. MM Series - 8. MM HitTablet - 9. Microsoft IntelliMouse - - If you have a two-button mouse, it is most likely of type - 1, and if you have a three-button mouse, it can probably - support both protocol 1 and 2. There are two main varieties - of the latter type; mice with a switch to select the protocol, - and mice that default to 1 and require a button to be held at - boot-time to select protocol 2. Some mice can be convinced to - do 2 by sending a special sequence to the serial port (see the - ClearDTR/ClearRTS options). - - Enter a protocol number: 6 Logitech MouseMan - -You have selected a Logitech MouseMan type mouse. You might want to enable -ChordMiddle which could cause the third button to work. - -Please answer the following question with either 'y' or 'n'. -Do you want to enable ChordMiddle? n - - You definitely want to enable the third button on your - mouse, since many X clients use it. With a genuine Logitech - mouse, however, you don't need to enable - ChordMiddle in order to use the button. If - you find that the third button does not work when you start X, - you can enable ChordMiddle by editing the - configuration file – it is much easier and less - error-prone than re-running XF86Setup. - - Continuing through the setup: - - If your mouse has only two buttons, it is recommended that you enable Emulate3Buttons. - -Please answer the following question with either 'y' or 'n'. -Do you want to enable Emulate3Buttons? n - -Now give the full device name that the mouse is connected to, for example -/dev/tty00. Just pressing enter will use the default, /dev/mouse. - -Mouse device: /dev/ttyd1 - - Be very careful about this entry. You must specify the - correct name for the device to which the mouse is connected. - xf86config is not specific to FreeBSD, and - the suggested example is just plain wrong for FreeBSD. Use - the names /dev/ttyd0 through - /dev/ttyd3 for serial mice, - /dev/psm0 for PS/2 mice or - /dev/mse0 for a bus mouse. - - Continuing, we see: - - Beginning with XFree86 3.1.2D, you can use the new X11R6.1 -XKEYBOARD extension to manage the keyboard layout. If you answer 'n' to the -following question, the server will use the old method, and you have to -adjust your keyboard layout with xmodmap. - -Please answer the following question with either 'y' or 'n'. -Do you want to use XKB? y - -The following dialogue will allow you to select from a list of already -preconfigured keymaps. If you don't find a suitable keymap in the list, -the program will try to combine a keymap from additional information you -are asked then. Such a keymap is by default untested and may require -manual tuning. Please report success or required changes for such a -keymap to XFREE86@XFREE86.ORG for addition to the list of preconfigured -keymaps in the future. - -Press enter to continue, or ctrl-c to abort. - -List of preconfigured keymaps: - - 1 Standard 101-key, US encoding - 2 Microsoft Natural, US encoding - 3 KeyTronic FlexPro, US encoding - 4 Standard 101-key, US encoding with ISO9995-3 extensions - 5 Standard 101-key, German encoding - 6 Standard 101-key, French encoding - 7 Standard 101-key, Thai encoding - 8 Standard 101-key, Swiss/German encoding - 9 Standard 101-key, Swiss/French encoding - 10 None of the above - -Enter a number to choose the keymap. - -1 Choose the standard US keyboard - - Now we want to set the specifications of the monitor. The - two critical parameters are the vertical refresh rate, which - is the rate at which the whole screen is refreshed, and - most importantly the horizontal sync rate, which is the rate - at which scan-lines are displayed. - - The valid range for horizontal sync and vertical sync - should be documented in the manual of your monitor. If in - doubt, check the monitor database - /usr/X11R6/lib/X11/doc/Monitors to see if - your monitor is there. - - Press enter to continue, or ctrl-c to abort. ENTER - -You must indicate the horizontal sync range of your monitor. You can either -select one of the predefined ranges below that correspond to industry- -standard monitor types, or give a specific range. - -It is VERY IMPORTANT that you do not specify a monitor type with a horizontal -sync range that is beyond the capabilities of your monitor. If in doubt, -choose a conservative setting. - - hsync in kHz; monitor type with characteristic modes - 1 31.5; Standard VGA, 640x480 @@ 60 Hz - 2 31.5 - 35.1; Super VGA, 800x600 @@ 56 Hz - 3 31.5, 35.5; 8514 Compatible, 1024x768 @@ 87 Hz interlaced (no 800x600) - 4 31.5, 35.15, 35.5; Super VGA, 1024x768 @@ 87 Hz interlaced, 800x600 @@ 56 Hz - 5 31.5 - 37.9; Extended Super VGA, 800x600 @@ 60 Hz, 640x480 @@ 72 Hz - 6 31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @@ 60 Hz, 800x600 @@ 72 Hz - 7 31.5 - 57.0; High Frequency SVGA, 1024x768 @@ 70 Hz - 8 31.5 - 64.3; Monitor that can do 1280x1024 @@ 60 Hz - 9 31.5 - 79.0; Monitor that can do 1280x1024 @@ 74 Hz -10 31.5 - 82.0; Monitor that can do 1280x1024 @@ 76 Hz -11 Enter your own horizontal sync range - -Enter your choice (1-11): - - Unfortunately, our monitor is not mentioned in the file - /usr/X11R6/lib/X11/doc/Monitors, but by - chance the manual does specify the frequency range in the - Technical Data section. The horizontal frequency range is - from 30 to 64 kHz, and the vertical frequency range is from - 50 to 100 Hz. The horizontal frequency range is almost - exactly covered by choice 8, but that setting threatens to go - 0.3 kHz higher in frequency than the technical data state. Do - you want to risk it? Doing so will most likely not be a - problem, since it is unlikely that the monitor will die at - such a small deviation from the specs, and it is also unlikely - that your XF86Config will actually - generate a horizontal frequency between 64.0 and 64.3 kHz. - However, there is no need to take even this slight risk. Just - specify the real values: - - Enter your choice (1-11): 11 - -Please enter the horizontal sync range of your monitor, in the format used -in the table of monitor types above. You can either specify one or more -continuous ranges (e.g. 15-25, 30-50), or one or more fixed sync -frequencies. - -Horizontal sync range: 30-64 - - Next, we select the vertical frequency range: - - You must indicate the vertical sync range of your monitor. -You can either select one of the predefined ranges below that correspond -to industry-standard monitor types, or give a specific range. For -interlaced modes, the number that counts is the high one (e.g., 87 Hz -rather than 43 Hz). - - 1 50-70 - 2 50-90 - 3 50-100 - 4 40-150 - 5 Enter your own vertical sync range - -Enter your choice: 3 exactly the range of the monitor - - The next step is to specify identification strings. You - can think out names if you want, but unless you are juggling a - lot of different hardware, you can let - xf86config do it for you: - - You must now enter a few identification/description strings, -namely an identifier, a vendor name, and a model name. Just pressing enter -will fill in default names. - -The strings are free-form, spaces are allowed. -Enter an identifier for your monitor definition: ENTER -Enter the vendor name of your monitor: ENTER -Enter the model name of your monitor: ENTER - - Next comes the choice of the video board. We have an - elderly Diamond SpeedStar Plus with an ET4000 chip, and - unknown Ramdac and Clock Chip. Let's see how we fare: - - Now we must configure video card specific settings. At -this point you can choose to make a selection out of a database of video -card definitions. Because there can be variation in Ramdacs and clock -generators even between cards of the same model, it is not sensible to -blindly copy the settings (e.g., a Device section). For this reason, -after you make a selection, you will still be asked about the components -of the card, with the settings from the chosen database entry presented as -a strong hint. - -The database entries include information about the chipset, what server to -run, the Ramdac and ClockChip, and comments that will be included in the -Device section. However, a lot of definitions only hint about what server -to run (based on the chipset the card uses) and are untested. - -If you can't find your card in the database, there's nothing to worry about. -You should only choose a database entry that is exactly the same model as -your card; choosing one that looks similar is just a bad idea (e.g. a -GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of -hardware as can be). - -Do you want to look at the card database? y - 0 2 the Max MAXColor S3 Trio64V+ S3 Trio64V+ - 1 928Movie S3 928 - 2 AGX (generic) AGX-014/15/16 - 3 ALG-5434(E) CL-GD5434 - 4 ASUS 3Dexplorer RIVA128 - 5 ASUS PCI-AV264CT ATI-Mach64 - 6 ASUS PCI-V264CT ATI-Mach64 - 7 ASUS Video Magic PCI V864 S3 864 - 8 ASUS Video Magic PCI VT64 S3 Trio64 - 9 AT25 Alliance AT3D - 10 AT3D Alliance AT3D - 11 ATI 3D Pro Turbo ATI-Mach64 - 12 ATI 3D Xpression ATI-Mach64 - 13 ATI 3D Xpression+ PC2TV ATI-Mach64 - 14 ATI 8514 Ultra (no VGA) ATI-Mach8 - 15 ATI All-in-Wonder ATI-Mach64 - 16 ATI Graphics Pro Turbo ATI-Mach64 - 17 ATI Graphics Pro Turbo 1600 ATI-Mach64 - -Enter a number to choose the corresponding card definition. -Press enter for the next page, q to continue configuration. -ENTER - - Dozens of board definitions come in alphabetic order. - Finally we see: - - 108 DSV3325 S3 ViRGE -109 DSV3326 S3 Trio64V+ -110 DataExpert DSV3325 S3 ViRGE -111 DataExpert DSV3365 S3 Trio64V+ -112 Dell S3 805 S3 801/805 -113 Dell onboard ET4000 ET4000 -114 Diamond Edge 3D nv1 -115 Diamond Multimedia Stealth 3D 2000 S3 ViRGE -116 Diamond Multimedia Stealth 3D 2000 PRO S3 ViRGE/DX -117 Diamond SpeedStar (Plus) ET4000 -118 Diamond SpeedStar 24 ET4000 -119 Diamond SpeedStar 24X (not fully supported) WD90C31 -120 Diamond SpeedStar 64 CL-GD5434 -121 Diamond SpeedStar HiColor ET4000 -122 Diamond SpeedStar Pro (not SE) CL-GD5426/28 -123 Diamond SpeedStar Pro 1100 CL-GD5420/2/4/6/8/9 -124 Diamond SpeedStar Pro SE (CL-GD5430/5434) CL-GD5430/5434 -125 Diamond SpeedStar64 Graphics 2000/2200 CL-GD5434 - -Enter a number to choose the corresponding card definition. -Press enter for the next page, q to continue configuration. - -117 - -Your selected card definition: - -Identifier: Diamond SpeedStar (Plus) -Chipset: ET4000 -Server: XF86_SVGA - -Press enter to continue, or ctrl-c to abort.ENTER - -Now you must determine which server to run. Refer to the man pages and -other documentation. The following servers are available (they may not -all be installed on your system): - - 1 The XF86_Mono server. This a monochrome server that should work on any - VGA-compatible card, in 640x480 (more on some SVGA chipsets). - 2 The XF86_VGA16 server. This is a 16-color VGA server that should work on - any VGA-compatible card. - 3 The XF86_SVGA server. This is a 256 color SVGA server that supports - a number of SVGA chipsets. On some chipsets it is accelerated or - supports higher color depths. - 4 The accelerated servers. These include XF86_S3, XF86_Mach32, XF86_Mach8, - XF86_8514, XF86_P9000, XF86_AGX, XF86_W32, XF86_Mach64, XF86_I128 and - XF86_S3V. - -These four server types correspond to the four different "Screen" sections in -XF86Config (vga2, vga16, svga, accel). - - 5 Choose the server from the card definition, XF86_SVGA. - -Which one of these screen types do you intend to run by default (1-5)? - - The system already chose XF86_SVGA for us. Do we want to - change? We would need a good reason. In this case, we do not - have a reason, so we will keep the server from the card - definition: - - Which one of these screen types do you intend to run by default (1-5)? 5 - -The server to run is selected by changing the symbolic link 'X'. For example, -the SVGA server. - -Please answer the following question with either 'y' or 'n'. -Do you want me to set the symbolic link? y - - All the programs that start X (xinit, - startx, and xdm) - start a program /usr/X11R6/bin/X. This - symbolic link makes /usr/X11R6/bin/X - point to your X server. If you don't have a link, you will - not be able to start X. - - Now you must give information about your video card. This -will be used for the "Device" section of your video card in XF86Config. - -You must indicate how much video memory you have. It is probably a good -idea to use the same approximate amount as that detected by the server you -intend to use. If you encounter problems that are due to the used server -not supporting the amount memory you have (e.g. ATI Mach64 is limited to -1024K with the SVGA server), specify the maximum amount supported by the -server. - -How much video memory do you have on your video card: - - 1 256K - 2 512K - 3 1024K - 4 2048K - 5 4096K - 6 Other - -Enter your choice: 3 - -You must now enter a few identification/description strings, namely an -identifier, a vendor name, and a model name. Just pressing enter will fill -in default names (possibly from a card definition). - -Your card definition is Diamond SpeedStar (Plus). - -The strings are free-form, spaces are allowed. -Enter an identifier for your video card definition: ENTER -You can simply press enter here if you have a generic card, or want to -describe your card with one string. -Enter the vendor name of your video card: ENTER -Enter the model (board) name of your video card: ENTER - -Especially for accelerated servers, Ramdac, Dacspeed and ClockChip settings -or special options may be required in the Device section. - -The RAMDAC setting only applies to the S3, AGX, W32 servers, and some -drivers in the SVGA servers. Some RAMDAC's are auto-detected by the server. -The detection of a RAMDAC is forced by using a Ramdac "identifier" line in -the Device section. The identifiers are shown at the right of the following -table of RAMDAC types: - - 1 AT&T 20C490 (S3 and AGX servers, ARK driver) att20c490 - 2 AT&T 20C498/21C498/22C498 (S3, autodetected) att20c498 - 3 AT&T 20C409/20C499 (S3, autodetected) att20c409 - 4 AT&T 20C505 (S3) att20c505 - 5 BrookTree BT481 (AGX) bt481 - 6 BrookTree BT482 (AGX) bt482 - 7 BrookTree BT485/9485 (S3) bt485 - 8 Sierra SC15025 (S3, AGX) sc15025 - 9 S3 GenDAC (86C708) (autodetected) s3gendac - 10 S3 SDAC (86C716) (autodetected) s3_sdac - 11 STG-1700 (S3, autodetected) stg1700 - 12 STG-1703 (S3, autodetected) stg1703 - - -Enter a number to choose the corresponding RAMDAC. -Press enter for the next page, q to quit without selection of a RAMDAC. - - -q We don't need this - - -A Clockchip line in the Device section forces the detection of a -programmable clock device. With a clockchip enabled, any required -clock can be programmed without requiring probing of clocks or a -Clocks line. Most cards don't have a programmable clock chip. -Choose from the following list: - - 1 Chrontel 8391 ch8391 - 2 ICD2061A and compatibles (ICS9161A, DCS2824) icd2061a - 3 ICS2595 ics2595 - 4 ICS5342 (similar to SDAC, but not completely compatible) ics5342 - 5 ICS5341 ics5341 - 6 S3 GenDAC (86C708) and ICS5300 (autodetected) s3gendac - 7 S3 SDAC (86C716) s3_sdac - 8 STG 1703 (autodetected) stg1703 - 9 Sierra SC11412 sc11412 -10 TI 3025 (autodetected) ti3025 -11 TI 3026 (autodetected) ti3026 -12 IBM RGB 51x/52x (autodetected) ibm_rgb5xx - -Just press enter if you don't want a Clockchip setting. -What Clockchip setting do you want (1-12)? ENTER - -For most configurations, a Clocks line is useful since it prevents the slow -and nasty sounding clock probing at server start-up. Probed clocks are -displayed at server startup, along with other server and hardware -configuration info. You can save this information in a file by running -imprecise; some clocks may be slightly too high (varies per run). - -At this point I can run X -probeonly, and try to extract the clock information -from the output. It is recommended that you do this yourself and add a clocks -line (note that the list of clocks may be split over multiple Clocks lines) to -your Device section afterwards. Be aware that a clocks line is not -appropriate for drivers that have a fixed set of clocks and don't probe by -default (e.g. Cirrus). Also, for the P9000 server you must simply specify -clocks line that matches the modes you want to use. For the S3 server with -a programmable clock chip you need a 'ClockChip' line and no Clocks line. - -You must be root to be able to run X -probeonly now. - -Do you want me to run 'X -probeonly' now? - - This last question is worth thinking about. You should - run X -probeonly at some point, but it requires some extra - work. We'll take the recommendation and try it later. - - Do you want me to run 'X -probeonly' now? n - -For each depth, a list of modes (resolutions) is defined. The default -resolution that the server will start-up with will be the first listed -mode that can be supported by the monitor and card. -Currently it is set to: - -"640x480" "800x600" "1024x768" for 8bpp -"640x480" "800x600" for 16bpp -"640x480" for 24bpp -"640x400" for 32bpp - -Note that 16, 24 and 32bpp are only supported on a few configurations. -Modes that cannot be supported due to monitor or clock constraints will -be automatically skipped by the server. - - 1 Change the modes for 8pp (256 colors) - 2 Change the modes for 16bpp (32K/64K colors) - 3 Change the modes for 24bpp (24-bit color, packed pixel) - 4 Change the modes for 32bpp (24-bit color) - 5 The modes are OK, continue. - -Enter your choice: 5 accept the defaults - -You can have a virtual screen (desktop), which is screen area that is larger -than the physical screen and which is panned by moving the mouse to the edge -of the screen. If you don't want virtual desktop at a certain resolution, -you cannot have modes listed that are larger. Each color depth can have a -differently-sized virtual screen - -Please answer the following question with either 'y' or 'n'. -Do you want a virtual screen that is larger than the physical screen? n - - It is difficult to decide whether you want a virtual - screen larger than the physical screen. I find it extremely - disturbing, so I suggest you answer n. You might find it - useful, especially if your highest resolution is small. - - Now the configuration is complete, and - sysinstall just need to write the - configuration file: - - I am going to write the XF86Config file now. Make sure -you don't accidently overwrite a previously configured one. - -Shall I write it to /etc/XF86Config? y - -File has been written. Take a look at it before running 'startx'. Note that -the XF86Config file must be in one of the directories searched by the server -(e.g. /usr/X11R6/lib/X11) in order to be used. Within the server press -ctrl, alt and '+' simultaneously to cycle video resolutions. Pressing ctrl, -alt and backspace simultaneously immediately exits the server (use if -the monitor doesn't sync for a particular mode). - -For further configuration, refer to /usr/X11R6/lib/X11/doc/README.Config. - - Once you have completed this configuration, you are ready to - start X. - - - - XFree86 4.X Configuration - - Contributed by &a.cshumway;, July 2001. - + + + + + Christopher + Shumway + + + + + XFree86 Configuration Introduction @@ -1559,6 +300,15 @@ EndSection + + + + Murray + Stokely + Section on fonts + + + Using Fonts in XFree86 @@ -1766,6 +516,15 @@ match any family == "LuciduxMono" edit family =+ "Lucidux Mono"; + + + + Seth + Kingsley + Section on XDM + + + The X Display Manager Overview