next up previous contents index
Next: CRAY under UNICOS Up: System-Dependent Considerations Previous: UNIX

APOLLO

$==>$ Uptodate ???

From July 1990 onwards only Aegis SR 10 and later system releases will be supported. Aegis SR 9.7 library versions are obtainable, but will not be updated. Aegis SR 10 is compatible with UNIX, and so simplifies support. However, this affects file formats and access control, as well as the case sensitivity of file names. Although earlier versions of AEGIS were insensitive to the case of file names, this is no longer true from for SR 10.0 onwards. Thus, for example, the program statement:

      INCLUDE '/CERN/GKS/PRO/UTL/GKS_GTSDEV'
will not work with SR 10.0. The path name within quotes must be in lower case. Other points to watch for are that a '/' character is used after the tilde when accessing files via the naming directory, and that when using UNIX shells every command creates a new process, so care must be taken when using scripts to set variables that they run in the context of the current process. For example, by typing source my_script under the C shell, or . my_script under the Bourne shell.

Apart from the Appendix E metafile and PostScript drivers, the standard CERN APOLLO libraries include drivers for both the GPR and GSR graphics interfaces. For machines such as the DN590, with GSR hardware support, the GSR driver will produce improved performance. This driver also allows a single process to open multiple GKS workstations, each corresponding to a new APOLLO window. The next release of this driver is scheduled to support level C input, as well as a display surface size which may be changed dynamically. To use multiple GSR windows from a single graphics process it is necessary to call GOPWK once to open each workstation with a different value in the series of GSR workstation types.

At run time GKS reads in the files defining the software fonts (which are used by all drivers). These are accessed via an environment variable 'GKS_FONTS' which may be created by a command in the startup or .login files. At CERN, this environment variable points to the cernlib directory /cern/gks/pro/dat (or .../new/dat or .../old/dat, depending on the version required). The fonts are distributed in the directory $gkshome/gks/fonts. (In addition to the software fonts used by all drivers, the GSR driver can use also the hardware fonts described below.)

For use of the GPR interface, the user's home directory should contain a file (or link) called gks_characteristic which contains set-up information describing the display. An example of this file may be found in:

/cern/gks/pro/dat/gks_characteristic
If the user does not have a link from the naming directory to a private copy of gks_characteristic, then GKSGRAL will attempt to read a default version which should be made available by creating the following link:
crl   /dev/gks_characteristic                   @
      /cern/gks/pro/dat/gks_characteristic

(As /dev is protected, this must be done from a privileged account.) A private copy of the file may be edited to give the desired window size. As an example, the Workstation Type 10002 corresponds to the second line of the file. The standard versions of this file is distributed in $gkshome/gks/drivers/adgpr.

The GSR driver requires access to two configuration files, one called gks_workstations.config which is similar to the GPR gks_characteristic file containing set-up information describing the display, and one called gks_fonts.config which lists the available hardware fonts. Copies of these files, modified as necessary, may be stored in (or pointed to by links from) the user's home directory, or default versions should be made available by creating the links:

crl /sys/node_data/gks_workstations.config       @
    /cern/gks/pro/dat/gks_workstations.config
      and
crl /sys/node_data/gks_fonts.config              @
    /cern/gks/pro/dat/gks_fonts.config
The standard versions of these files are distributed in $gkshome/gks/drivers/adgsr.

As for other UNIX machines, the libraries are stored either in $gkshome/gks/libs or /cern/gks/pro/lib, and it is easiest to access them via environment variables:

setenv gkslib    /cern/gks/pro/lib/gkslib_3000.a
setenv gksdriv   /cern/gks/pro/lib/gksdriv_3000.a
setenv gks3dlib  /cern/gks/pro/lib/gks3d_3000.a
Where the '3000' refers to the compiler option used to produce executable modules targeted at the DN3000 style machines with a Motorola 68020/30/40. One can replace '3000' by '10000' for the DN10000 library versions.

To compile and link directly to the libraries use:

/com/ftn  myprog.ftn  -indexl
/com/bind myprog.bin  $gkslib $gksdriv -b myprog.exe
where the parameter '-indexl' is optional but recommended. The parameter -save may also be used for safety if variables which must be available on re-entry to a routine have not been stored in a COMMON BLOCK. However, use of -save is very detrimental to code optimization, especially on the DN10000. The Aegis versions of the Fortran compiler must be used to ensure that the external global symbols use the same naming conventions as for the libraries (i.e. lower case names with no trailing underscore).

The include files used when compiling graphics programs which define the Workstation Types and GKS Parameters (Enumerated Types) are to be found in the directory '/cern/gks/pro/utl'. (Distributed in $gkshome/utl.) They may be accessed from a Fortran program as follows:

      INCLUDE '/cern/gks/pro/utl/gks_gtsdev'
 and
      INCLUDE '/cern/gks/pro/utl/gks_enum'
(Under SR 10.2 the Fortran compiler accepts VMS syntax for the INCLUDE statement.)

As linking to INLIB (shared) versions of the libraries takes up much less space, and is much faster, INLIB libraries are defined as follows:

setenv gkslib_inlib    /cern/gks/pro/lib/gkslib_3000.inlib
setenv gks3dlib_inlib  /cern/gks/pro/lib/gks3d_3000.inlib
These may be linked using the command:
/com/bind myprog.o -b myprog.exe -inlib $gkslib_inlib
                  or
/com/bind myprog.o -b myprog.exe -inlib $gks3dlib_inlib

The example programs listed in the appendix of the GKS/GKS-3D Primer may be found in:

/cern/gks/pro/dmo/gksexN.ftn (N = 1,6)
They are distributed in $gkshome/dmo.

APOLLO Models

APOLLO nodes exit with various CPU options. The latest machine, the DN10000, will only work with libraries compiled specifically for this hardware. All other recent APOLLO models use the standard M68020 instruction set, on which can be run libraries compiled with the '3000' option. Note that CERN no longer produces libraries compiled with the 'any' switch.

Apollo Workstation Types

The following consists of a list of the workstation types for the GTS-GRAL workstation drivers installed on Apollo. The full list may be consulted in gks_gtsdev, or in Appendix on Page gif.

3
WISS
4
Metafile Output
5
Metafile Input
9701-9708
Apollo GSR interface
10002
Apollo DN300, DN3000, Monochrome (GPR interface)
10003
Apollo DN550, DN660, Colour (GPR interface)
10004
Apollo DN3000/4000, Colour (GPR interface)
12201
Postscript colour portrait
12202
Postscript colour landscape
12203
Postscript monochrome portrait
12204
Postscript monochrome landscape
10201
2D-Metafile for 3D GKS


next up previous contents index
Next: CRAY under UNICOS Up: System-Dependent Considerations Previous: UNIX


Janne Saarela
Mon Apr 3 17:00:12 METDST 1995