home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
-
-
- Information for ISC Users
-
- Michael Rohleder
-
- 13 January 1997
-
-
-
- 1. X11R6/XFree86[tm] on Interactive Unix
-
- This document provides some additional information about compiling and using
- X11R6 and XFree86 on your Interactive Unix, also referred to as ISC.
-
- If you have any suggestions, comments, fixes or ideas regarding X11R6/XFree86
- on Interactive Unix, send e-mail to
-
- michael.rohleder@stadt-frankfurt.de
-
- Bug Reports should be sent to
-
- XFree86@XFree86.Org
-
- Questions or anything else should be posted to the NewsGroup
-
- comp.windows.x.i386unix
-
- There is currently no support for shared Libraries so it will be filespace con-
- suming if you want to build X11-clients with X11R6. Best you mix X11R6 Server
- with X11R5 and X11R4 clients. And only compile clients who need the new facili-
- ties provided in the X11R6 Libraries against them.
-
-
- 2. Things needed for compiling the sources
-
- gcc-2.x.x
- Use the highest number for x you found. Fresco will only build
- 2.6.3 and later. I'd tried gcc Version 2.5.8, 2.6.0, 2.6.2 and
- 2.6.3. I'm currently using 2.7.2.
-
- Since 2.6.3 the current source tree should be able to compile with
- a little bit more Optimization:
- #define DefaultCDebugFlags -O3 -fomit-frame-pointer inside
- xf86site.def to overwrite the default -O2.
-
- With 2.7.x you must specify #define UsePosix YES
- inside xf86site.def. This is necessary to build the sources suc-
- cessfully. Versions prior to 2.7.0 could define it, but don't need
- it for a clean build.
-
- libg++-2.x.x
- The needed g++ Libraries for use with g++ 2.x.x. As this is only
- necessary for Fresco, it isn't needed anymore since X11R6.1.
-
-
- Information for ISC Users
-
-
-
-
-
- Information for ISC Users
-
-
-
- binutils-2.5.2
- You could use the assembler and linker the assembler is most pre-
- ferred,and the linker is needed at least if you want to link
- libFresco.a within a Program. Don't use strip and ar/ranlib, the
- first generates buggy binaries when stripping (at least on my
- machines) and the last requires the use of ranlib after creating an
- archive, this is not configured.
-
- gnu-malloc
- Due to better memory usage we should use GNU's malloc library on
- systems where possible.
-
- Enable #define UseGnuMalloc YES inside xf86site.def or within the
- Linkkit site.def.
-
- Enable and set #define GnuMallocLibrary to your needs, if it isn't
- like the default -L/usr/local/lib -lgmalloc.
-
-
-
- 3. Changes to the System Header Files
-
- You have to change some of the standard header files supplied with your version
- of Interactive. You also need to change some of the include files in the gcc-
- lib/include directory.
-
- Let us say the gcc-files are in directory
-
- /usr/local/lib/gcc-lib/i[345]86-isc[34].[0-9]/2.6.x
-
- referred to as "gcc-lib"
-
- 3.1 /usr/include/sys/limits.h
-
- and gcc-lib/include/sys/limits.h
-
- #ifndef OPEN_MAX
- #ifdef ISC
- #define OPEN_MAX 256
- #else
- #define OPEN_MAX 20
- #endif
- #endif
-
-
-
- OPEN_MAX had to be increased to prevent Xlib Errors (max no. of clients
- reached).
-
- 3.2 /usr/include/sys/ioctl.h
-
- surrounded by
-
-
-
-
-
-
-
-
-
-
- Information for ISC Users
-
-
-
- #ifndef _IOCTL_H
- #define _IOCTL_H
- ...
- #endif
-
-
-
- to prevent multiple includes.
-
- 3.3 /usr/include/errno.h
-
- (and the corresponding gcc-include-file) add
-
- #include <net/errno.h>
-
-
-
- because of EWOULDBLOCK undefined in several places regarding lbx. Surround
- /usr/include/net/errno.h with
-
- #ifndef _NET_ERRNO_H
- #define _NET_ERRNO_H
- ...
- #endif
-
-
- to prevent multiple includes were <net/errno.h> is explicit included from the
- sources.
-
- 3.4 /usr/include/rpc/types.h
-
- copy this file to gcc-lib/include/rpc/types.h and change the declaration of
- malloc() to
-
- #if !defined(__cplusplus)
- extern char *malloc();
- #endif
-
-
- Note that this is only necessary if you want to build Fresco
-
- 3.5 /usr/include/sys/un.h
-
- such a file does not exist on Interactive. You may like to generate it, if you
- don't like a warning from depend. It isn't needed to compile the sources suc-
- cessfully.
-
- You could use the following to produce it:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Information for ISC Users
-
-
-
- #ifndef X_NO_SYS_UN
- struct sockaddr_un {
- short sun_family; /* AF_UNIX */
- char sun_path[108]; /* path name (gag) */
- };
- #endif
-
-
-
- 4. make World
-
- BOOTSTRAPCFLAGS="-DISC [-DISC30 | -DISC40] -DSYSV [-Di386]"
-
- -DISC -DISC30
- these two defines are necessary to build the release I don't know
- if the build will succeed for ISC versions prior than 3.x
-
- -DISC40
- are only for getting the ISC version and therefore set the HasSym-
- Links to Yes ('cause symbolic linking were only supported from Ver-
- sion 4.x using the S5L Filesystem)
-
- If you could use long filenames, you could enable the installation
- of expanded Manual Pages by including
- #define ExpandManNames YES inside xf86site.def.
-
- A build on ISC 4.x only needs -DISC40 defined in the BOOT-
- STRAPCFLAGS ( -DISC30 will be included automatically ).
-
- Note: if you still use Version 4.0, or you want to build binaries
- on Version 4.1 which should run on 4.0, you have to set #define
- UseChmod YES inside your host.def.
-
- (the fchmod function isn't available on 4.0, so it won't compile,
- and binaries from 4.1 won't run cause of the unsupported System
- call) On Versions less 4.0 this will be the default.
-
- -DSYSV [-Di386]
- standard defines for SystemV Release3 on x86 platform. You don't
- need to explicitly define -Di386 because this is pre-defined in
- /lib/cpp.
-
-
- 5. linear Addressing
-
- o Compiling ...
-
- If you want to include support for linear addressing into the server bina-
- ries, you have to define
-
- #define HasSVR3mmapDrv YES
-
-
- in xf86site.def. This is necessary to get the correct setup to be defined
-
-
-
-
-
-
-
-
- Information for ISC Users
-
-
-
- for the build.
-
- You need the mmap-2.2.3 driver installed on your system. If you don't
- have the mmap-2.2.3 driver installed, you could use the driver source in
- the file
-
- xc/programs/Xserver/hw/xfree86/etc/mmapSVR3.shar
-
-
- or
-
- /usr/X11R6/lib/X11/etc/mmapSVR3.shar
-
-
- Build and install the driver as instructed. You'll need the file
- /usr/include/sys/mmap.h for compiling the X11R6/XFree86 source tree, with
- linear addressing enabled.
-
- o Using ...
-
- To use the linear address-mapping of the framebuffer you need the mmap
- Driver by Thomas Wolfram (Version 2.2.3) installed in your Kernel. If you
- have installed it, most servers will use linear addressing by default.
- Others may require setting the
-
- Option "linear"
-
-
- in your XF86Config. Check the appropriate manual pages for details.
- Maybe you need also the MemBase specified in XF86Config. Please refer to
- the appropriate README of your Card/Server, for How to use... Note that
- the P9000 server will not work at all unless linear addressing is avail-
- able.
-
- I could only test these cards against the linear addressing.
-
- o Spea/V7 Vega - clgd5428 - VLB
-
- with 32MB MainMemory installed I couldn't use it. My tests with dif-
- ferent mappings into the address space results in no Graphics dis-
- played or a spontaneous reboot.
-
- o ATI GUP - mach32 - VLB
-
- with 32MB MainMemory installed I could map the CardMemory at MemBase
- 0x07c00000. I could work with all clients until I try to activate a
- Motif 1.1.1 InputField inside a Motif Client like Mosaic-2.4 or
- xplan. This results in a crash of the XServer.
-
- !!! You could work around this !!!
-
-
-
- Expand your .Xdefaults with
-
-
-
-
-
-
-
-
- Information for ISC Users
-
-
-
- *blinkRate: 0
- *cursorPositionVisible: false
-
-
- This bug seems to be fixed since 3.1.2, and therefore the workaround
- is not needed anymore.
-
- o ELSA Winner 2000PRO/X Revision G
-
- if you experience a Problem with this Card you could try to use the
- older Chipset Driver instead "newmmio".
-
- If you declare
-
- Chipset "mmio_928"
-
-
-
- inside your XF86Config, it may be alright again.
-
- With the current XF86_S3 I don't encounter any problem.
-
-
- 6. XKeyboard Extension
-
- o Sample Setup ...
-
- Here is a sample XKeyboard Definition to include inside the Keyboard Sec-
- tion of your XF86Config File.
-
- Xkbkeycodes "xfree86"
- /* XkbSymbols "us(pc101)+de_nodead" */
- /* This has changed between 3.1.2E and 3.1.2F */
- /* it is now: */
- XkbSymbols "us(pc102)+de(nodeadkeys)"
- XkbTypes "default"
- XkbCompat "default"
- XkbGeometry "pc"
-
- or you could use this one with the new Options:
-
- XkbRules "xfree86"
- XkbModel "pc102"
- XkbLayout "de"
- XkbVariant "nodeadkeys"
-
-
- 7. Multibuffer Extension
-
- This is an obsolete Extension. Anyway, if you want to include this Extension
- inside your build, you have to add: #define BuildMultibuffer YES inside
- xf86site.def
-
-
-
-
-
-
-
-
-
-
- Information for ISC Users
-
-
-
- 8. Sample Definitions
-
- This is my current host.def, if I build the sources. (So no more changes were
- necessary in xf86site.def, either it isn't to bad to have a look inside it ;-)
-
-
- #ifdef BeforeVendorCF
-
- /* Only when building official binaries*/
- /*
- #define InstallJapaneseDocs YES
- #define InstallEmptyHostDef
- */
-
-
- /* Try MultiBuffer Extension */
- #define BuildMultibuffer YES
-
- /* Build all Contrib SW */
- #ifdef XF86Contrib
- #undef XF86Contrib
- #endif
-
- /* gcc 2.6.3 tested Optimization Flags */
- # define DefaultGcc2i386Opt -O2 -fstrength-reduce -malign-loops=2 -malign-jumps=2 -malign-functions=2
-
- /* binaries which should run on ISC 4.0 or for the build on a real 4.0 System */
- # define UseChmod YES
-
- /* For a POSIXized build on Interactive maybe needed to use gcc2.7.2 */
- # define UsePosix YES
-
- /* Use GNUs MallocLibrary (and the Location for the Lib) */
- # define UseGnuMalloc YES
- # define GnuMallocLibrary -L/usr/local/lib -lgnumalloc
-
- /* Build Xvfb */
- # define XVirtualFramebufferServer YES
-
- /* Use mmap Driver */
- # define HasSVR3mmapDrv YES
-
- /* Expand Manual Pages (needs S5L) */
- # define ExpandManNames YES
-
- /* Has LinuxDoc (and the Location for LinuxDoc / only HTML and Text) */
- # define HasLinuxDoc YES
- # define BuildLinuxDocHtml YES
- # define BuildAllDocs YES
- # define LinuxDocDir /usr/local/lib/linuxdoc-sgml
-
- /* Install Config's for xdm, xfs, and xinit */
- # define InstallXinitConfig YES
- # define InstallXdmConfig YES
-
-
-
-
-
-
-
-
- Information for ISC Users
-
-
-
- # define InstallFSConfig YES
-
- #define BuildChooser YES
-
- /* for the new XF86Setup Util */
- #define HasTk YES
- #define HasTcl YES
-
-
- #endif /* BeforeVendorCF */
-
-
- 9. Installation
-
- After your make World BOOTSTRAPCFLAGS="... succeed,
-
- make install
-
-
- to install in /usr/X11R6. Make sure you have enough space, and /usr/X11R6
- exists either as a directory or a symlink to another directory maybe in another
- filesystem.
-
- make install.man
-
-
- to install the compressed nroff versions of the manual pages into
- /usr/X11R6/man. This directory will be generated if it doesn't exist.
-
- make install.linkkit
-
-
- to install the server binary LinkKit into /usr/X11R6/lib/Server.
-
- You could tune the Kernel using the command-file
-
- /usr/X11R6/lib/X11/etc/xf86install
-
- This will increase the available pseudo devices,
- some Tunable Parameters and install some files
- to use inside sysadm. You could also install
- some additional Fonts and Terminal files.
-
-
- 10. Using ...
-
- o Xprt:
-
- The new Xprint Server is configured to use lpr as its print helper so you
- have to install and configure lpr to use Xprt.
-
- o Keyboard:
-
- You don't need any modmap-File to get your keyboard working with any
-
-
-
-
-
-
-
-
- Information for ISC Users
-
-
-
- iso-8859-1 Font. Simply enable
-
- o LeftAlt Meta
-
- o RightAlt ModeShift
-
- o RightCtl Compose
-
- in your XF86Config - Section "Keyboard"
-
- o xpcterm:
-
- if you want to get the German 'Umlaut' inside your ISC X11R4 client xpc-
- term when you are using the ega/vga font. Set up the user's .Xdefaults to
- contain:
-
- XEga*AT386.Translations: #override \
- Shift<Key>odiaeresis: string(0x99) \n\
- <Key>odiaeresis: string(0x94) \n\
- Shift<Key>adiaeresis: string(0x8e) \n\
- <Key>adiaeresis: string(0x84) \n\
- Shift<Key>udiaeresis: string(0x9a) \n\
- <Key>udiaeresis: string(0x81) \n\
- Shift<Key>ssharp: string(0x3f) \n\
- Meta<Key>ssharp: string(0x5c) \n\
- <Key>ssharp: string(0xe1)
-
-
- The only disadvantage is that you have to use Alt instead of AltGr to get
- the \ Backslash (on a German Keyboard)
-
- You have to call your xpcterm with the option -name XEga -fn ega
-
- o Switching between X11R5 and X11R6 configuration
-
- to compile X11-Clients as either R6 or R5 clients, should be as easy as
- you only switch the PATH components so that either /usr/X11R6/bin/xmkmf or
- /usr/X386/bin/xmkmf would make the new Makefile.
-
- o ISC Streams Pipes
-
- The old path to the pipes on ISC's R4 /tmp/.X11-unix has changed to
- /dev/X/ISCCONN. For compatibility reasons on ISC, the pipes in the new
- directory will be linked to a file inside the old. This will normally be
- a hard link, so it can't go across filesystems. On ISC Version 4.x this is
- now allowed. But you should use the new S5L on both filesystems. ISC30
- systems should take care that the two directories are on the same FS. Else
- if you are using a ISC40 compiled binary, the Server could maybe abort due
- to a SIGSYS. We tried to catch this signal, so if it dumps please send me
- a note.
-
- o Warnings you may see:
-
-
-
-
-
-
-
-
-
-
- Information for ISC Users
-
-
-
- o Since 3.2A, you could see a warning from pre X11R6.3 clients.
-
- Warning: Unable to load any usable fontset
-
-
-
- The case are the new gzipped fonts, but the Warning isn't serious.
-
- o If you start a server you may see the following message:
-
- _XSERVTransOpen: transport open failed for named/enigma:0
- _XSERVTransMakeAllCOTSServerListeners: failed to open listener for named
-
-
-
- This message either isn't critical. Interactive doesn't support this
- kind of connection.
-
-
- 11. Acknowledgements
-
- All thanks should go to the members of the XFree86 Team for their great work
- and the X Consortium for their Public Release of X11R6, as to all who con-
- tribute to this excellent piece of free software.
-
- Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/isc.sgml,v 3.18 1997/01/25 03:22:23 dawes Exp $
-
-
-
-
-
- $XConsortium: isc.sgml /main/8 1996/10/23 11:45:58 kaleb $
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Information for ISC Users
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- CONTENTS
-
-
-
- 1. X11R6/XFree86[tm] on Interactive Unix .................................. 1
-
- 2. Things needed for compiling the sources ................................. 1
-
- 3. Changes to the System Header Files ...................................... 2
- 3.1 /usr/include/sys/limits.h ........................................... 2
- 3.2 /usr/include/sys/ioctl.h ............................................ 2
- 3.3 /usr/include/errno.h ................................................ 3
- 3.4 /usr/include/rpc/types.h ............................................ 3
- 3.5 /usr/include/sys/un.h ............................................... 3
-
- 4. make World ............................................................. 4
-
- 5. linear Addressing ...................................................... 4
-
- 6. XKeyboard Extension ..................................................... 6
-
- 7. Multibuffer Extension .................................................. 6
-
- 8. Sample Definitions ..................................................... 7
-
- 9. Installation ........................................................... 8
-
- 10. Using ... .............................................................. 8
-
- 11. Acknowledgements ...................................................... 10
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- i
-
-
-