home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 22 / PC Actual CD 22.iso / linux / xfree86 / DOC / README.ISC < prev    next >
Encoding:
Text File  |  1998-01-07  |  16.2 KB  |  793 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.                Information for ISC Users
  11.  
  12.                    Michael Rohleder
  13.  
  14.                 13 January 1997
  15.  
  16.  
  17.  
  18. 1.  X11R6/XFree86[tm] on Interactive Unix
  19.  
  20. This document provides some additional information about compiling and using
  21. X11R6 and XFree86 on your Interactive Unix, also referred to as ISC.
  22.  
  23. If you have any suggestions, comments, fixes or ideas regarding X11R6/XFree86
  24. on Interactive Unix, send e-mail to
  25.  
  26. michael.rohleder@stadt-frankfurt.de
  27.  
  28. Bug Reports should be sent to
  29.  
  30. XFree86@XFree86.Org
  31.  
  32. Questions or anything else should be posted to the NewsGroup
  33.  
  34. comp.windows.x.i386unix
  35.  
  36. There is currently no support for shared Libraries so it will be filespace con-
  37. suming if you want to build X11-clients with X11R6. Best you mix X11R6 Server
  38. with X11R5 and X11R4 clients. And only compile clients who need the new facili-
  39. ties provided in the X11R6 Libraries against them.
  40.  
  41.  
  42. 2.  Things needed for compiling the sources
  43.  
  44.       gcc-2.x.x
  45.         Use the highest number for x you found.  Fresco will only build
  46.         2.6.3 and later.  I'd tried gcc Version 2.5.8, 2.6.0, 2.6.2 and
  47.         2.6.3.  I'm currently using 2.7.2.
  48.  
  49.         Since 2.6.3 the current source tree should be able to compile with
  50.         a little bit more Optimization:
  51.          #define DefaultCDebugFlags -O3 -fomit-frame-pointer inside
  52.         xf86site.def to overwrite the default -O2.
  53.  
  54.         With 2.7.x you must specify #define UsePosix           YES
  55.         inside xf86site.def.  This is necessary to build the sources suc-
  56.         cessfully.    Versions prior to 2.7.0 could define it, but don't need
  57.         it for a clean build.
  58.  
  59.       libg++-2.x.x
  60.         The needed g++ Libraries for use with g++ 2.x.x. As this is only
  61.         necessary for Fresco, it isn't needed anymore since X11R6.1.
  62.  
  63.  
  64.  Information for ISC Users
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  Information for ISC Users
  71.  
  72.  
  73.  
  74.       binutils-2.5.2
  75.         You could use the assembler and linker the assembler is most pre-
  76.         ferred,and the linker is needed at least if you want to link
  77.         libFresco.a within a Program.  Don't use strip and ar/ranlib, the
  78.         first generates buggy binaries when stripping (at least on my
  79.         machines) and the last requires the use of ranlib after creating an
  80.         archive, this is not configured.
  81.  
  82.       gnu-malloc
  83.         Due to better memory usage we should use GNU's malloc library on
  84.         systems where possible.
  85.  
  86.         Enable #define UseGnuMalloc YES inside xf86site.def or within the
  87.         Linkkit site.def.
  88.  
  89.         Enable and set #define GnuMallocLibrary to your needs, if it isn't
  90.         like the default -L/usr/local/lib -lgmalloc.
  91.  
  92.  
  93.  
  94. 3.  Changes to the System Header Files
  95.  
  96. You have to change some of the standard header files supplied with your version
  97. of Interactive. You also need to change some of the include files in the gcc-
  98. lib/include directory.
  99.  
  100. Let us say the gcc-files are in directory
  101.  
  102. /usr/local/lib/gcc-lib/i[345]86-isc[34].[0-9]/2.6.x
  103.  
  104. referred to as "gcc-lib"
  105.  
  106. 3.1  /usr/include/sys/limits.h
  107.  
  108. and gcc-lib/include/sys/limits.h
  109.  
  110.            #ifndef OPEN_MAX
  111.            #ifdef ISC
  112.            #define OPEN_MAX        256
  113.            #else
  114.            #define OPEN_MAX        20
  115.            #endif
  116.            #endif
  117.  
  118.  
  119.  
  120. OPEN_MAX had to be increased to prevent Xlib Errors (max no. of clients
  121. reached).
  122.  
  123. 3.2  /usr/include/sys/ioctl.h
  124.  
  125. surrounded by
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  Information for ISC Users
  137.  
  138.  
  139.  
  140.          #ifndef _IOCTL_H
  141.          #define _IOCTL_H
  142.          ...
  143.          #endif
  144.  
  145.  
  146.  
  147. to prevent multiple includes.
  148.  
  149. 3.3  /usr/include/errno.h
  150.  
  151. (and the corresponding gcc-include-file) add
  152.  
  153.          #include <net/errno.h>
  154.  
  155.  
  156.  
  157. because of EWOULDBLOCK undefined in several places regarding lbx.  Surround
  158. /usr/include/net/errno.h with
  159.  
  160.          #ifndef _NET_ERRNO_H
  161.          #define _NET_ERRNO_H
  162.          ...
  163.          #endif
  164.  
  165.  
  166. to prevent multiple includes were <net/errno.h> is explicit included from the
  167. sources.
  168.  
  169. 3.4  /usr/include/rpc/types.h
  170.  
  171. copy this file to gcc-lib/include/rpc/types.h and change the declaration of
  172. malloc() to
  173.  
  174.           #if !defined(__cplusplus)
  175.           extern char *malloc();
  176.           #endif
  177.  
  178.  
  179. Note that this is only necessary if you want to build Fresco
  180.  
  181. 3.5  /usr/include/sys/un.h
  182.  
  183. such a file does not exist on Interactive. You may like to generate it, if you
  184. don't like a warning from depend. It isn't needed to compile the sources suc-
  185. cessfully.
  186.  
  187. You could use the following to produce it:
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  Information for ISC Users
  203.  
  204.  
  205.  
  206.           #ifndef X_NO_SYS_UN
  207.           struct  sockaddr_un {
  208.               short   sun_family;          /* AF_UNIX */
  209.               char    sun_path[108];          /* path name (gag) */
  210.           };
  211.           #endif
  212.  
  213.  
  214.  
  215. 4.  make World
  216.  
  217.      BOOTSTRAPCFLAGS="-DISC [-DISC30 | -DISC40] -DSYSV [-Di386]"
  218.  
  219.       -DISC -DISC30
  220.         these two defines are necessary to build the release I don't know
  221.         if the build will succeed for ISC versions prior than 3.x
  222.  
  223.       -DISC40
  224.         are only for getting the ISC version and therefore set the HasSym-
  225.         Links to Yes ('cause symbolic linking were only supported from Ver-
  226.         sion 4.x using the S5L Filesystem)
  227.  
  228.         If you could use long filenames, you could enable the installation
  229.         of expanded Manual Pages by including
  230.          #define ExpandManNames  YES inside xf86site.def.
  231.  
  232.         A build on ISC 4.x only needs -DISC40 defined in the BOOT-
  233.         STRAPCFLAGS ( -DISC30 will be included automatically ).
  234.  
  235.         Note: if you still use Version 4.0, or you want to build binaries
  236.         on Version 4.1 which should run on 4.0, you have to set  #define
  237.         UseChmod YES  inside your host.def.
  238.  
  239.         (the fchmod function isn't available on 4.0, so it won't compile,
  240.         and binaries from 4.1 won't run cause of the unsupported System
  241.         call) On Versions less 4.0 this will be the default.
  242.  
  243.       -DSYSV [-Di386]
  244.         standard defines for SystemV Release3 on x86 platform.  You don't
  245.         need to explicitly define -Di386 because this is pre-defined in
  246.         /lib/cpp.
  247.  
  248.  
  249. 5.  linear Addressing
  250.  
  251.    o Compiling ...
  252.  
  253.      If you want to include support for linear addressing into the server bina-
  254.      ries, you have to define
  255.  
  256.       #define HasSVR3mmapDrv    YES
  257.  
  258.  
  259.      in xf86site.def.  This is necessary to get the correct setup to be defined
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  Information for ISC Users
  269.  
  270.  
  271.  
  272.      for the build.
  273.  
  274.      You need the mmap-2.2.3 driver installed on your system.  If you don't
  275.      have the mmap-2.2.3 driver installed, you could use the driver source in
  276.      the file
  277.  
  278.       xc/programs/Xserver/hw/xfree86/etc/mmapSVR3.shar
  279.  
  280.  
  281.      or
  282.  
  283.       /usr/X11R6/lib/X11/etc/mmapSVR3.shar
  284.  
  285.  
  286.      Build and install the driver as instructed. You'll need the file
  287.      /usr/include/sys/mmap.h for compiling the X11R6/XFree86 source tree, with
  288.      linear addressing enabled.
  289.  
  290.    o Using ...
  291.  
  292.      To use the linear address-mapping of the framebuffer you need the mmap
  293.      Driver by Thomas Wolfram (Version 2.2.3) installed in your Kernel.  If you
  294.      have installed it, most servers will use linear addressing by default.
  295.      Others may require setting the
  296.  
  297.       Option "linear"
  298.  
  299.  
  300.      in your XF86Config.   Check the appropriate manual pages for details.
  301.      Maybe you need also the MemBase specified in XF86Config. Please refer to
  302.      the appropriate README of your Card/Server, for How to use...  Note that
  303.      the P9000 server will not work at all unless linear addressing is avail-
  304.      able.
  305.  
  306.      I could only test these cards against the linear addressing.
  307.  
  308.     o Spea/V7 Vega - clgd5428 - VLB
  309.  
  310.       with 32MB MainMemory installed I couldn't use it.  My tests with dif-
  311.       ferent mappings into the address space results in no Graphics dis-
  312.       played or a spontaneous reboot.
  313.  
  314.     o ATI GUP      - mach32   - VLB
  315.  
  316.       with 32MB MainMemory installed I could map the CardMemory at MemBase
  317.       0x07c00000. I could work with all clients until I try to activate a
  318.       Motif 1.1.1 InputField inside a Motif Client like Mosaic-2.4 or
  319.       xplan. This results in a crash of the XServer.
  320.  
  321.               !!! You could work around this !!!
  322.  
  323.  
  324.  
  325.       Expand your .Xdefaults with
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  Information for ISC Users
  335.  
  336.  
  337.  
  338.               *blinkRate:          0
  339.               *cursorPositionVisible: false
  340.  
  341.  
  342.       This bug seems to be fixed since 3.1.2, and therefore the workaround
  343.       is not needed anymore.
  344.  
  345.     o ELSA Winner 2000PRO/X Revision G
  346.  
  347.       if you experience a Problem with this Card you could try to use the
  348.       older Chipset Driver instead "newmmio".
  349.  
  350.       If you declare
  351.  
  352.               Chipset "mmio_928"
  353.  
  354.  
  355.  
  356.       inside your XF86Config, it may be alright again.
  357.  
  358.       With the current XF86_S3 I don't encounter any problem.
  359.  
  360.  
  361. 6.  XKeyboard Extension
  362.  
  363.    o Sample Setup ...
  364.  
  365.      Here is a sample XKeyboard Definition to include inside the Keyboard Sec-
  366.      tion of your XF86Config File.
  367.  
  368.           Xkbkeycodes "xfree86"
  369.       /*    XkbSymbols  "us(pc101)+de_nodead"  */
  370.       /*    This has changed between 3.1.2E and 3.1.2F */
  371.       /*    it is now:                   */
  372.           XkbSymbols  "us(pc102)+de(nodeadkeys)"
  373.           XkbTypes      "default"
  374.           XkbCompat   "default"
  375.           XkbGeometry "pc"
  376.  
  377.      or you could use this one with the new Options:
  378.  
  379.          XkbRules         "xfree86"
  380.          XkbModel         "pc102"
  381.          XkbLayout         "de"
  382.          XkbVariant      "nodeadkeys"
  383.  
  384.  
  385. 7.  Multibuffer Extension
  386.  
  387. This is an obsolete Extension. Anyway, if you want to include this Extension
  388. inside your build, you have to add: #define BuildMultibuffer        YES inside
  389. xf86site.def
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  Information for ISC Users
  401.  
  402.  
  403.  
  404. 8.  Sample Definitions
  405.  
  406. This is my current host.def, if I build the sources. (So no more changes were
  407. necessary in xf86site.def, either it isn't to bad to have a look inside it ;-)
  408.  
  409.  
  410.      #ifdef BeforeVendorCF
  411.  
  412.      /* Only when building official binaries*/
  413.      /*
  414.      #define InstallJapaneseDocs     YES
  415.      #define InstallEmptyHostDef
  416.      */
  417.  
  418.  
  419.      /* Try MultiBuffer Extension */
  420.      #define BuildMultibuffer         YES
  421.  
  422.      /* Build all Contrib SW */
  423.      #ifdef XF86Contrib
  424.      #undef XF86Contrib
  425.      #endif
  426.  
  427.      /* gcc 2.6.3 tested Optimization Flags                  */
  428.      # define DefaultGcc2i386Opt   -O2 -fstrength-reduce -malign-loops=2 -malign-jumps=2 -malign-functions=2
  429.  
  430.      /* binaries which should run on ISC 4.0 or for the build on a real 4.0 System */
  431.      # define UseChmod          YES
  432.  
  433.      /* For a POSIXized build on Interactive maybe needed to use gcc2.7.2 */
  434.      # define UsePosix          YES
  435.  
  436.      /* Use GNUs MallocLibrary (and the Location for the Lib)          */
  437.      # define UseGnuMalloc       YES
  438.      # define GnuMallocLibrary       -L/usr/local/lib -lgnumalloc
  439.  
  440.      /* Build Xvfb                              */
  441.      # define XVirtualFramebufferServer YES
  442.  
  443.      /* Use mmap Driver                           */
  444.      # define HasSVR3mmapDrv       YES
  445.  
  446.      /* Expand Manual Pages (needs S5L)                   */
  447.      # define ExpandManNames       YES
  448.  
  449.      /* Has LinuxDoc (and the Location for LinuxDoc / only HTML and Text) */
  450.      # define HasLinuxDoc       YES
  451.      # define BuildLinuxDocHtml    YES
  452.      # define BuildAllDocs       YES
  453.      # define LinuxDocDir       /usr/local/lib/linuxdoc-sgml
  454.  
  455.      /* Install Config's for xdm, xfs, and xinit */
  456.      # define InstallXinitConfig    YES
  457.      # define InstallXdmConfig        YES
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  Information for ISC Users
  467.  
  468.  
  469.  
  470.      # define InstallFSConfig            YES
  471.  
  472.      #define BuildChooser       YES
  473.  
  474.      /* for the new XF86Setup Util */
  475.      #define HasTk          YES
  476.      #define HasTcl          YES
  477.  
  478.  
  479.      #endif /* BeforeVendorCF */
  480.  
  481.  
  482. 9.  Installation
  483.  
  484. After your make World BOOTSTRAPCFLAGS="... succeed,
  485.  
  486.      make install
  487.  
  488.  
  489. to install in /usr/X11R6. Make sure you have enough space, and /usr/X11R6
  490. exists either as a directory or a symlink to another directory maybe in another
  491. filesystem.
  492.  
  493.      make install.man
  494.  
  495.  
  496. to install the compressed nroff versions of the manual pages into
  497. /usr/X11R6/man. This directory will be generated if it doesn't exist.
  498.  
  499.      make install.linkkit
  500.  
  501.  
  502. to install the server binary LinkKit into /usr/X11R6/lib/Server.
  503.  
  504.         You could tune the Kernel using the command-file
  505.  
  506.         /usr/X11R6/lib/X11/etc/xf86install
  507.  
  508.         This will increase the available pseudo devices,
  509.         some Tunable Parameters and install some files
  510.         to use inside sysadm. You could also install
  511.         some additional Fonts and Terminal files.
  512.  
  513.  
  514. 10.  Using ...
  515.  
  516.    o Xprt:
  517.  
  518.      The new Xprint Server is configured to use lpr as its print helper so you
  519.      have to install and configure lpr to use Xprt.
  520.  
  521.    o Keyboard:
  522.  
  523.      You don't need any modmap-File to get your keyboard working with any
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  Information for ISC Users
  533.  
  534.  
  535.  
  536.      iso-8859-1 Font. Simply enable
  537.  
  538.     o LeftAlt  Meta
  539.  
  540.     o RightAlt ModeShift
  541.  
  542.     o RightCtl Compose
  543.  
  544.      in your XF86Config - Section "Keyboard"
  545.  
  546.    o xpcterm:
  547.  
  548.      if you want to get the German 'Umlaut' inside your ISC X11R4 client xpc-
  549.      term when you are using the ega/vga font. Set up the user's .Xdefaults to
  550.      contain:
  551.  
  552.            XEga*AT386.Translations: #override \
  553.                  Shift<Key>odiaeresis: string(0x99) \n\
  554.                   <Key>odiaeresis: string(0x94) \n\
  555.                  Shift<Key>adiaeresis: string(0x8e) \n\
  556.                   <Key>adiaeresis: string(0x84) \n\
  557.                  Shift<Key>udiaeresis: string(0x9a) \n\
  558.                   <Key>udiaeresis: string(0x81) \n\
  559.                  Shift<Key>ssharp: string(0x3f) \n\
  560.                   Meta<Key>ssharp: string(0x5c)  \n\
  561.                   <Key>ssharp: string(0xe1)
  562.  
  563.  
  564.      The only disadvantage is that you have to use Alt instead of AltGr to get
  565.      the \ Backslash (on a German Keyboard)
  566.  
  567.      You have to call your xpcterm with the option -name XEga -fn ega
  568.  
  569.    o Switching between X11R5 and X11R6 configuration
  570.  
  571.      to compile X11-Clients as either R6 or R5 clients, should be as easy as
  572.      you only switch the PATH components so that either /usr/X11R6/bin/xmkmf or
  573.      /usr/X386/bin/xmkmf would make the new Makefile.
  574.  
  575.    o ISC Streams Pipes
  576.  
  577.      The old path to the pipes on ISC's R4 /tmp/.X11-unix has changed to
  578.      /dev/X/ISCCONN. For compatibility reasons on ISC, the pipes in the new
  579.      directory will be linked to a file inside the old.  This will normally be
  580.      a hard link, so it can't go across filesystems. On ISC Version 4.x this is
  581.      now allowed. But you should use the new S5L on both filesystems.  ISC30
  582.      systems should take care that the two directories are on the same FS. Else
  583.      if you are using a ISC40 compiled binary, the Server could maybe abort due
  584.      to a SIGSYS.  We tried to catch this signal, so if it dumps please send me
  585.      a note.
  586.  
  587.    o Warnings you may see:
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  Information for ISC Users
  599.  
  600.  
  601.  
  602.     o Since 3.2A, you could see a warning from pre X11R6.3 clients.
  603.  
  604.               Warning: Unable to load any usable fontset
  605.  
  606.  
  607.  
  608.       The case are the new gzipped fonts, but the Warning isn't serious.
  609.  
  610.     o If you start a server you may see the following message:
  611.  
  612.                _XSERVTransOpen: transport open failed for named/enigma:0
  613.                _XSERVTransMakeAllCOTSServerListeners: failed to open listener for named
  614.  
  615.  
  616.  
  617.       This message either isn't critical. Interactive doesn't support this
  618.       kind of connection.
  619.  
  620.  
  621. 11.  Acknowledgements
  622.  
  623. All thanks should go to the members of the XFree86 Team for their great work
  624. and the X Consortium for their Public Release of X11R6, as to all who con-
  625. tribute to this excellent piece of free software.
  626.  
  627.      Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/isc.sgml,v 3.18 1997/01/25 03:22:23 dawes Exp $
  628.  
  629.  
  630.  
  631.  
  632.  
  633.      $XConsortium: isc.sgml /main/8 1996/10/23 11:45:58 kaleb $
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  Information for ISC Users
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.                    CONTENTS
  735.  
  736.  
  737.  
  738. 1.  X11R6/XFree86[tm] on Interactive Unix  .................................. 1
  739.  
  740. 2.  Things needed for compiling the sources ................................. 1
  741.  
  742. 3.  Changes to the System Header Files ...................................... 2
  743.     3.1 /usr/include/sys/limits.h ........................................... 2
  744.     3.2 /usr/include/sys/ioctl.h ............................................ 2
  745.     3.3 /usr/include/errno.h ................................................ 3
  746.     3.4 /usr/include/rpc/types.h ............................................ 3
  747.     3.5 /usr/include/sys/un.h ............................................... 3
  748.  
  749. 4.  make World    ............................................................. 4
  750.  
  751. 5.  linear Addressing  ...................................................... 4
  752.  
  753. 6.  XKeyboard Extension ..................................................... 6
  754.  
  755. 7.  Multibuffer Extension  .................................................. 6
  756.  
  757. 8.  Sample Definitions    ..................................................... 7
  758.  
  759. 9.  Installation  ........................................................... 8
  760.  
  761. 10. Using ...  .............................................................. 8
  762.  
  763. 11. Acknowledgements  ...................................................... 10
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.                        i
  791.  
  792.  
  793.