getconfig(5) UNIX Programmer's Manual getconfig(5)
NAME
getconfig - meta configuration files for getconfig(1)
SYNOPSIS
*.cfg
DESCRIPTION
getconfig is a programmatic interface that is used by the
XFree86 server to get configuration information about video
hardware when operating without an XF86Config file.
This implementation of getconfig is written in perl. It
processes rules from meta-configuration files. All meta-
configuration files have a .cfg suffix.
Lines starting with a pound-sign (#) are comments, and are
ignored. Blank lines that consist only of white space are
also treated as comments and ignored.
The first non-comment line must be a signature string fol-
lowed by the file format version number. The signature
string is
"XFree86 Project getconfig rules file. Version: "
The currently defined version is "1.0". Files that do not
have the correct signature string are ignored.
The remaining non-comment lines define rules. The start of
a new rule is indicated by a line with no leading white
space. Subsequent lines making up a rule must be indented
with white space. Logical lines within a rule may be split
over multiple physical lines by using the usual continuation
convention ('\' at the end of the line). The first logical
line of each rule is a perl expression. It may be any valid
perl expression whose evaluated (with 'eval') result may be
used as the argument to a perl 'if' statement. The second
logical line should be the name of the XFree86 video driver
to use when the rule is true, and subsequent logical lines
of each rule, if present, are additional configuration out-
put for the video device's XF86Config Device section. The
driver name and additional lines of configuration informa-
tion are written to standard output when the rule is chosen
as the successful rule.
Pseudo rules consisting of perl expressions may be present
in the file for the purpose of defining custom perl vari-
ables or setting the weight to use for the following rules.
Pseudo rules are rules that consist of a single logical line
only, and they are never candidates themselves for the suc-
cessful rule.
XFree86 Version 4.5.0 1
getconfig(5) UNIX Programmer's Manual getconfig(5)
Several perl variables are pre-defined, and may be used
within rules. They include:
$vendor PCI vendor ID
$device PCI device ID
$revision PCI revision ID
$subsys PCI subsystem ID
$subsysVendor PCI subsystem vendor ID
$class PCI class
$sbuspath SBUS path
$XFree86Version XFree86 version, as a 'v' string
$XFree86VersionNumeric XFree86 numeric version
$XFree86VersionMajor XFree86 major version
$XFree86VersionMinor XFree86 minor version
$XFree86VersionPatch XFree86 patch version
$XFree86VersionSnap XFree86 snap version
$weight current rule weight
The $weight variable determines the weight of the rules as
they are processed. The weight for subsequent rules may be
set with a pseudo rule that sets or changes the value of
$weight. The default weight, and the weight used for built-
in rules is 500. The meta-configuration files are processed
in an unpredictable order. The weighting of the rules is
used to determine their relative priority
After processing all of the rules, both built-in and those
read from the meta-configuration files, the getconfig pro-
gram chooses as the successful rule the last and highest
weighted rule that evaluates to true.
FILES
.cfg files located in the search path. The search path typ-
ically specified by the XFree86 server is:
/etc/X11
/usr/X11R6/etc/X11
<modulepath>
/usr/X11R6/lib/X11/getconfig
where <modulepath> is the XFree86 server's module search
path.
/usr/X11R6/lib/X11/getconfig/xfree86.cfg
Default rules file that gets
installed. This file doesn't
contain any rules by default.
/usr/X11R6/lib/X11/getconfig/cfg.sample
A sample rules file that gives
some examples of what types of
rules can appear in rules
XFree86 Version 4.5.0 2
getconfig(5) UNIX Programmer's Manual getconfig(5)
files.
SEE ALSO
getconfig(1), XFree86(1), XF86Config(5).
AUTHORS
The XFree86 automatic configuration support and the getcon-
fig interface was written by David H. Dawes, with the sup-
port of X-Oz Technologies.
XFree86 Version 4.5.0 3