## Appendix C. Environment Variables and Command Line Options

Partial Table-of-Contents

- C.1 Environment Variables
- Path Variables
- Other Environment Variables
- C.2 Command Line Options

  ## C.1 Environment Variables

  The environment variables described in this section can be set in your login profile to customize Data Explorer. Note also that these variables can be overridden on the command line (see C.2 , "Command Line Options").

  ### Path Variables

  Path variables specify a directory or directories to be searched for files. Directories are searched in the order of their appearance in the variable, reading from left to right, with successive path names separated by a colon (:). Thus when a file appears in more than one directory, Data Explorer will choose the first copy it finds (i.e., in the leftmost directory containing a copy).

  ##### DXDATA

  specifies directories to be searched for importable data files. If the data to be imported is in your current directory or one of the specified directories, you do not need to enter the complete path name in the Configuration dialog box for the Import tool: given just the file name, the Import module will search all of these directories.

  ##### DXINCLUDE

  specifies directories to be searched for include scripts. Data Explorer uses include scripts in script mode. It is not necessary to specify this variable in Edit mode.

  See "File Inclusion" for more information.

  ##### DXMACROS

  specifies directories to be searched for macros when Data Explorer starts up. If DXMACROS is not specified, you will have to load macros individually (see 7.2 , "Creating and Using Macros").

  ##### DXMODULES

  specifies the directories to be searched for outboard modules.

  #### Setting a Path Variable: Examples

  Note the colon (:) separating successive path names.

  - To set DXMACROS for both the Bourne (sh) and the Korn (ksh) shells:

        DXMACROS=/usr/mydirectory/projectAmacros:/usr/mydirectory/projectBmacros
        export DXMACROS

  - To set DXDATA for the Korn shell (ksh) only:

        export DXDATA=/usr/mydirectory/mydata:/usr/group/groupdata

  - To set DXDATA for the C shell (csh):

        setenv DXDATA /usr/mydirectory/mydata:/usr/group/groupdata

  ### Other Environment Variables

  ##### DX8BITCMAP

  sets the level at which the change to using a private color map is made. The allowed values are -1 and the range from 0 (zero) to 1 (one) and represent the Euclidean distance in RGB color space, normalized to 1 (one) for the maximum allowed discrepancy. The default value is 0.1. If this variable is set to 1, a private color map will never be used; conversely, if it is set to -1, a private color map will always be used. (See Display in IBM Visualization Data Explorer User's Reference.)

  ##### DXARGS

  specifies the default set of arguments for Data Explorer start-up. An option specified on the command line will override the corresponding setting in the variable.

  ##### DXAXESMAXWIDTH

  sets the number of digits in axes tick labels at which a switch to scientific notation is made. The default is 7.

  ##### DXCOLORS

  specifies a file name containing string and RGB value pairs as an alternate for /usr/local/dx/lib/colors.txt. The string name can be used by any Data Explorer tool where a color can be specified by name (for example, Color). The RGB value specifies the specific numeric value for the color.

  ##### DXDELAYEDCOLORS

  enables ReadImage to create delayed color images if the image is a tiff format image saved in a byte-with-colormap format or a GIF format. This feature is enabled if this variable is set to any value. Delayed colors use less memory.

  ##### DXEXEC

  specifies an executive to be run at start-up. You should set this variable only for a customized version of Data Explorer.

  ##### DXFLING

  If DXFLING is set to 1, then for hardware-rendered images, in rotation mode and execute-on-change mode, if you drag the mouse across the image, and release the mouse button outside the image, the object in the image will begin to rotate, and will continue to rotate until you click inside the image. The direction and speed of the mouse motion before release will affect the rotation direction and rotation speed of the object in the window.

  ##### DXGAMMA

  sets the gamma correction for software-rendered images displayed to the screen by a Display or Image tool. On many display devices a given change in the digital brightness of the image is not reflected in a corresponding change in screen brightness. A gamma correction is a nonlinear adjustment of the pixel values to compensate for this difference and produce a more accurate representation on the screen. By default (except for 8-bit windows on the sgi architecture), the correction factor (exponent) is 2 (two), on the assumption that the display is not otherwise gamma corrected. The `DXGAMMA` variable allows you to override this default. In particular, if the display device is already gamma corrected, set the variable to 1 (one). (See Display in IBM Visualization Data Explorer User's Reference, and README_sgi in /usr/local/dx.)

  ##### DXGAMMA_8BIT, DXGAMMA_12BIT, and DXGAMMA_24BIT

  set the gamma correction for software-rendered images displayed to the screen in 8-, 12-, or 24-bit windows by a Display or Image tool. This variable overrides the value set by DXGAMMA.

  ##### DXHOST

  specifies the machine name of the server on which the executive is to be run. The default is "localhost". (See 9.3 , "Connecting to the Server" for information on how to connect to the server.) To determine the host name, enter the command:

      uname -n

  ##### DXHWGAMMA

  sets the gamma correction for hardware-rendered images displayed to the screen by a Display or Image tool. On many display devices a given change in the digital brightness of the image is not reflected in a corresponding change in screen brightness. A gamma correction is a non-linear adjustment of the pixel values to compensate for this difference and produce a more accurate representation on the screen. By default, the correction factor is 2, on the assumption that the display is not otherwise gamma corrected. The `DXHWGAMMA` variable allows you to override this default. In particular, if the display device is already gamma corrected, set the variable to 1.

  ##### DXHWMOD

  if both GL and OpenGL are supported, you can override the default library (which is platform-specific; please see the appropriate README file for your architecture in `/usr/local/dx`) by using this environment variable. It should be set to either DXhwdd.o (for GL) or DXhwddOGL.o (for OpenGL).

  ##### DXMDF

  specifies the name of the .mdf file that contains custom-added modules for customized versions of Data Explorer.

  ##### DXMEMORY

  sets the amount of memory (in megabytes) that can be used by the executive.

  ##### DX_SIMPLE_LOOPS

  for faces, loops, and edges data, if set, will calculate loops such that the enclosing loop for a face must be listed first. This will increase performance; however, if faces, loops, and edges data do not conform, the executive will crash.

  ##### DXNO_BACKING_STORE

  if set to anything, disables framebuffer readbacks. Setting this environment variable will improve performance of interaction with hardware rendered images, especially for machines for which readback is slow. However, some of the interactions in the image window (such as zoom) will result in a black image while interaction is taking place. If you are not planning on using the Image tool, then it is strongly recommended that this environment variable be set. The default is that framebuffer readbacks are enabled.

  ##### DXPIXELTYPE

  sets the image type to either 24-bit color images or floating-point-based 96-bit images (the default). This affects the behavior of Render and ReadImage. This variable can be set to either DXByte (24 bits) or DXFloat (96 bits). Setting this variable to DXByte will result in images taking up less memory.

  ##### DXPROCESSORS

  sets the number of processors for Data Explorer SMP.

  ##### DXRSH

  specifies the remote shell command to use when connecting to other systems (such as those when using distributed execution). The default is the the path to rsh.

  ##### DXRSH_NOENV

  prevents the remote "invoke dxexec" script from being written with a full carbon copy of the local environment (only DISPLAY is set).

  ##### DXROOT

  specifies the top-level directory for all the files and directories needed by Data Explorer. The default is /usr/local/dx.

  ##### DXSHMEM

  specifies whether or not shared memory should be used. The amount of memory allocated by Data Explorer for its data and object management can be set at runtime with the `-memory` command line option. At startup, Data Explorer either allocates a shared memory segment or expands the existing data segment to create this space.

  SMP (multiprocessor) systems are required to use shared memory so each processor can share a common data space. SGI systems also use shared memory for space. IBM systems use shared memory if the size to be allocated is larger than 256 MB. In all other cases Data Explorer extends the existing data segment using the brk() system call.

  Each architecture (SGI, IBM, HP, ...) has a different way of configuring the maximum user data segment size, and a different way of setting the limit on the maximum size of a single shared memory segment. Consult your system administrator or system documentation if you have problems getting Data Explorer to use the amount of memory which should be available to you.

  If you have problems using a large data segment, you can force Data Explorer to use shared memory by setting the `DXSHMEM` environment variable to any value other than -1. This will override the defaults and use shared memory for space. Alternatively, you can force Data Explorer to extend the data segment (if allowed for the architecture) by setting `DXSHMEM` to -1.

  Note: Regardless of the setting of `DXSHMEM`, the aviion and sun4 architectures always use the data segment.

  ##### DXSHMEMSEGMAX

  Some architectures have a default configuration which limits the size of shared memory segments (see the architecture specific README file in `/usr/local/dx`), and the system configuration must be changed as root to increase the maximum allowed size of a shared memory segment. If the maximum is not reset or if it is already set to a different limit, then you can use `DXSHMEMSEGMAX` to tell Data Explorer what the current limit is in megabytes (e.g. 128 == 128 MB). Data Explorer will allocate multiple shared memory segments if necessary to get the total amount of space, but it must be able to allocate them at contiguous virtual memory addresses.

  ##### DX_HW_TMESH_ORIENT_SENSITIVE

  allows the user to set how triangle meshes are generated. If not set, then dx will try and extend a mesh by flipping triangles. This can cause problems with two sided hardware rendering. If set to a value other than 0, then the meshes will not be extended.

  #####

  ##### DX_SMALL_ARENA_FACTOR

  allows the user to specify the ratio between the large and small arena. The value must be set greater than 0 and up to 8. Typically the small arena is 1/16 of the large arena, setting this environment variable to 8 will make dx allocate an equal amount of memory to the large and small arena.

  ##### DXUINOCATCHERROR

  Setting this environment variable informs the user interface to ignore OS signals. The user interface normally traps OS signals so that it may save networks on the event that the UI crashes. So setting this variable results in a standard crash.

  ##### DX_USER_INTERACTOR_FILE

  Specifies a file containing user interactors for use by the SuperviseState and SuperviseWindow modules (see SuperviseState and SuperviseWindow in IBM Visualization Data Explorer User's Reference).

  ##### DX_WEB_BROWSER

  under UNIX specifies the web browser to launch for viewing the HTML documentation. Under Windows and MacOS X setting this environment variable will launch the systems default web browser.

  [ OpenDX Home at IBM | OpenDX.org ]