X386(1)

NAME
X386 - X Window System server for UNIX System V/386

SYNOPSIS
X386 [:displaynumber] [ option ] ...

DESCRIPTION
X386 is the generic sample server for the X Window System, Version 11 Release 5 on i386 hardware. It is normally started by the xdm(1) daemon or by a script that runs the program xinit(1) such as startx. New extensions supported by X386 in X11R5 include X3D-PEX (PHIGS/+ Extension to X) and XTestExtension1 (Input Synthesis Extension).

CONFIGURATIONS

X386 operates under ISC, SCO, ESIX & AT&T UNIX System V/3.2 and UHC, ESIX, Dell & AT&T UNIX System V/4.0. The server supports the following popular SuperVGA boards in 256 color mode:

SuperVGA Cards	Max Res 	ChipSet
--------------------------------	--------	-------
Compuadd Hi-Rez card w/1meg	1024x768	ET4000
Diamond SpeedStar	1024x768	ET4000
EIZO MD-10	800x600	ET3000
GENOA 5300/5400	800x600	ET3000
GENOA 6400	800x600	GVGA
Optima Mega/1024	1024x768	ET4000
Orchid ProDesigner	800x600	ET3000
Orchid ProDesigner II/1024	1024x768	ET4000
Paradise VGA Professional	640x480	PVGA1A
Paradise VGA 1024	640x480	WD90C00
Sigma Legend	1024x768	ET4000
STB PowerGraph w/1meg	1024x768	ET4000
Swan SVGA equipped with VCO chip	1024x768	ET4000
TRICOM Mega/1024	1024x768	ET4000

The core X11R5 source tree as supplied in the public release was compiled and tested under ISC 2.2.1 (UNIX System V/3.2), Dell and AT&T UNIX System V/4.0.

NETWORK CONNECTIONS
X386 supports connections made using the following reliable byte-streams:

Unix Domain
    X386 uses /tmp/.X11-unix/Xn as the filename for the socket, where n is the display number, (SVR4).

TCPIP
    X386 listens on port htons(6000+n), where n is the display number, (SVR3 and SVR4).

OPTIONS
See the command line switches described in the Xserver(1) manual page. X386 does not accept any additional switches.

KEYBOARD
Multiple key presses recognized directly by X386 are:

Ctrl+Alt+Backspace
    Immediately kills the server -- no questions asked. (Can be disabled by specifying "dontzap" in the configuration file.)

Ctrl+Alt+Keypad-Plus
    Change video mode to next one specified in the configuration file, (increasing video resolution order).

Ctrl+Alt+Keypad-Minus
    Change video mode to previous one specified in the configuration file, (decreasing video resolution order).

SETUP
X386 uses the configuration file /usr/X386/Xconfig for its initial setup. This file is composed of the following sections:

General Server Parameters
Keyboard Configuration
Mouse Configuration
Video Mode Setup
Table of Known Video Modes

The General Server Parameters section lets you adjust some generic server parameter which seldom change for a given site. (The fontpath parameter can also be set from the command line, see Xserver(1).):

fontpath
    sets the search path for fonts. This path is a comma separated list of directories which the sample server searches for font databases.

rgbpath
    sets the name of RGB color database.

The Keyboard Configuration section starts with a keyword describing which kind of driver should be used: keyboard (the normal device) or xqueue (the eventque driver). Note that the latter one exists only for compatibility with older releases and shouldn't be used. Following this keyword the following options can be specified:

autorepeat delay rate
    changes the behavior of the autorepeat of the keyboard.

dontzap
    disallows the use of the Ctrl+Alt+Backspace sequence. This sequence allows you to terminate the server.

servernum
    forces the server to handle the numlock key internally. The server sends virtual key-events so applications can use the numberpad.

xleds led ...
    makes led available for clients instead of using the traditional function (Scroll Lock, Caps Lock & Num Lock)

Similar to above, the Mouse Configuration section starts with a special keyword, but here we must select the type of mouse (i.e. it's protocol) that is connected to the computer. (Using the xqueue driver this section is obsolete since mouse I/O is handled by the xqueue-driver.) The mouse types available are:

busmouse
logitech
microsoft
mmseries
mouseman
mousesystems

(One should specify busmouse for the Logitech bus mouse.)

The following options can be specified after this keyword:

baudrate rate
    sets the baudrate of the serial mouse to rate. For mice that allow dynamic speed adjustments (like logitech) the baudrate is changed in the mouse. Otherwise the rate is simply set on the computer's side to allow mice with non-standard rates.

emulate3buttons
    enables the emulation of the third mouse button for mice which only have two physical buttons. The third button is emulated by pressing both buttons simultaneously.

samplerate rate
    sets the number of motion/button-events the mouse sends per second. This is currently only supported for logitech mice.

The Graphics Driver Setup section starts with the keyword vga256. After this keyword a variety of options may be specified:

staticgray,grayscale,staticcolor,pseudocolor,truecolor,directcolor
    sets the visual class for the root window of the screen.

chipset "name"
    specifies a chipset so the correct driver can be used. Possible chipsets are:

    et3000
    et4000
    gvga
    pvga

clocks clock ...
    specifies the dotclocks that are on your graphics board.

displaysize xdim ydim
    sets the display size (internal) to xdim x ydim (measured in mm).

modes "mode" ...
    selects the display modes for this screen. The first one in the list will be the default display mode for startup. Internally this list is converted into a circular list. With Ctrl+Alt+Keypad-Plus and Ctrl+Alt+Keypad-Minus the current display mode may be changed, and the next (upward/downward) entry in the list will be used.

vendor "vendorstring"
    allows the server to select a special behavior for *special* hardware. Currently the following strings are recognized:

    legend

videoram mem
    specifies the amount of videoram that is installed on the graphics board. This is measured in kBytes.

viewport x0 y0
    sets the upper left corner of the initial display. If the virtual resolution is larger than what is physically displayed, then the initial display will be centered if viewport is not specified.

virtual xdim ydim
    sets the virtual resolution. For example one might use a display with 800x600, but a virtual resolution of 1152x900. If the mouse touches the borders of the display the image scrolls accordingly. This is called panning.

Note that X386 has some internal capabilities to determine what hardware it is running on. Thus normally the keywords chipset, clocks, vendor and videoram don't have to be specified. But there may be occasions when this autodetection mechanism fails, (for example, too high of load on the machine when you start the server). For cases like this, one should first run X386 on an unloaded machine, look at the results of the autodetection (that are printed out during server startup) and then explicitly specify these parameters in the configuration file.

The last section is the Table of Video Modes which starts with the keyword modedb. A list of possible mode-records follows this keyword. For every mode string in the previously specified modes line, the server scans the list of mode-records looking for a matching modename. When a match occurs, then the dotclock value is compared to those found on the graphics board. If the dotclock value matches, then the rest of the values in the mode-record will be used for that display mode. If there is more than one matching mode-record (for a given modename and dotclock), then the last one matched will be used. A mode-record consists of seven parts:

modename
    is the string that identifies this mode. If one is not specified, then the modename string of the last valid mode-record is used.

dotclock
    is the dotclock this mode uses. This is the basic timer for all video signals.

hdisp, hsyncstart, hsyncend, htotal
    is the horizontal timing

vdisp, vsyncstart, vsyncend, vtotal
    is the vertical timing

interlace
    sets interlace display mode.

+hsync, -hsync
    selects polarity of HSYNC signal

+vsync, -vsync
    selects polarity of VSYNC signal

For details on how to build your own video modes please refer to the tutorial written by Chin Fang.

A sample config file might look like this:

RGBPath         "/usr/X386/lib/X11/rgb"
FontPath        "/usr/X386/lib/X11/fonts/misc/,:zok:7000"
Keyboard
  AutoRepeat 500 5
  Xleds      1 2 3
  ServerNumLock
  DontZap
Logitech	"/dev/tty00"
  BaudRate	9600
  SampleRate	150
  Emulate3Buttons
vga256
  Chipset       "et4000"
  Vendor        "legend"
  Clocks        25 28 36 62
  Virtual       1152 900
  ViewPort      0 0
  Modes         "1024x768" "640x480"
ModeDB
 "640x480"   25     640  672  768  800    480  490  492  525
             28     640  672  768  800    480  490  492  525
 "1024x768"  62    1024 1092 1220 1344    768  786  791  810
Note that a new feature of X11R5 is the ability of the X server to request fonts from a font server. One specifies a font server by placing a ":<hostname>:<tcp_port_number>" into the fontpath. In the above example, the fontpath "/usr/X386/lib/X11/fonts/misc/,:zok:7000" tells X386 to first try to locate the font in the local directory /usr/X386/lib/X11/fonts/misc. If that fails, then request the font from the font server running on machine zok listening for connections on TCP port number 7000.

FILES

/usr/X386/bin/X386
    The X server

/usr/X386/lib/X11/Xconfig
    Server configuration file

/usr/X386/lib/X11/etc
    Additional X386 support files

/usr/X386/bin/*
    Client binaries

/usr/X386/include/*
    Header files

/usr/X386/lib/*
    Libraries

/usr/X386/lib/X11/fonts/*
    Fonts

/usr/X386/lib/X11/rgb.{dir,pag,txt}
    Color names to RGB mapping

/usr/X386/lib/X11/XErrorDB
    Client error message database

/usr/X386//lib/X11/app-defaults/*
    Client resource specifications

/usr/X386/man/man?/*
    Manual pages

/etc/X0.hosts
    Initial access control list

SEE ALSO
X(1), Xserver(1), xdm(1), xinit(1)

BUGS
Starting clients while on another virtual screen may destroy the contents of the original screen or may even kill the server. The workaround is to use xrefresh(1) to refresh the screen.

AUTHORS

Thomas Roell,      roell@informatik.tu-muenchen.de
    TU-Muenchen: Server and SVR4 stuff

Mark W. Snitily,   mark@zok.sgcs.com
    SGCS: SVR3 support, X Consortium Sponsor

 ... and many more people out there on the net who helped with ideas and bug-fixes. X386 X11R5 source and binaries are available from SGCS. Send email to mark@zok.sgcs.com or ...!mips!zok!mark for details.