   Information  for SolarisDavid Holland, modified by Marc Aurele
   La  France2004 August 18The VT-switching sub-system in Solaris
   x86The  virtual  terminal  sub-system  is  a undocumented, and
   unsupported  feature of Solaris x86 releases 2.1 through 7. It
   is  no  longer  present  in  Solaris  8  and  later  releases.
   Therefore  if you use virtual terminals, you do so at YOUR OWN
   RISK.Virtual terminals are not available in Solaris SPARC, and
   their  availability  has  been  removed  in  Solaris8 x86.When
   available, the virtual terminals of Solaris work basically the
   same way as most other SVR4 VT sub-systems. However, there are
   a  number  of  limitations  documented below.First, if you are
   running  a Solaris 2.4 x86 system, and you want VT's, you will
   have   to  create  the  necessary  devices  first,  so  become
   root.Verify the chanmux device driver's major number is 100: #
   grep -i chanmux /etc/name_to_major chanmux 100 # If the number
   after  'chanmux'  is  anything  but  100,  I would suggest you
   immediately  abort  your  attempt to create virtual terminals,
   and  learn to live without them.However, if it is 100, then as
   root  type  the  following  commands  to  create  the  maximum
   allowable  number of virtual terminals. # cd /dev # mknod vt01
   c 100 1 # mknod vt02 c 100 2 # mknod vt03 c 100 3 # mknod vt04
   c 100 4 # mknod vt05 c 100 5 # mknod vt06 c 100 6 # mknod vt07
   c  100 7 There is no need for a reconfiguration boot.Secondly,
   for  both  2.1,  and  2.4  x86 systems, add a few lines to the
   inittab  to enable logins on them.(Note, do NOT make a mistake
   here,   you   could   lock   yourself   out   of  the  system)
   --------------------->Snip
   Snip<-----------------------------------------------
   v1:234:respawn:/usr/lib/saf/ttymon  -g  -h -p "`uname -n` VT01
   login:    "    -T    AT386    -d    /dev/vt01    -l    console
   v2:234:respawn:/usr/lib/saf/ttymon  -g  -h -p "`uname -n` VT02
   login:    "    -T    AT386    -d    /dev/vt02    -l    console
   v3:234:respawn:/usr/lib/saf/ttymon  -g  -h -p "`uname -n` VT03
   login:    "    -T    AT386    -d    /dev/vt03    -l    console
   v4:234:respawn:/usr/lib/saf/ttymon  -g  -h -p "`uname -n` VT04
   login:    "    -T    AT386    -d    /dev/vt04    -l    console
   ---------------------->End
   Here<-----------------------------------------------     These
   four   lines   enable   four  VT's  on  Alt-SysReq-F1  through
   Alt-SysReq-F4.Then execute the command 'init q' to immediately
   enable  the  virtual  terminals.The keys used for VT switching
   are  as  follows:Alt-SysReq-F1 through Alt-SysReq-F7 enable VT
   screens  1-7  respectively  (if the VT is active).Alt-SysReq-n
   enables  the  next  active  VT screen.Alt-SysReq-p enables the
   previous active VT screen.Alt-SysReq-h returns to the console.
   If  you  are  using virtual terminals, you must leave at least
   one  free  for  use  by the Xserver.Limitations of the virtual
   terminal  sub-system  under Solaris x86:There are only a total
   of  8 available VT's (7 normal VT's + 1 console) not the usual
   15. If you have all 8 allocated, and you attempt to allocate a
   additional  VT  you will panic the system. (This bug is worked
   around  in  the  Solaris  X11R7.2  Xserver.)From a programming
   stand  point,  they work pretty much as documented in the AT&T
   Unix  System  V/386  Release 4 Integrated Software Development
   Guide,  however a number of ioctl() calls are broken.Notes for
   building  X11R7.2  on  Solaris  Both  GCC,  and the Sun Studio
   compilers  are  supported  by X11R7.2. The minimum recommended
   GCC release is 2.7.2. Some earlier GCC's are known to not work
   and  should  be  avoided.You  should  also  make  certain your
   version    of   GCC   predefines   `sun'.   If   needed   edit
   /usr/local/lib/gcc-lib/*/*/specs,  and modify the *predefines:
   line.On  SPARCs, regardless of the compiler you use, ensure it
   generates  32-bit binaries. At this time, 64-bit binaries will
   probably not work.Also on SPARCs, you may be able to build the
   old deprecated Xsun* servers for older cg* graphics devices by
   adding  "#define XsunServer YES" or "#define Xsun24Server YES"
   or  "#define  XsunMonoServer  YES"  to  xc/config/cf/host.def.
   These  servers  are no longer maintained nor supported and may
   not  build  in  this release.A Threaded Xlib compiled with GCC
   has  subtle  problems.  It'll  work  98%  of the time, however
   clients  will occasionally exhibit strange hangs. Most notably
   image  viewers  such  as  xv-3.10  exhibit  this problem.It is
   recommended  that  you set ThreadedX in ~xc/config/cf/host.def
   to  NO, if you are using GCC. Sun's compilers do not have this
   problem.  Whether this behaviour still exists with newer GCC's
   has  not  been verified.To build X11R7.2 with GCC you need gcc
   and  (optionally) c++filt from GNU binutils. Don't install gas
   or ld from GNU binutils, use the one provided by Sun.You might
   need   to   setup  a  /opt/SUNWspro/bin  directory  containing
   symbolic links named cc, CC, and c++filt pointing respectively
   to  the  actual gcc, g++ and c++filt commands.If you are using
   Sun compilers to compile the X11R7.2 distribution, you need to
   modify  your  PATH appropriately so the Sun compiler tools are
   available.  Normally,  they  should be in /opt/SUNWspro/binYou
   MUST  put  /usr/ccs/bin  at  the front of your PATH. There are
   known  problems  with  some GNU replacements for the utilities
   found  there.  So  the /usr/ccs/bin versions of these programs
   must  be found before any possible GNU versions. (Most notably
   GNU  'ar'  does  not work during the build). Notes for running
   Xorg  on  Solaris  Depending on the release or architecture of
   Solaris  you  are  running,  you  might  need to install an OS
   driver for an aperture device.Under Solaris x86 2.5 and later,
   there's   a  system  driver  (/dev/xsvc)  that  provides  this
   functionality.  It  will  be  detected  automatically  by  the
   server,  so  you don't need to install the aperture driver.For
   older  Solaris  x86 and for Solaris SPARC releases, the source
   for this driver is included in
   xc/programs/Xserver/hw/xfree86/etc/apSolaris.shar    of    the
   source  distribution.  This  file can usually also be found in
   the  /usr/X11R6/lib/X11/etc  directory when Xorg is installed.
   Building,  and  installing  the  driver is relatively straight
   forward.  Please read its accompanying README file.If you have
   not  made  the  Virtual  Terminal  devices,  you  will need to
   specify the terminal device to run the Xserver on. The correct
   device is vt00 so your xinit command would look like so: xinit
   --  vt00  If you have made the virtual terminal devices you do
   not  need  to  specify  the  VT  to run the Xserver on.For old
   releases  of  Solaris  you  will  probably  want  to  set your
   LD_LIBRARY_PATH to
   /usr/X11R6/lib:/usr/openwin/lib:/usr/dt/lib.         Including
   /usr/X11R6/lib   in   your  LD_LIBRARY_PATH  is  probably  not
   necessary,    however    it    doesn't    hurt.    :)Including
   /usr/openwin/lib  in  the  LD_LIBRARY_PATH  is  recommended on
   older  releases  because  some  Sun supplied binaries were not
   compiled  with  LD_RUN_PATH set properly at compile time.Motif
   and   CDE   applications   may  require  /usr/dt/lib  in  your
   LD_LIBRARY_PATH too.Xqueue is NOT supported under Solaris. The
   includes  necessary  for  Xqueue  are  available,  however the
   driver  does  not  seem to be in the kernel. (Go figure)If you
   want  to use xdm with Solaris, extract the files from the shar
   file  in  /usr/X11R6/lib/X11/etc/XdmConf.svr4 into a temporary
   directory.  The  README  file tells where the individual files
   need  to  be  installed. Be sure to read through each file and
   make  any site-specific changes that you need. Known bugs, and
   work  arounds with Solaris The Solaris 2.1 for x86 OpenWindows
   filemgr  does  not  work  against a X11R5 Xserver, it probably
   will  also  not  work  against  a X11R6 Xserver. Attempting to
   'Drag  and Drop' a file causes the filemgr to abort with an 'X
   error'Solaris  x86  2.4 does not have this problem.There is no
   known  work  around.The  SPARC  port  is  still  quite new, so
   instability  is  to be expected (and reported!). It might even
   have  broken some aspects of the x86 port. Bug NotificationBug
   reports  should  be reported at bugs.freedesktop.org using the
   xorg product or sent to xorg@lists.freedesktop.org.
