   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.
