Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought



     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 -



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026