Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ X386(1) — BSD/386 1.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

X(1)

Xserver(1)

xdm(1)

xinit(1)



X386(1)                                                   X386(1)


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

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

DESCRIPTION
       X386  the advanced display 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 Syn-
       thesis 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  various  classes  of   popular   display
       devices,  like  SuperVGAs,  8514/A  clones,  WD90C31 based
       accellerators and XGA-2 compatible  boards  (System  V/4.x
       only).

       X386 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
       Diamond SpeedStar 24               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
       TVGA - 8900C                       1024x768    TVGA8900C

       X386 supports the following 8514/A clones  and  S3  86C911
       based graphics boards:

       Cards                              Max Res     ChipSet
       --------------------------------   --------    -------
       ATI Ultra/Vantage                  1024x768    MACH8
       ATI Ultra Plus/Pro                 1280x1024   MACH32
       Diamond Stealth                    1024x768    86C911
       Diamond Stealth 24                 1024x768    86C801


X Version 11                Release 5                           1




X386(1)                                                   X386(1)


       ELSA WINNER 1000                   1280x1024   86C928
       ELSA WINNER 1280 (Rev D)           1280x1024   82C481
       GENOA                              1024x768    86C911
       Nth Engine/150                     1280x1024   82C480
       Nth Engine/250                     1280x1024   82C481
       Number Nine #9GXe                  1280x1024   86C928
       Orchid F1280                       1024x768    86C911
       Orchid F1280VA                     1024x768    86C801
       Paradise 8514                      1024x768    WD9500
       PixelWorks WhirlWIN                1280x1024   82C480

       (Boards based upon the S3 86C911 are also supported in the
       1280x1024x16  interlaced  mode.  All  of  the  resolutions
       listed in the above table assume 256 colors per pixel.)

       X386 also supports WD90C31 based accelerator boards:

       Cards                              Max Res     ChipSet
       --------------------------------   --------    -------
       Diamond SpeedStar 24X              1024x768    WD90C31
       Paradise Accelerator               1024x768    WD90C31

       On  System V/4.x X386 supports also fully XGA-2 compatible
       boards that are compliant with the VESA VXE  1.0.  Busmas-
       tering  is  not used and hence also boards that do not use
       busmastering can be used as well.

       Cards                              Max Res     ChipSet
       --------------------------------   --------    -------
       Radius MultiView                   1024x768    INMOS


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

       Streams Pseudo Terminal
           X386  uses /dev/X/server.n as the filename for streams
           pty, where n is the display number; The  device  being
           used is /dev/ptmx.  (SVR32, SVR4).

       Streams Pipe
           X386  uses  /dev/Xn[RS]  as  the  filename for streams
           pipe, where n is the display number; The device  being
           used   is  /dev/spx.   (SVR32,  SVR4  (only  4.0.4  or
           higher).

       Unix Domain
           X386 uses /tmp/.X11-unix/Xn as the  filename  for  the
           socket,  where n is the display number. For SVR32 this
           uses a streams pipe as emulation via /dev/spx. (SVR32,
           SVR4).

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



X Version 11                Release 5                           2




X386(1)                                                   X386(1)


OPTIONS
       See the command line switches described in the  Xserver(1)
       manual page.

       vtxx    forces X386 to use the specified virtual terminal

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).

       X386  has also integrated special support for foregin key-
       board. The right ALT key is a  kind  of  additional  shift
       key,  who switches between glyph 1 & 2  and glyph 3 & 4 on
       a keycap. This key is a troggle key. If you want  to  lock
       this  troggle, you have to hold down the right ALT key and
       then press the left ALT key. The state of this lock key is
       then  indicated  by  the 'scroll lock' led on soeeeee key-
       boards. To unlock the right ALT again, press the left  ALT
       key.

SETUP
       X386 uses the configuration file /etc/Xconfig or

       /usr/X11/lib/X11/Xconfig for its initial setup.  This file is
       composed of the  following sections:

        General Server Parameters
        Keyboard Configuration
        Mouse Configuration
        Video Mode Setup(s)
        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 sam-
               ple server searches for font databases.



X Version 11                Release 5                           3





X386(1)                                                   X386(1)


       rgbpath sets the name of RGB color database.

       sharedmonitor
               allows you to use a single  monitor  for  a  dual-
               headed  configuration.  If you hit the screen bor-
               ders with the mouse  the  server  will  physically
               switch  the video-output to another graphics card.
               The results of having specified this behaviour and
               not  having two drivers specified is undefined and
               may crash your machine.

       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 for bugs in  the  asy  driver  of  some
       SVR4s.  Following these keywords the following options can
       be specified:

       autorepeat delay rate
               changes the behavior of the autorepeat of the key-
               board.

       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 inter-
               nally.  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 one of these  keyworks
       for  selecting  the  mouse type is unecessary, since mouse
       I/O is handled by the  xqueue-driver.)   The  mouse  types
       available are:

        busmouse
        logitech
        microsoft
        mmseries
        mouseman
        mousesystems
        ps/2

       One  should  specify  busmouse for the Logitech bus mouse.



X Version 11                Release 5                           4





X386(1)                                                   X386(1)


       The logitech driver is only for the C7/S9 mice  from  Log-
       itech.  The newer mice made by Logitech have to use either
       microsoft or mouseman.

       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 but-
               tons 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  if  you  want to use the SVGA part of X386. To use
       the 8514/A part, use wga. For boards using the WD90C31 you
       have  use wdi and for XGA-2 clones, use xga. Note that you
       can specify multiple full Graphics Driver  Setup  sections
       in  one  Xconfig  file. This tells X386 that you have more
       than one graphics boards in your system and also  multiple
       monitors.   X386 can drive all boards at the same time (If
       there  are  no  hardware  conflicts).  The  first  section
       relates  the  to  display  :0.0, the second one to display
       :0.1 and so on.  The  cursor  can  be  moved  between  the
       screens.

       After this keyword a variety of options may be specified:

       stat-
               icgray,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 SVGA chipsets are:

                    ET3000
                    ET4000
                    GVGA
                    PVGA
                    TVGA8900C
                    WD90C00



X Version 11                Release 5                           5





X386(1)                                                   X386(1)

                    WD90C11
                    WD90C30

             For the wga driver you can  specify  here  following
             8514/A compatible chipset:

                    82C480
                    82C481
                    MACH8
                    MACH32
                    86C801
                    86C805
                    86C911
                    86C924
                    86C928
                    VESA8514
                    WD9500

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

       depth depth
               some 8514/As support a special fast 4bpp mode.  If
               you  choose  depth  4,  this mode will be slected.
               This has currently only for the 86C911  a  visible
               effect.  Otherwise  the  remaining bits of a pixel
               are simply unused.

       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 con-
               verted    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
                    Nth Engine/150
                    Nth Engine/250
                    WINNER
                    WhirlWIN

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


X Version 11                Release 5                           6





X386(1)                                                   X386(1)


       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  resolu-
               tion of 1152x900. If the mouse touches the borders
               of the display the image scrolls accordingly. This
               is  called  panning.  The maximum possible size of
               the  virtual  resolution  is  dependend  upon  the
               intalled  memory  on the graphics board. Since one
               pixel requires one byte of memory  in  256  colors
               you  have  to fullfill the equation: xdim * ydim <
               installed video memory.  The same is true for  the
               maximum  real resolution. This feature is not sup-
               ported by every driver/hardware due  to  technical
               reasons.  Accelerated  boards  generally allow you
               only to use 1024x768 as biggest virtual resolution
               (give  that  you  have 1MB installed). The rest of
               the memory is used by the server to speed up  cer-
               tain operations.

       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  autode-
       tection 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 previ-
       ously  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 dot-
       clock), 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.


X Version 11                Release 5                           7





X386(1)                                                   X386(1)


       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/X11/lib/X11/rgb"
          FontPath        "/usr/X11/lib/X11/fonts/misc/,tcp/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


X Version 11                Release 5                           8





X386(1)                                                   X386(1)


by placing a "tcp/<hostname>:<tcp_port_number>"  into  the  font-
path.      In     the     above     example,     the     fontpath
"/usr/X11/lib/X11/fonts/misc/,tcp/zok:7000" tells X386 to  first
try    to    locate    the    font   in   the   local   directory
/usr/X11/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/X11/bin/X386            The X servers

       ~/Xconifg, /usr/X11/lib/X11/Xconfig, /etc/Xconfig
                                     Server configuration file

       /usr/X11/lib/X11/etc/Xconfig.*
                                     sample parts for a  configu-
                                     ration file

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

       /usr/X11/bin/*                Client binaries

       /usr/X11/include/*            Header files

       /usr/X11/lib/*                Libraries

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

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

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

       /usr/X11//lib/X11/app-defaults/*
                                     Client  resource  specifica-
                                     tions

       /usr/X11/man/cat?/*           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.




X Version 11                Release 5                           9





X386(1)                                                   X386(1)


AUTHORS
       Thomas Roell,      roell@sgcs.com

       Mark W. Snitily,   mark@sgcs.com

        ...  and many more people out there on the net who helped
       with ideas and bug-fixes.

















































X Version 11                Release 5                          10


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