X386

Section: User Commands (1)
Updated: Release 5
Index Return to Main Contents
 

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).
TCP/IP

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.


 

Index

NAME
SYNOPSIS
DESCRIPTION
CONFIGURATIONS
NETWORK CONNECTIONS
OPTIONS
KEYBOARD
SETUP
FILES
SEE ALSO
BUGS
AUTHORS

This document was created by man2html, using the manual pages.
Time: 07:01:22 GMT, May 19, 2025