Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




openSUSE 11.1 Reference Guide
Previous Page Home Next Page

10.1 Manually Configuring the X Window System

By default, the X Window System is configured with the SaX2 interface, described in Section 2.2, Setting Up Graphics Card and Monitor, (↑ Start-Up ). Alternatively it can be configured manually by editing the its configuration files.

WARNING: Faulty X Configurations can Damage Your Hardware

Be very careful when configuring your X Window System. Never start the X Window System until the configuration is finished. A misconfigured system can cause irreparable damage to your hardware (this applies especially to fixed-frequency monitors). The creators of this book and openSUSE cannot be held responsible for any resulting damage. This information has been carefully researched, but this does not guarantee that all methods presented here are correct and cannot damage your hardware.

The command sax2 creates the /etc/X11/xorg.conf file. This is the primary configuration file of the X Window System. Find all the settings here concerning your graphics card, mouse, and monitor.

IMPORTANT: Using X -configure

Use X -configure to configure your X setup if previous tries with openSUSE's SaX2 have failed. If your setup involves proprietary binary-only drivers, X -configure cannot work.

The following sections describe the structure of the configuration file /etc/X11/xorg.conf. It consists of several sections, each one dealing with a certain aspect of the configuration. Each section starts with the keyword Section <designation> and ends with EndSection. The following convention applies to all sections:

Section "designation"
  entry 1
  entry 2
  entry n

The section types available are listed in Table 10-1.

Table 10-1 Sections in /etc/X11/xorg.conf




The paths used for fonts and the RGB color table.


General switches for the server behavior.


A list of modules the server should load


Input devices, like keyboards and special input devices (touchpads, joysticks, etc.), are configured in this section. Important parameters in this section are Driver and the options defining the Protocol and Device. You normally have one InputDevice section per device attached to the computer.


The monitor used. Important elements of this section are the Identifier, which is referred to later in the Screen definition, the refresh rate VertRefresh, and the synchronization frequency limits (HorizSync and VertRefresh). Settings are given in MHz, kHz, and Hz. Normally, the server refuses any modeline that does not correspond with the specification of the monitor. This prevents too high frequencies from being sent to the monitor by accident.


The modeline parameters 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 /usr/share/doc/howto/en/html/XFree86-Video-Timings-HOWTO (available in the howtoenh package). To calculate VESA modes manually, you can use the tool cvt. For example, to calculate a modeline for a [email protected] monitor, use the command cvt 1680 1050 60.


A specific graphics card. It is referenced by its descriptive name. The options available in this section strongly depend on the driver used. For example, if you use the i810 driver, find more information about the available options in the manual page man 4 i810.


Combines a Monitor and a Device to form all the necessary settings for X.Org. In the Display subsection, specify the size of the virtual screen (Virtual), the ViewPort, and the Modes used with this screen.

Note that some drivers demand that all of the used configurations must be present in the Display section at some place. For example, if you use a laptop and want to use an external monitor that is bigger than the internal LCD, it might be necessary to add a bigger resolution than supported by the internal LCD at the end of the Modes line.


The layout of a single or multihead configuration. This section binds the input devices InputDevice and the display devices Screen.


Provides information for the Direct Rendering Infrastructure (DRI).

Monitor, Device, and Screen are explained in more detail. Further information about the other sections can be found in the manual pages of X.Org and xorg.conf.

There can be several different Monitor and Device sections in xorg.conf. Even multiple Screen sections are possible. The ServerLayout section determines which of these sections is used.

10.1.1 Screen Section

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 10-1.

Example 10-1 Screen Section of the File /etc/X11/xorg.conf

Section "Screen"
  DefaultDepth  16
  SubSection "Display"
    Depth       16
    Modes       "1152x864" "1024x768" "800x600"
    Virtual     1152x864
  SubSection "Display"
    Depth       24
    Modes       "1280x1024"
  SubSection "Display"
    Depth       32
    Modes "640x480"
  SubSection "Display"
    Depth        8
    Modes       "1280x1024"
  Device        "Device[0]"
  Identifier    "Screen[0]"
  Monitor       "Monitor[0]"

Section determines the section type, in this case Screen.

DefaultDepth determines the color depth to use by default unless another color depth is explicitly specified.

For each color depth, different Display subsections are specified.

Depth determines the color depth to be used with this set of Display settings. Possible values are 8, 15, 16, 24, and 32, though not all of these might be supported by all X server modules or resolutions.

The Modes section comprises a list of possible screen resolutions. The list is checked by the X server from left to right. For each resolution, the X server searches for a suitable Modeline in the Modes section. The Modeline depends on the capability of both the monitor and the graphics card. The Monitor settings determine the resulting Modeline.

The first resolution found is the Default mode. With Ctrl+Alt++ (on the number pad), switch to the next resolution in the list to the right. With Ctrl+Alt+ (on the number pad), switch to the previous. This enables you to vary the resolution while X is running.

The last line of the Display subsection with 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. If you omit this line, the virtual resolution is just the physical resolution. 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, for example, the card has 16 MB of video RAM, the virtual screen can take 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 the card's memory is also used for several font and graphics caches.

The Identifier line (here Screen[0]) gives this section a defined name with which it can be uniquely referenced in the following ServerLayout section. The lines Device and Monitor specify the graphics card and the monitor that belong to this definition. These are just links to the Device and Monitor sections with their corresponding names or identifiers. These sections are discussed in detail below.

10.1.2 Device Section

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. If you have more than one graphics card installed, the sections are simply numbered in order. The first one is called Device[0], the second one Device[1], and so on. The following file shows an excerpt from the Device section of a computer with a Matrox Millennium PCI graphics card (as configured by SaX2):

Section "Device"
  BoardName     "MGA2064W"
  BusID         "0:19:0"
  Driver        "mga"
  Identifier    "Device[0]"
  VendorName    "Matrox"
  Option        "sw_cursor"

The BusID refers to 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 form. The value of BusID is automatically detected by SaX2.

The value of Driver is automatically set by SaX2 and specifies which driver to use for your 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 drivers subdirectory. In a standard installation, this is the /usr/lib/xorg/modules/drivers directory or the /usr/lib64/xorg/modules/drivers directory for 64-Bit operating systems directory. _drv.o is added to the name, so, in the case of the 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 /usr/share/doc/package_name . Generally valid options can also be found in the manual pages (man xorg.conf, man 4 <driver module>, and man 4 chips).

If the graphics card has multiple video connectors, it is possible to configure the different devices of this single card as one single view. Use SaX2 to set up your graphics interface this way.

10.1.3 Monitor and Modes Section

Like the Device sections, the Monitor and Modes sections describe one monitor each. The configuration file /etc/X11/xorg.conf can contain as many Monitor sections as desired. Each Monitor section references a Modes section with the line UseModes if available. If no Modes section is available for the Monitor section, the X server calculates appropriate values from the general synchronization values. The server layout section specifies which Monitor section is relevant.

Monitor definitions should only be set by experienced users. The modelines are an important part of the Monitor sections. Modelines set horizontal and vertical timings for the respective resolution. The monitor properties, especially the allowed frequencies, are stored in the Monitor section. Standard VESA modes can be generated with the utility cvt. For more information read the manual page of cvt man cvt.

WARNING: Unless you have in-depth knowledge of monitor and graphics card functions, do not change the modelines, because this could severely damage your monitor.

Those who try to develop their own monitor descriptions should be very familiar with the documentation in /usr/share/X11/doc. Install the package xorg-x11-doc to find PDFs and HTML pages.

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 work with most graphics card and monitor combinations.

openSUSE 11.1 Reference Guide
Previous Page Home Next Page

  Published under the terms fo the GNU General Public License Design by Interspire