X.CONFIG(4) X.CONFIG(4)
NAME
X.config - local X server configuration data
SYNOPSIS
/etc/X.config
DESCRIPTION
X.config is an ASCII text file that defines X servers
for the local host. It is interpreted at the start of
execution of the X downloader 393dl(1M), the X server
and the configuration verifier xcf(1M).
The underlying model rests upon four elements:
Board
This is the basic hardware interface, representing
the various graphic controller boards in the
system.
Timing
This consists of the timing parameters used to set
up the graphic controller(s). It is independent
from the board definition to allow each board to be
set up in a different way without needless
replication of parameters.
Cluster
This defines the graphics hardware attached to any
given controller port. The hardware usually
consists of a video monitor (the screen), a
keyboard, and a pointing device (mouse), although
not all of these need be present.
Server
This represents each display as known by X and its
users. It consists of a collection of clusters
which implement the keyboard, pointer, and one or
more screens.
SYNTAX
General
All statements must begin a line; only one statement
per line is permitted. Definition statements, (i.e.,
those within a section) may be continued as multiline
statements by ending the continued lines by an escaped
newline (using a \ to escape) between, but not within,
keyword-value clauses. Otherwise, the layout is
generally free-form. Sections, statements within
sections, and keyword-value clauses within statements,
can occur in any order.
- 1 -
X.CONFIG(4) X.CONFIG(4)
Comments
Comments and all whitespace (tabs or spaces) are
ignored, and can therefore be used freely to format and
document the file. Comments are introduced by the #
character and continue to the end of line. They may
occur anywhere except within a keyword-value clause.
Sections
The file must contain one, and only one, each of four
sections, each corresponding to one of the model
elements. Each section is introduced by one of the
following statements:
BOARD SECTION
CLUSTER SECTION
TIMING SECTION
SERVER SECTION
Each section is terminated by the statement:
END OF SECTION
Definition Statements
These may only occur within a section and are of the
general form:
label:"keyword-value-clause-1...keyword-value-clause-n"
The label may be any string of characters, but note the
restriction on DISPLAY SECTION labels contained in the
External Constraints section.
Keyword-value-clauses
These are of the general form:
keyword = value :
- 2 -
X.CONFIG(4) X.CONFIG(4)
The following is a list of keywords, the sections
within which they occur, and expected values.
_____________________________________________________________________________
| Keyword |Section| Type | Value |
_____________________________________________________________________________
| | | | |
kbd SERVER string Label of cluster with keyboard device
| | | | |
Pointer SERVER string Label of cluster with pointer device
| | | | |
screen_0 SERVER string Label of cluster with screen 0
| | | | |
screen_1 * SERVER string Label of cluster with screen 1
| | | | |
screen_2 * SERVER string Label of cluster with screen 2
| | | | |
screen_3 * SERVER string Label of cluster with screen 3
| | | | |
screen_4 * SERVER string Label of cluster with screen 4
| | | | |
screen_5 * SERVER string Label of cluster with screen 5
| | | | |
screen_6 * SERVER string Label of cluster with screen 6
| | | | |
screen_7 * SERVER string Label of cluster with screen 7
| | | | |
topology * SERVER expressions See Topology
| | | | |
board CLUSTER string Label of board to which the cluster is
| | | | |
attached
| | | | |
cluster-dev CLUSTER string Full pathname of screen device
| | | | |
kbd_code * CLUSTER string If keyboard, its encoding
| | | | |
pointer_type * CLUSTER string If pointer, its type
| | | | |
horiz_dpi CLUSTER integer Horizontal dots/inch of screen
| | | | |
vert_dpi CLUSTER integer Vertical dots/inch of screen
| | | | |
load_dev BOARD string Full pathname of load device
| | | | |
local_code BOARD string Full pathname of 68K executable for
| | | | |
board
| | | | |
graphics_code BOARD string Full pathname of 34K executable for
| | | | |
board
| | | | |
board_type BOARD string Model of graphics controller board
| | | | |
timing BOARD string Label of appropriate timing section entry
| | | | |
hesync TIMING integer Clock of end of horizontal sync pulse
| | | | |
heblnk TIMING integer Clock of end of horizontal blanking pulse
| | | | |
hsblnk TIMING integer Clock of start of horizontal blanking
| | | | |
pulse
| | | | |
htotal TIMING integer Number of clocks in horizontal period
| | | | |
vesync TIMING integer Line of end of vertical sync pulse
| | | | |
veblnk TIMING integer Line of end of vertical blanking pulse
| | | | |
vsblnk TIMING integer Line of start of vertical blanking pulse
| | | | |
vtotal TIMING integer Number of lines in horizontal period
| | | | |
|______________|_______|___________|_________________________________________|
* Signifies an optional keyword; all others are
mandatory.
- 3 -
X.CONFIG(4) X.CONFIG(4)
strings
A string is any sequence of printable ASCII characters,
excluding the delimiting characters : and =, and the
escape character \. Whitespace is not significant,
thus:
kbd_code=mfset2:
is equivalent to
kbd_code = mf set 2 :
integers
An integer is an unsigned decimal number. Other number
bases are not acceptable.
TOPOLOGY
The term topology in this context refers to the
transition by the cursor between one screen and another
of a multiscreen server, under pointer control. Thus,
if the cursor reaches the right edge of one screen and
moves to the left edge of another, the two screens can
be considered to be horizontally adjacent.
Many different screen topologies are possible. The
topology keyword-value clause may be used to define
most of them.
The topology clause is of the format:
topology = screen_no op screen_no [; screen_no op
screen_no ] :
where:
screen_no
is the number of a particular screen.
Op
is one of the operands > or ^. Each operand is
considered to be bidirectional; > describes a
horizontal transition, i.e., vertical edge, and ^
describes a vertical transition, i.e., horizontal
edge.
As in other statements, spaces are not significant, and
are used here only for clarity.
- 4 -
X.CONFIG(4) X.CONFIG(4)
Thus, the following clause describes a transition from
the right-hand edge of screen 0 to the left-hand edge
of screen 1, and also a transition from the left-hand
edge of screen 1 to the right-hand edge of screen 0:
topology = 0 > 1:
Examples for three screens are:
horizontal, with wrap-around topology = 0>1;1>2;2>0:
vertical, with wrap-around topology = 0^1;1^2;2^0:
pyramid, (0 on top) topology = 1>2;1^0;2^0:
Note that in this case,
advantage is taken of
the fact that the
string is scanned from
left to right, so that
a transition occurs
upward from the top
edge of both screen 1
and screen 2 into
screen 0, but from the
bottom edge of screen 0
into screen 1 only.
INTERNAL CONSTRAINTS
These are constraints that are known implicitly, and
are, therefore, independent of any routine which may
use this file. These constraints may be regarded as
part of the internal semantics of the file definition.
All referenced labels must be defined.
Each server kbd clause must reference a cluster which
contains a kbd_code clause.
Each server pointer clause must reference a cluster
which contains a pointer_type clause.
EXTERNAL CONSTRAINTS
External constraints are those imposed by the
implementation of routines which use this file. Thus,
if all the foregoing are observed, the X.config file
will be legal, but may only be useful if the following
contraints are also observed. External constraint
violations may or may not be complained about by the
invoking executable.
- 5 -
X.CONFIG(4) X.CONFIG(4)
gsemgmt
The gsemgmt scripts assume the following:
Labels for cluster section statements are on the same
line as the board keyword.
Labels for timing section statements are on the same
line as the hesync keyword.
Labels for server section statements are on the same
line as the kbd keyword.
X
Certain constraints are required by means of the X
architecture and/or specific Motorola implementation:
Labels for server section statements must be an
unsigned integer in the range 0 to 255.
The only currently legal values for certain keywords
are:
Keyword Legal Values
board_type 393 or 395
kbd_code mfset2
pointer_type mouse
Although screens may be defined in any order, they
must comprise a contiguous set. For example, if
screen_2 is defined, screen_1 must also be defined
(screen_0 is mandatory).
For each server, the kbd and pointer keywords must
reference the same cluster.
EXAMPLE
See the /etc/X.config file produced after executing
sysadm setupgse.
SEE ALSO
xcf(1), X(1)
- 6 -