7.3. X Server Configuration Files
The X server is a single binary executable (
/usr/X11R6/bin/Xorg
) that dynamically loads any necessary X server modules at runtime from the /usr/X11R6/lib/modules/
directory. Some of these modules are automatically loaded by the server, while others are optional and must be specified in the X server configuration file.
The X server and associated configuration files are stored in the
/etc/X11/
directory. The configuration file for the X server is /etc/X11/xorg.conf
. When Red Hat Enterprise Linux is installed, the configuration files for X are created using information gathered about the system hardware during the installation process.
7.3.1. xorg.conf
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.
7.3.1.1. The Structure
The
/etc/X11/xorg.conf
file is comprised of many different sections which address specific aspects of the system hardware.
Each section begins with a
Section "<section-name>"
line (where <section-name> is the title for the section) and ends with an EndSection
line. Within each of the sections are lines containing option names and at least one option value, sometimes surrounded with double quotes ("
).
Lines beginning with a hash mark (
#
) are not read by the X server and are used for human-readable comments.
Some options within the
/etc/X11/xorg.conf
file accept a boolean switch which turns the feature on or off. Acceptable boolean values are:
1
,on
,true
, oryes
— Turns the option on.0
,off
,false
, orno
— Turns the option off.
The following are some of the more important sections in the order in which they appear in a typical
/etc/X11/xorg.conf
file. More detailed information about the X server configuration file can be found in the xorg.conf
man page.
7.3.1.2. ServerFlags
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 7.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.
7.3.1.3. ServerLayout
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 at least two input devices (a keyboard and a mouse).
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:
Identifier
— Specifies a unique name for thisServerLayout
section.Screen
— Specifies the name of aScreen
section to be used with the X server. More than oneScreen
option may be present.The following is an example of a typicalScreen
entry:Screen 0 "Screen0" 0 0
The first number in this exampleScreen
entry (0
) indicates that the first monitor connector or head on the video card uses the configuration specified in theScreen
section with the identifier"Screen0"
.If the video card has more than one head, anotherScreen
entry would be necessary with a different number and a differentScreen
section identifier.The numbers to the right of"Screen0"
give the X and Y absolute coordinates for the upper-left corner of the screen (0 0
by default).InputDevice
— Specifies the name of anInputDevice
section to be used with the X server.There must be at least twoInputDevice
entries: one for the default mouse and one for the default keyboard. The optionsCorePointer
andCoreKeyboard
indicate that these are the primary mouse and keyboard.Option "<option-name>"
— An optional entry which specifies extra parameters for the section. Any options listed here override those listed in theServerFlags
section.Replace <option-name> with a valid option listed for this section in thexorg.conf
man page.
It is possible to create more than one
ServerLayout
section. However, the server only reads the first one to appear unless an alternate ServerLayout
section is specified as a command line argument.
7.3.1.4. Files
The
Files
section sets paths for services vital to the X server, such as the font path.
The following example illustrates a typical
Files
section:
Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "unix/:7100" EndSection
The following entries are commonly used in the
Files
section:
RgbPath
— Specifies the location of the RGB color database. This database defines all valid color names in X and ties them to specific RGB values.FontPath
— Specifies where the X server must connect to obtain fonts from thexfs
font server.By default, theFontPath
isunix/:7100
. This tells the X server to obtain font information using UNIX-domain sockets for inter-process communication (IPC) on port 7100.Refer to Section 7.4, “Fonts” for more information concerning X and fonts.ModulePath
— An optional parameter which specifies alternate directories which store X server modules.
7.3.1.5. Module
The
Module
section specifies which modules from the /usr/X11R6/lib/modules/
directory the X server is to load. Modules add additional functionality to the X server.
The following example illustrates a typical
Module
section:
Section "Module" Load "dbe" Load "extmod" Load "fbdevhw" Load "glx" Load "record" Load "freetype" Load "type1" Load "dri" EndSection
7.3.1.6. InputDevice
Each
InputDevice
section configures one input device for the X server. Systems typically have at least two InputDevice
sections, keyboard and mouse.
The following example illustrates a typical
InputDevice
section for a mouse:
Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "IMPS/2" Option "Device" "/dev/input/mice" Option "Emulate3Buttons" "no" EndSection
The following entries are commonly used in the
InputDevice
section:
Identifier
— Specifies a unique name for thisInputDevice
section. This is a required entry.Driver
— Specifies the name of the device driver X must load for the device.Option
— Specifies necessary options pertaining to the device.For a mouse, these options typically include:Protocol
— Specifies the protocol used by the mouse, such asIMPS/2
.Device
— Specifies the location of the physical device.Emulate3Buttons
— Specifies whether to allow a two button mouse to act like a three button mouse when both mouse buttons are pressed simultaneously.
Consult thexorg.conf
man page for a list of valid options for this section.
By default, the
InputDevice
section has comments to allow users to configure additional options.
7.3.1.7. Monitor
Each
Monitor
section configures one type of monitor used by the system. While one Monitor
section is the minimum, additional instances may occur for each monitor type in use with the machine.
The best way to configure a monitor 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 the chapter titled X Window System Configuration in the System Administrators Guide.
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 if 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 thisMonitor
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 specifiedModeline
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 specifiedModeline
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 thexorg.conf
man page for a more detailed explanation ofModeline
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 thexorg.conf
man page.
7.3.1.8. Device
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 the chapter titled X Window System Configuration in the System Administrators Guide.
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 thisDevice
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/X11R6/lib/X11/Cards
, which is installed with thehwdata
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 optional entry which specifies the bus location of the video card. This option is only mandatory for systems with multiple cards.Screen
— An optional entry which specifies which monitor connector or head on the video card theDevice
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, separateDevice
sections must exist and each of these sections must have a differentScreen
value.Values for theScreen
entry must be an integer. The first head on the video card has a value of0
. 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 thexorg.conf
man page.One of the more common options is"dpms"
, which activates the Service Star energy compliance setting for the monitor.
7.3.1.9. Screen
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 thisScreen
section. This is a required entry.Device
— Specifies the unique name of aDevice
section. This is a required entry.Monitor
— Specifies the unique name of aMonitor
section. This is a required entry.DefaultDepth
— Specifies the default color depth in bits. In the previous example,16
, which provides thousands of colors, is the default. MultipleDefaultDepth
entries are permitted, but at least one is required.SubSection "Display"
— Specifies the screen modes available at a particular color depth. AScreen
section may have multipleDisplay
subsections, but at least one is required for the color depth specified in theDefaultDepth
entry.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 thexorg.conf
man page.
7.3.1.10. DRI
The optional
DRI
section specifies parameters for the Direct Rendering Infrastructure (DRI). DRI is an interface which allows 3D software applications to take advantage of 3D hardware acceleration capabilities built into most modern video hardware. In addition, DRI can improve 2D performance via hardware acceleration, if supported by the video card driver.
This section is ignored unless DRI is enabled in the
Module
section.
The following example illustrates a typical
DRI
section:
Section "DRI" Group 0 Mode 0666 EndSection
Since different video cards use DRI in different ways, do not alter the values for this section without first referring to http://dri.sourceforge.net/.