X.Org is an open source implementation of the X Window System. It is further developed by the X.Org Foundation, which is also responsible for the development of new technologies and standards of the X Window System.
To use the available hardware, including mouse, graphics card, monitor,
and keyboard, in the best way possible, the configuration can be optimized
manually. Some aspects of this optimization are explained below.
For detailed information about configuring the X Window System,
review the various files in the directory
Be very careful when configuring your X Window System. Never start the X Window System until the configuration is finished. A wrongly configured system can cause irreparable damage to your hardware (this applies especially to fixed-frequency monitors). The authors of this book and SUSE Linux cannot be held responsible for damage. This information has been carefully researched, but this does not guarantee that all methods presented here are correct and will not damage your hardware.
The programs SaX2 and xorgconfig create the file
xorg.conf, by default in
This is the primary configuration file for the X Window
System. Find all the settings here concerning your graphics
card, mouse, and monitor.
The following sections describe the structure of the
It consists of several sections, each one
dealing with a certain aspect of the configuration.
Each section starts with the keyword
and ends with
The sections have the form:
Section designation entry 1 entry 2 entry n EndSection
The available section types are listed in Table 14.1, “Sections in /etc/X11/xorg.conf”.
Table 14.1. Sections in /etc/X11/xorg.conf
Input devices, like keyboards and special
input devices (touchpads, joysticks, etc.), are configured
in this section. Important parameters in this section are
Describes the monitor used. The individual elements of this
section are the name, which is referred to later in the
The modeline parameters are stored here for the specific screen
resolutions. These parameters can be calculated by SaX2 on the basis
of the values given by the user and normally do not need to be changed.
Intervene manually at this point if, for example, you want to connect a
fixed frequency monitor. Find details of the meaning of individual number
values in the HOWTO files in
This section defines a specific graphics card. It is referenced by its descriptive name.
This section puts together a
This section defines the layout of a single or multihead configuration.
This section binds the input devices
Screen are explained in more detail below.
Further information about the other sections can be found in
the manual pages of
There can be several different
Device sections in
xorg.conf. Even multiple
Screen sections are possible.
section determines which one is used.
The screen section combines a monitor with a device section and determines the resolution and color depth to use. A screen section might resemble Example 14.1, “Screen Section of the File /etc/X11/xorg.conf”.
Example 14.1. Screen Section of the File /etc/X11/xorg.conf
Section "Screen" DefaultDepth 16 SubSection "Display" Depth 16 Modes "1152x864" "1024x768" "800x600" Virtual 1152x864 EndSubSection SubSection "Display" Depth 24 Modes "1280x1024" EndSubSection SubSection "Display" Depth 32 Modes "640x480" EndSubSection SubSection "Display" Depth 8 Modes "1280x1024" EndSubSection Device "Device" Identifier "Screen" Monitor "Monitor" EndSection
Identifier line (here
Screen) gives this section a defined name with
which it can be uniquely referenced in the following
ServerLayout section. The lines
the graphics card and the monitor that belong to this definition. These are
just links to the
Monitor sections with their corresponding names
or identifiers. These sections are discussed
in detail below.
DefaultDepth setting to select the color depth
the server should use unless it is started with a specific color depth.
There is a
Display subsection for each color depth.
Depth assigns the color depth valid for
this subsection. Possible values for
Depth are 8,
15, 16, and 24. Not all X server modules support all these values.
After the color depth, a list of resolutions is set in the
Modes section. This list is checked by the X server
from left to right. For each resolution, the X server searches for a suitable
Modeline in the
Modeline depends on the capability of both the
monitor and the graphics card. The
settings determine the resulting
The first resolution found is the
With Ctrl-Alt-+ (on
the number pad), switch to the next resolution in the list to the right.
(on the number pad), switch to the left. This enables you to vary the
resolution while X is running.
The last line of the
Depth 16 refers to the size of the
virtual screen. The maximum possible size of a virtual screen depends on the
amount of memory installed on the graphics card and the desired color depth,
not on the maximum resolution of the monitor. Because modern graphics cards
have a large amount of video memory, you can create very large virtual
desktops. However, you may no longer be able to use 3D functionality if you
fill most of the video memory with a virtual desktop. If the card has 16 MB
video RAM, for example, the virtual screen can be up to 4096x4096 pixels in
size at 8-bit color depth. Especially for accelerated cards, however, it is
not recommended to use all your memory for the virtual screen, because
this memory on the card is also used for several font and graphics
A device section describes a specific graphics card. You can have as many
device entries in
xorg.conf as you like, provided
their names are differentiated using the keyword
Identifier. As a rule—if you have more than
one graphics card installed—the sections are simply numbered in
order. The first one is called
Device, the second
Device, and so on. The following
file shows an excerpt from the
section of a computer with a Matrox Millennium PCI graphics card:
Section "Device" BoardName "MGA2064W" BusID "0:19:0" Driver "mga" Identifier "Device" VendorName "Matrox" Option "sw_cursor" EndSection
If you use SaX2 for configuration, the device section should look something
like the above example. Both the
BusID are dependent on the hardware installed in
your computer and are detected by SaX2 automatically. The
BusID defines the PCI or AGP slot in which the
graphics card is installed. This matches the ID displayed by the command
lspci. The X server needs details in decimal
form, but lspci displays these in hexadecimal
Driver parameter, specify the
driver to use for this graphics card. If the card is a Matrox Millennium,
the driver module is called
mga. The X server then
searches through the
ModulePath defined in the
Files section in the
subdirectory. In a standard installation, this is the directory
_drv.o is added to the name, so, in the case of
mga driver, the driver file
mga_drv.o is loaded.
The behavior of the X server or of the driver can also be influenced through
additional options. An example of this is the option
sw_cursor, which is set in the device section. This
deactivates the hardware mouse cursor and depicts the mouse cursor using
software. Depending on the driver module, there are various options
available, which can be found in the description files of the driver modules
in the directory
valid options can also be found in the manual pages
Device sections, the
describe one monitor each. The configuration file
/etc/X11/xorg.conf can contain as many
Monitor sections as desired. The server layout
section specifies which
Monitor section is
Monitor definitions should only be set by experienced users. The
modelines constitute an important part of the
Modelines set horizontal and vertical timings for the respective
resolution. The monitor properties, especially
the allowed frequencies, are stored in the
Unless you have an in-depth knowledge of monitor and graphics card functions, nothing should be changed in the modelines, because this could cause severe damage to your monitor.
Those who try to develop their own monitor descriptions should be
very familiar with the documentation in
/usr/X11/lib/X11/doc. The section covering the video
modes deserves a special mention. It describes, in detail, how the hardware
functions and how to create modelines.
Manual specification of modelines is rarely required today. If you are using a modern multisync monitor, the allowed frequencies and optimal resolutions can, as a rule, be read directly from the monitor by the X server via DDC, as described in the SaX2 configuration section. If this is not possible for some reason, use one of the VESA modes included in the X server. This will function with practically all graphics card and monitor combinations.