There are two steps to getting things up and running. The first
is to select the appropriate server that you will be using and set it up
as the default server. The second step is to set up the XF86Config
file. This file is used to configure the server for your pointer device
(e.g. mouse, trackball), video card, and monitor, as well as a few other
things.
The XF86Config file contains several sections; these
procedures will lead you through filling out each part.
There is a default/sample XF86Config file in
/usr/X11R6/lib/X11/XF86Config.sample; you should copy
this to /usr/X11R6/lib/X11/XF86Config, and edit that file to your
specific configuration.
The
The default server name is /usr/X11R6/bin/X.
This is a link to a specific server binary XF86_xxxx, located
in /usr/X11R6/bin/.
You should check which server the X link is connected to.
If it is not correct, remove it and make a new link to the correct
binary.
The server binaries are:
The "Files" section of the XF86Config file contains the path to
the RGB database file (which should, in general, never need to be
changed), and the default font path. You can have multiple FontPath
lines in your XF86Config; they are concatenated. Ensure that each
directory listed exists and is a valid font directory. If the server
complains about "Can't open default font 'fixed'", it is because there
is an invalid entry in your font path. Try running the 'mkfontdir'
command in each directory if you are certain that each one is correct.
The
The video hardware is described in the "Device" sections.
Multiple device sections are permitted, and each section describes a
single graphics board.
Be sure to read the server manual pages and the chipset-specific
README files for any non-generic information that may apply to your
setup.
To create a Device section you need to collect the data for your
hardware, and make some configuration decisions. The hardware data you
need is:
Configuring monitor modes can be a trying experience,
unfortunately, because of the lack of standardization in monitor
hardware. We have attempted to simplify this by collecting databases
of specific monitor information, and assembling a set of "generic"
modes that should get pretty much any monitor up and functional.
For all the gory details of mode generation and tuning, refer to the
`VideoModes.doc' document by Eric Raymond.
The monitor specs and video modes are described in the "Monitor"
sections in the XF86Config file. To create a Monitor section, you need
to know your monitor's specifications. In particular, you need to know
what range of horizontal sync and vertical sync (refresh) rates it supports and
what its video bandwidth is. This information should be available in
the monitor's user manual. Also check the 'Monitors' file to see if it
has an entry for your monitor. See the
Once you have given a description of your monitor and graphics
hardware you need to specify how they are to be used by the servers.
This is done with the "Screen" sections in the XF86Config
file. You need to supply a Screen section for each of the server
driver types you will be using.
The driver types are "SVGA" (XF86_SVGA), "VGA16" (XF86_VGA16), "VGA2"
(XF86_Mono), "MONO" (XF86_Mono, XF86_VGA16), and "ACCEL" (XF86_S3,
XF86_Mach32, XF86_Mach8, XF86_Mach64, XF86_8514, XF86_P9000, XF86_AGX,
XF86_W32).
Each Screen section specifies which Monitor description and Device
description are to be used.
The Screen sections include one or more "Display" subsections.
One Display subsection may be provided for each depth that the server
supports. In the Display subsection you can specify the size of the
virtual screen the server will use. The virtual screen allows you to
have a "root window" larger than can be displayed on your monitor (e.g.
you can have an 800x600 display, but a 1280x1024 virtual size). The
Virtual keyword is used to specify this size. Note that many of the new
accelerated server use non-displayed memory for caching. It is not
desirable to use all of your memory for virtual display, as this leaves
none for caching, and this can cost as much as 30-40% of your server
performance.
The last thing you specify in Display subsection is the display
modes. These are the physical display resolutions that the server will
use. The name is arbitrary, but must match something in the appropriate
Monitor section. In general, these names are the display resolution
(e.g. "1024x768"), but need not be. You can list as many as desired;
the first is the default/starting display, and you can cycle through the
list with Ctrl-Alt-Keypad+ or Ctrl-Alt-Keypad- hotkey sequences.
That's it. Now you're ready to test out your new XFree86
installation.
#
# Mode Refresh Hor. Sync Dot-clock Interlaced? VESA?
# ------------------------------------------------------------
# 640x480 60Hz 31.5k 25.175M No No
# 640x480 60Hz 31.5k 25.175M No No
# 640x480 63Hz 32.8k 28.322M No No
# 640x480 70Hz 36.5k 31.5M No No
# 640x480 72Hz 37.9k 31.5M No Yes
# 800x600 56Hz 35.1k 36.0M No Yes
# 800x600 56Hz 35.4k 36.0M No No
# 800x600 60Hz 37.9k 40.0M No Yes
# 800x600 60Hz 37.9k 40.0M No No
# 800x600 72Hz 48.0k 50.0M No Yes
# 1024x768i 43.5Hz 35.5k 44.9M Yes No
# 1024x768 60Hz 48.4k 65.0M No Yes
# 1024x768 60Hz 48.4k 62.0M No No
# 1024x768 70Hz 56.5k 75.0M No Yes
# 1024x768 70Hz 56.25k 72.0M No No
# 1024x768 76Hz 62.5k 85.0M No No
# 1280x1024i 44Hz 51kHz 80.0M Yes No
# 1280x1024i 44Hz 47.6k 75.0M Yes No
# 1280x1024 59Hz 63.6k 110.0M No No
# 1280x1024 61Hz 64.24k 110.0M No No
# 1280x1024 74Hz 78.85k 135.0M No No
#
# 640x480@@60Hz Non-Interlaced mode
# Horizontal Sync = 31.5kHz
# Timing: H=(0.95us, 3.81us, 1.59us), V=(0.35ms, 0.064ms, 1.02ms)
#
# name clock horizontal timing vertical timing flags
"640x480" 25.175 640 664 760 800 480 491 493 525
#
# Alternate 640x480@@60Hz Non-Interlaced mode
# Horizontal Sync = 31.5kHz
# Timing: H=(1.27us, 3.81us, 1.27us) V=(0.32ms, 0.06ms, 1.05ms)
#
# name clock horizontal timing vertical timing flags
"640x480" 25.175 640 672 768 800 480 490 492 525
#
# 640x480@@63Hz Non-Interlaced mode (non-standard)
# Horizontal Sync = 32.8kHz
# Timing: H=(1.41us, 1.41us, 5.08us) V=(0.24ms, 0.092ms, 0.92ms)
#
# name clock horizontal timing vertical timing flags
"640x480" 28.322 640 680 720 864 480 488 491 521
#
# 640x480@@70Hz Non-Interlaced mode (non-standard)
# Horizontal Sync = 36.5kHz
# Timing: H=(1.27us, 1.27us, 4.57us) V=(0.22ms, 0.082ms, 0.82ms)
#
# name clock horizontal timing vertical timing flags
"640x480" 31.5 640 680 720 864 480 488 491 521
#
# VESA 640x480@@72Hz Non-Interlaced mode
# Horizontal Sync = 37.9kHz
# Timing: H=(0.76us, 1.27us, 4.06us) V=(0.24ms, 0.079ms, 0.74ms)
#
# name clock horizontal timing vertical timing flags
"640x480" 31.5 640 664 704 832 480 489 492 520
#
# VESA 800x600@@56Hz Non-Interlaced mode
# Horizontal Sync = 35.1kHz
# Timing: H=(0.67us, 2.00us, 3.56us) V=(0.03ms, 0.063ms, 0.70ms)
#
# name clock horizontal timing vertical timing flags
"800x600" 36 800 824 896 1024 600 601 603 625
#
# Alternate 800x600@@56Hz Non-Interlaced mode
# Horizontal Sync = 35.4kHz
# Timing: H=(0.89us, 4.00us, 1.11us) V=(0.11ms, 0.057ms, 0.79ms)
#
# name clock horizontal timing vertical timing flags
"800x600" 36 800 832 976 1016 600 604 606 634
#
# VESA 800x600@@60Hz Non-Interlaced mode
# Horizontal Sync = 37.9kHz
# Timing: H=(1.00us, 3.20us, 2.20us) V=(0.03ms, 0.106ms, 0.61ms)
#
# name clock horizontal timing vertical timing flags
"800x600" 40 800 840 968 1056 600 601 605 628 +hsync +vsync
#
# Alternate 800x600@@60Hz Non-Interlaced mode
# Horizontal Sync = 37.9kHz
# Timing: H=(1.20us, 3.80us, 1.40us) V=(0.13ms, 0.053ms, 0.69ms)
#
# name clock horizontal timing vertical timing flags
"800x600" 40 800 848 1000 1056 600 605 607 633
#
# VESA 800x600@@72Hz Non-Interlaced mode
# Horizontal Sync = 48kHz
# Timing: H=(1.12us, 2.40us, 1.28us) V=(0.77ms, 0.13ms, 0.48ms)
#
# name clock horizontal timing vertical timing flags
"800x600" 50 800 856 976 1040 600 637 643 666 +hsync +vsync
#
# 1024x768@@43.5Hz, Interlaced mode (8514/A standard)
# Horizontal Sync = 35.5kHz
# Timing: H=(0.54us, 1.34us, 1.25us) V=(0.23ms, 0.23ms, 0.93ms)
#
# name clock horizontal timing vertical timing flags
"1024x768i" 44.9 1024 1048 1208 1264 768 776 784 817 Interlace
#
# VESA 1024x768@@60Hz Non-Interlaced mode
# Horizontal Sync = 48.4kHz
# Timing: H=(0.12us, 2.22us, 2.58us) V=(0.06ms, 0.12ms, 0.60ms)
#
# name clock horizontal timing vertical timing flags
"1024x768" 65 1024 1032 1176 1344 768 771 777 806 -hsync -vsync
#
# 1024x768@@60Hz Non-Interlaced mode (non-standard dot-clock)
# Horizontal Sync = 48.4kHz
# Timing: H=(0.65us, 2.84us, 0.65us) V=(0.12ms, 0.041ms, 0.66ms)
#
# name clock horizontal timing vertical timing flags
"1024x768" 62 1024 1064 1240 1280 768 774 776 808
#
# VESA 1024x768@@70Hz Non-Interlaced mode
# Horizontal Sync=56.5kHz
# Timing: H=(0.32us, 1.81us, 1.92us) V=(0.05ms, 0.14ms, 0.51ms)
#
# name clock horizontal timing vertical timing flags
"1024x768" 75 1024 1048 1184 1328 768 771 777 806 -hsync -vsync
#
# 1024x768@@70Hz Non-Interlaced mode (non-standard dot-clock)
# Horizontal Sync=56.25kHz
# Timing: H=(0.44us, 1.89us, 1.22us) V=(0.036ms, 0.11ms, 0.53ms)
#
# name clock horizontal timing vertical timing flags
"1024x768" 72 1024 1056 1192 1280 768 770 776 806 -hsync -vsync
#
# 1024x768@@76Hz Non-Interlaced mode
# Horizontal Sync=62.5kHz
# Timing: H=(0.09us, 1.41us, 2.45us) V=(0.09ms, 0.048ms, 0.62ms)
#
# name clock horizontal timing vertical timing flags
"1024x768" 85 1024 1032 1152 1360 768 784 787 823
#
# 1280x1024@@44Hz, Interlaced mode
# Horizontal Sync=51kHz
# Timing: H=(0.02us, 2.7us, 0.70us) V=(0.02ms, 0.24ms, 2.51ms)
#
# name clock horizontal timing vertical timing flags
"1280x1024i" 80 1280 1296 1512 1568 1024 1025 1037 1165 Interlace
#
# Alternate 1280x1024@@44Hz, Interlaced mode (non-standard dot-clock)
# Horizontal Sync=47.6kHz
# Timing: H=(0.42us, 2.88us, 0.64us) V=(0.08ms, 0.12ms, 0.96ms)
#
# name clock horizontal timing vertical timing flags
"1280x1024i" 75 1280 1312 1528 1576 1024 1028 1034 1080 Interlace
#
# 1280x1024@@59Hz Non-Interlaced mode (non-standard)
# Horizontal Sync=63.6kHz
# Timing: H=(0.36us, 1.45us, 2.25us) V=(0.08ms, 0.11ms, 0.65ms)
#
# name clock horizontal timing vertical timing flags
"1280x1024" 110 1280 1320 1480 1728 1024 1029 1036 1077
#
# 1280x1024@@61Hz, Non-Interlaced mode
# Horizontal Sync=64.25kHz
# Timing: H=(0.44us, 1.67us, 1.82us) V=(0.02ms, 0.05ms, 0.41ms)
#
# name clock horizontal timing vertical timing flags
"1280x1024" 110 1280 1328 1512 1712 1024 1025 1028 1054
#
# 1280x1024@@74Hz, Non-Interlaced mode
# Horizontal Sync=78.85kHz
# Timing: H=(0.24us, 1.07us, 1.90us) V=(0.04ms, 0.04ms, 0.43ms)
#
# name clock horizontal timing vertical timing flags
"1280x1024" 135 1280 1312 1456 1712 1024 1027 1030 1064