30.3. X Server Configuration Files

The X server is a single binary executable (/usr/bin/Xorg). Associated configuration files are stored in the /etc/X11/ directory (as is a symbolic link — X — which points to /usr/bin/Xorg). The configuration file for the X server is /etc/X11/xorg.conf.

The directory /usr/lib/xorg/modules/ contains X server modules that can be loaded dynamically at runtime. By default, only some modules in /usr/lib/xorg/modules/ are automatically loaded by the X server.

To load optional modules, they must be specified in the X server configuration file, /etc/X11/xorg.conf. For more information about loading modules, refer to Section 30.3.1.5, “Module”.

When Red Hat Enterprise Linux 5 is installed, the configuration files for X are created using information gathered about the system hardware during the installation process.

While there is rarely a need to manually edit the /etc/X11/xorg.conf file, it is useful to understand the various sections and optional parameters available, especially when troubleshooting.

The optional ServerFlags section contains miscellaneous global X server settings. Any settings in this section may be overridden by options placed in the ServerLayout section (refer to Section 30.3.1.3, “ServerLayout” for details).

Each entry within the ServerFlags section is on its own line and begins with the term Option followed by an option enclosed in double quotation marks (").

The following is a sample ServerFlags section:

Section "ServerFlags"       
	Option "DontZap" "true"      
EndSection

The following lists some of the most useful options:

  • "DontZap" "<boolean>" — When the value of <boolean> is set to true, this setting prevents the use of the Ctrl-Alt-Backspace key combination to immediately terminate the X server.

  • "DontZoom" "<boolean>" — When the value of <boolean> is set to true, this setting prevents cycling through configured video resolutions using the Ctrl-Alt-Keypad-Plus and Ctrl-Alt-Keypad-Minus key combinations.

The ServerLayout section binds together the input and output devices controlled by the X server. At a minimum, this section must specify one output device and one input device. By default, a monitor (output device) and keyboard (input device) are specified.

The following example illustrates a typical ServerLayout section:

Section  "ServerLayout"         
	Identifier     "Default Layout"         
	Screen      0  "Screen0" 0 0         
	InputDevice    "Mouse0" "CorePointer"         
	InputDevice    "Keyboard0" "CoreKeyboard" 
EndSection

The following entries are commonly used in the ServerLayout section:

It is possible to put more than one ServerLayout section in the /etc/X11/xorg.conf file. By default, the server only reads the first one it encounters, however.

If there is an alternative ServerLayout section, it can be specified as a command line argument when starting an X session.

By default, the X server automatically loads the following modules from the /usr/lib/xorg/modules/ directory:

  • extmod

  • dbe

  • glx

  • freetype

  • type1

  • record

  • dri

The default directory for loading these modules can be changed by specifying a different directory with the optional ModulePath parameter in the Files section. Refer to Section 30.3.1.4, “Files” for more information on this section.

Adding a Module section to /etc/X11/xorg.conf instructs the X server to load the modules listed in this section instead of the default modules.

For example, the following typical Module section:

Section "Module" 	
	Load  "fbdevhw" 	
EndSection				

instructs the X server to load the fbdevhw instead of the default modules.

As such, if you add a Module section to /etc/X11/xorg.conf, you will need to specify any default modules you want to load as well as any extra modules.

Each Monitor section configures one type of monitor used by the system. This is an optional entry as well, as most monitors are now automatically detected.

The easiest way to configure a monitor is to configure X during the installation process or by using the X Configuration Tool. For more information about using the X Configuration Tool, refer to Chapter 31, X Window System Configuration.

This example illustrates a typical Monitor section for a monitor:

Section "Monitor" 	
	Identifier   "Monitor0" 	
	VendorName   "Monitor Vendor" 	
	ModelName    "DDC Probed Monitor - ViewSonic G773-2" 	
	DisplaySize  320	240 	
	HorizSync    30.0 - 70.0 	
	VertRefresh  50.0 - 180.0 
EndSection

Warning

Be careful when manually editing values in the Monitor section of /etc/X11/xorg.conf. Inappropriate values can damage or destroy a monitor. Consult the monitor's documentation for a listing of safe operating parameters.

The following are commonly entries used in the Monitor section:

  • Identifier — Specifies a unique name for this Monitor section. This is a required entry.

  • VendorName — An optional parameter which specifies the vendor of the monitor.

  • ModelName — An optional parameter which specifies the monitor's model name.

  • DisplaySize — An optional parameter which specifies, in millimeters, the physical size of the monitor's picture area.

  • HorizSync — Specifies the range of horizontal sync frequencies compatible with the monitor in kHz. These values help the X server determine the validity of built-in or specified Modeline entries for the monitor.

  • VertRefresh — Specifies the range of vertical refresh frequencies supported by the monitor, in kHz. These values help the X server determine the validity of built in or specified Modeline entries for the monitor.

  • Modeline — An optional parameter which specifies additional video modes for the monitor at particular resolutions, with certain horizontal sync and vertical refresh resolutions. Refer to the xorg.conf man page for a more detailed explanation of Modeline entries.

  • Option "<option-name>" — An optional entry which specifies extra parameters for the section. Replace <option-name> with a valid option listed for this section in the xorg.conf man page.

Each Device section configures one video card on the system. While one Device section is the minimum, additional instances may occur for each video card installed on the machine.

The best way to configure a video card is to configure X during the installation process or by using the X Configuration Tool. For more about using the X Configuration Tool, refer to Chapter 31, X Window System Configuration.

The following example illustrates a typical Device section for a video card:

Section "Device" 	
	Identifier  "Videocard0" 	
	Driver      "mga" 	
	VendorName  "Videocard vendor" 	
	BoardName   "Matrox Millennium G200" 	
	VideoRam    8192         
	Option      "dpms" 
EndSection

The following entries are commonly used in the Device section:

  • Identifier — Specifies a unique name for this Device section. This is a required entry.

  • Driver — Specifies which driver the X server must load to utilize the video card. A list of drivers can be found in /usr/share/hwdata/videodrivers, which is installed with the hwdata package.

  • VendorName — An optional parameter which specifies the vendor of the video card.

  • BoardName — An optional parameter which specifies the name of the video card.

  • VideoRam — An optional parameter which specifies the amount of RAM available on the video card in kilobytes. This setting is only necessary for video cards the X server cannot probe to detect the amount of video RAM.

  • BusID — An entry which specifies the bus location of the video card. On systems with only one video card a BusID entry is optional and may not even be present in the default /etc/X11/xorg.conf file. On systems with more than one video card, however, a BusID entry must be present.

  • Screen — An optional entry which specifies which monitor connector or head on the video card the Device section configures. This option is only useful for video cards with multiple heads.

    If multiple monitors are connected to different heads on the same video card, separate Device sections must exist and each of these sections must have a different Screen value.

    Values for the Screen entry must be an integer. The first head on the video card has a value of 0. The value for each additional head increments this value by one.

  • Option "<option-name>" — An optional entry which specifies extra parameters for the section. Replace <option-name> with a valid option listed for this section in the xorg.conf man page.

    One of the more common options is "dpms" (for Display Power Management Signaling, a VESA standard), which activates the Service Star energy compliance setting for the monitor.

Each Screen section binds one video card (or video card head) to one monitor by referencing the Device section and the Monitor section for each. While one Screen section is the minimum, additional instances may occur for each video card and monitor combination present on the machine.

The following example illustrates a typical Screen section:

Section "Screen" 	
	Identifier "Screen0" 	
	Device     "Videocard0" 	
	Monitor    "Monitor0" 	
	DefaultDepth     16 	
SubSection "Display" 		
	Depth     24 		
	Modes    "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480" 	
EndSubSection 	
SubSection "Display" 		
	Depth     16 		
	Modes    "1152x864" "1024x768" "800x600" "640x480" 	
EndSubSection 
EndSection

The following entries are commonly used in the Screen section:

  • Identifier — Specifies a unique name for this Screen section. This is a required entry.

  • Device — Specifies the unique name of a Device section. This is a required entry.

  • Monitor — Specifies the unique name of a Monitor section. This is only required if a specific Monitor section is defined in the xorg.conf file. Normally, monitors are automatically detected.

  • DefaultDepth — Specifies the default color depth in bits. In the previous example, 16 (which provides thousands of colors) is the default. Only one DefaultDepth is permitted, although this can be overridden with the Xorg command line option -depth <n>,where <n> is any additional depth specified.

  • SubSection "Display" — Specifies the screen modes available at a particular color depth. The Screen section can have multiple Display subsections, which are entirely optional since screen modes are automatically detected.

    This subsection is normally used to override autodetected modes.

  • Option "<option-name>" — An optional entry which specifies extra parameters for the section. Replace <option-name> with a valid option listed for this section in the xorg.conf man page.