Metro-X looks for the Xconfig file in the following locations and in the following order:
$HOME/Xconfig $HOME/.Xconfig /etc/X11/Xconfig (on Linux only) /usr/lib/X11/Metro/Xconfig
Most options are set with the configuration utility (ConfigX, section 6.3.3). Additional options can be added using an editor, and ConfigX will preserve these.
Descriptions of the Xconfig keywords are listed below. They are alphabetized here for your convenience and any order dependencies are noted within the individual entries.
The following list of Xconfig keywords are options controlled via the Metro-X Configuration Utility. Any changes to these options should be made through the utility to avoid accidental damage to the function of Metro-X.
BitsPerPixel <number> Some X drivers support packed 24 bits per pixel memory organization. This means that each pixel takes up three bytes of video memory. In this case, configX inserts the line: BitsPerPixel 24
Buttons <number> This specifies the number of buttons on the mouse. This entry must immediately follow the Mouse entry in the Xconfig file.
Card <string> This designates the model of the graphics card in use. This is only used by configX.
Chipset <string> This displays the chipset used by the server. Normally configX inserts the correct chipset into the Xconfig file.
Clocks <number> [<number>...] This contains a list of numbers specifying the frequencies associated with the clock generator on the card. The numbers are specified in MHz.
Depth <number> This references the color depth of the screen, which controls how many colors can be displayed. Different cards and drivers support different depth values: 4, 8, 16, 24, or 32. Depth 4 supports 16 colors and depth 32 supports 16 million colors.
Dimensions <width> <height > This keyword represents the dimensions of the screen in millimeters, which is passed to X clients upon request.
DPMSoffDelay <number> This controls the number of seconds after the last user input before the screen enters DPMS off mode. Off mode provides maximum power reduction. To activate this mode, the X server disables both the horizontal and vertical sync signals to the monitor.
DPMSstandbyDelay<number> This controls the number of seconds after the last user input before the screen enters DPMS standby mode. Standby mode provides minimal power reduction. To activate this mode, the X server disables the horizontal sync signal to the monitor.
DPMSsuspendDelay<number> This controls the number of seconds after the last user input before the screen enters DPMS suspend mode. Suspend mode provides significant power reduction. To activate this mode, the X server disables the vertical sync signal to the monitor.
Driver<string> This references the name of the driver, which usually corresponds to the name of the X server. For example:
initiates the section for defining the 8514 driver.Driver 8514
Emulate3Buttons This entry is used when a two-button mouse is emulating a three-button mouse. This entry must immediately follow the Mouse entry in the Xconfig file.
FontPath <string> FontPath is followed by a comma-delimited string of font directories. A font directory is any directory which contains fonts and a fonts.dir file.
HotKeyExit This allows you to shut down the X server with the key sequence [Ctrl]- [Alt]-[Backspace]. If this keyword is not present, [Ctrl]- [Alt]-[Backspace] does nothing special.
KbdDesc <string> The quoted string must match one of the entries in the KeyboardInfo file.
KbdDescFile <string> The string describes the keyboard.
LogFile <filename> Errors from the X server are logged here.
Modes The entries following the Modes give display mode timing information. If more than one mode is specified, the server can switch between modes. See Modes ( section G.2.4 for more details.
Monitor ``<string>'' The quoted string must match one of the entries in the MonitorInfo file. Mouse<type> [device] This describes the type of mouse in use. Type is a keyword that is OS dependant; the device parameter is usually required and is a file in the /dev directory.
MouseDesc ``<string>'' The quoted string must match one of the entries in the MouseInfo file.
ScreenLayout <screen> <left_neighbor>
<bottom_neighbor> <left_edge> <right_edge> <top_edge> <bottom_edge> This defines how the mouse cursor behaves when it gets to the edge of the screen. There is one ScreenLayout entry for each configured screen. The *_neighbor fields tell which screen to move the mouse to. A value of -1 indicates that the mouse should stop at that edge. The *_edge fields tell at which edge of the corresponding *_neighbor screen the mouse will appear. Screens are numbered from 0 to 4. Edges are numbered as follows:
NOTE: Any changes made to this entry will be lost if configX is run.
ScreenLayoutIndex <number> This tells which of the predefined screen layouts was chosen in configX.
Virtual<width> <height> This designates the virtual width and height of the screen. The virtual width and height may be larger than the physical width and height if hardware panning is used.
Weight<string> This designates the RGB color specification, which is dependent on the depth value. When the depth value is 16, the options are:
When the depth value is 32, the options are:R5:G5:B5 (default) or R5:G6:B5
When the depth value is 4 or 8, the weight value is ignored. XscreenSaverDelay This controls the number of seconds (with no input) before the screen is blanked.R8:G8:B8 (default) or B8:G8:R8
The following keywords control options not set through the configuration utility, and require manual editing of the Xconfig file.
BackBuffer This entry tells the X server to allocate off-screen memory for a BackBuffer.
CursorAdjustY If the hardware cursor does not position correctly over the X Window screen, CursorAdjustX and CursorAdjustY allow you to specify a delta (number of pixels) to adjust the cursor left or right.
CursorScreenOne In a multiple screen configuration, this setting constrains the cursor to screen 0.
NoBackingStore This turns off backing store. Backing store is a server feature that allows programs to create complex drawings and have the server automatically handle exposure requests, thus preventing lengthy re-draw cycles. Backing store uses system memory to hold the window contents and can actually slow down the system if there is limited memory.
NoCursorWrap In a multiple screen configuration, this setting prevents the cursor from wrapping from screen 1 to screen 0.
NoFontCache This turns off font caching.
NoKeyboard This setting disallows keyboard input.
NoLEDs No LED processing is done by the server.
NoPixmapCache This turns off pixmap and stipple caching.
NotPrimaryMonitor No console processing is done for Virtual Terminal Support. This is normally used when X is run on a graphics card that is not driving the console.
Option <string> This specifies a special option passed to the server. It might specify the card model or a specific feature not typically used. Normally configX inserts the correct options in the Xconfig file.
Option HardwarePex Add this line to the Xconfig file to use the Hardware Z Buffer on the Matrox MGA Impression Plus graphics card. This file entry must immediately follow the Driver MGA entry.
Option NoHardwareCursor Add this line to disable hardware cursor support. This file entry must immediately follow the Driver entry.
RemapCursorPad This configuration causes the X server to send back different keycodes for the keypad arrow keys and cursorpad arrow keys. This is a minor violation of the X protocol, but it allows clients to differentiate between these keys.
SnfFormat <number> <number> <number> <number> Metro-X X11.5 can read X11.4 SNF (Server Natural Format) fonts. Since there is no standard for SNF fonts, the following four numbers can be adjusted to read most SNF fonts. The four number parameters represent the following values, normally built into the server at compile time:
For example, to read SCO SNF fonts, add this line to the Xconfig file:BITMAP_BIT_ORDER IMAGE_BYTE_ORDER GLYPHPADBYTES BITMAP_SCANLINE_UNIT
Or, to read SNF fonts compatible with X11 R4 from Interactive Systems Corporation, add this line to the Xconfig file:SnfFormat 1 0 1 1
SnfFormat 1 1 4 4
Terminate Terminate causes the server to exit when the last client disconnects. Normally xinit kills the X server when the last client disconnects, before the server can reset.
Trace <number> This prints additional debugging information.
VideoRam <number> This specifies the amount of video memory on the graphics card, specified in terms of 1024-byte units (with one megabyte equal to a value of 1024). The X server usually detects how much memory is on the card.
This uses the default VisualClass from
/usr/include/X11/X.h, and is based on the following table:
On monochrome monitors the line
should be added to the Xconfig file.VisualClass 1
The last section of the Xconfig file is the Mode database (Modes). It contains the VESA timing specifications for various resolutions. The default values work for most graphics cards, but they can be tweaked to center the image and adjust its size on the monitor. Most of the Metro-X servers use this database to configure the card for graphics mode. The numbers indicate which clock to use from the DisplayConfig file's CLOCKS line, and also show the horizontal and vertical timing values. More specifically, an example of the numbers are:
``1024x768'' 65 1024 1092 1220 1344 768 786 791 810
The following table shows the definition of each Modes number from the prior example.
|"1024X768"||Screen Resolution in Pixels|
|65||Pixel Clock (MHz)|
|1024||Pixels Displayed (H)|
|1092||Sync Start (H)|
|1220||Sync End (H)|
|768||Pixels Displayed (V)|
|786||Sync Start (V)|
|791||Sync End (V)|
These numbers represent the ranges the electron beam traverses per one vertical refresh of the screen. They determine where the image is positioned on the screen, and what the refresh rate is.
You can edit the Modes numbers if the screen image does not properly center or fill the monitor screen. Be sure to center the image before stretching or shrinking it. Any adjustments you make will go into effect after restarting the X server. Centering the Image: The Pixels Displayed numbers must match the desired physical screen resolution. The Sync Start and Sync End numbers must be increased or decreased (to move left or right; up or down) at the same time and by the same amount, and stay within the range of the Displayed and Total values.
Extensions are configured in the /usr/lib/X11/Metro/Extensions file. Most extensions are dynamically loaded; that is, if they are needed they are loaded automatically without any additional manual configuration. An extension that is ``ON'' is loaded at server startup and never unloaded. An extension that is ``DYN'' is dynamically loaded on request by an X client XQueryExtension call. These extensions display with XListExtensions or xdpyinfo. An extension that is ``OFF'' can not be used, nor is it displayed with XListExtensions or xdpyinfo.