Setting an environment variable
     To set an environment variable an MSWindows DOS shell, either
    use set, e.g.;
    
        set ARGYLL_REV_CACHE_MULT=1.5
    
    which will set the value for that session, or set it in
    
    Control Panel->System->Advanced->Environment Variables..
    
    in either user or system variables.
    
    You can examine individual variables using
    
        echo %VARIABLE_NAME%
    
    or see all of them using
    
       set
    
    
    For OS X or Linux, the exact procedure will depend on the shell you
    are running, but
    is usually something like:
    
        export ARGYLL_REV_CACHE_MULT=1.5
    or
        set ARGYLL_REV_CACHE_MULT=1.5
    or
        ARGYLL_REV_CACHE_MULT=1.5
    
    and may need separately exporting, something like:
    
        export ARGYLL_REV_CACHE_MULT
    
    Generally it should be configured in the shell start-up
    script,  if you want the setting to be used
    for every session.
    
    You can examine individual variables using
    
        echo $VARIABLE_NAME
    
    or see all of them using
    
       set
    Environment variables
    The following environment variables affect behaviour:
    
    ARGYLL_NOT_INTERACTIVE
    
    Normally Argylls tools expect that
      they are directly interacting with a user, and use a couple of
      techniques for communicating with them through the command line.
      One is to output progress information by re-writing the same
      display line by using a Carriage Return rather than a Line Feed at
      the end of each line. Another is to allow a single key stroke to
      trigger an action or interrupt operations.
      
      If the ARGYLL_NOT_INTERACTIVE
      environment variable is set, then:
      
          A Line Feed will be added to the end of each
      progress line.
      
          Any time it would wait for a single keystroke
      input, it will instead wait for and read the next character from
      stdin.
          To facilitate flushing stdin, any return or
      line feed characters will be ignored, so a character other than
      return or line feed must be used to trigger activity.
      
          Note that while a reading is being made, a
      character input can abort the reading, just as with normal
      interactive mode.
      
          Note that on MSWin systems, the character and
      return or line fee characters must be written to stdin in a single
      operation (i.e. testing ARGYLL_NOT_INTERACTIVE 
      mode manually will probably fail, because the character and
      return get split up.)
    
    
    ARGYLL_3D_DISP_FORMAT
    
    This overrides the default 3D visualisation file format
      for tools such as iccgamut or viewgam. Set to VRML or X3D
      or X3DOM, which will result in .wrl, .x3d
      and .x3d.html files respectively. See 3d
        Viewing Format.
    
    
     ARGYLL_COLMTER_CAL_SPEC_SET
    ARGYLL_COLMTER_COR_MATRIX
    
    Both of these can be used to set a
      default CCMX or CCSS colorimeter calibration
      file, equivalent to supplying a -X
      argument to spotread, dispcal, dispread and any other utility that
      allows using a colorimteter. The ARGYLL_COLMTER_CAL_SPEC_SET will
      take priority if both are set.
      
    
    
    ARGYLL_MIN_DISPLAY_UPDATE_DELAY_MS
      
    
    Normally
a
      delay of 200 msec is allowed between changing a patch color in
      software, and that change appearing in the displayed color itself.
      For some instuments (ie. i1d3, i1pro, ColorMunki, Klein K10-A)
      ArgyllCMS will automatically measure and set an appropriate update
      delay during instrument calibration. In rare situations this delay
      may not be sufficient (ie. some TV's with extensive image
      processing features turned on), and a larger delay can be set
      using the ARGYLL_MIN_DISPLAY_UPDATE_DELAY_MS
environment
      variable, ie. ARGYLL_MIN_DISPLAY_UPDATE_DELAY_MS=400 would set a
      400 msec minimum delay.
      
      
    ARGYLL_DISPLAY_SETTLE_TIME_MULT
     Normally the display technology type determines how
      long is allowed between when a patch color change appears on the
      display, and when that change has settled down, and as actually
      complete within measurement tolerance. A CRT or Plasma display for
      instance, can have quite a long settling delay due to the decay
      characteristics of the phosphor used, while an LCD can also have a
      noticeable settling delay due to the liquid crystal response time
      and any response time enhancement circuitry. [ Instruments without
      a display technology type selection such as spectrometers assume a
      worst case.].
      The ARGYLL_DISPLAY_SETTLE_TIME_MULT environment variable allows
      the rise and fall times of the model to be scaled to extend or
      reduce the settling time. For instance,
      ARGYLL_DISPLAY_SETTLE_TIME_MULT=2.0 would double the settling
      time, while ARGYLL_DISPLAY_SETTLE_TIME_MULT=0.5 would halve it.
    
    ARGYLL_CREATE_WRONG_VON_KRIES_OUTPUT_CLASS_REL_WP
                          
    By default ArgyllCMS uses the Bradford sharpened cone
      Chromatic adaption matrix in adapting the measured, absolute
      colorimetric test data to the PCS (Profile Connection
      Space) relative colorimetric D50 white point for all profile
      types. This makes the profile handling consistent with the widely
      deployed (HP & Microsoft) sRGB and AdobeRGB profiles, as well
      as being recommended practice in modelling chromatic
      adaption.  The ICC profile format though, specifies the use
      of a non-cone space XYZ adaptation (so called "Wrong Von Kries"
      chromatic adaptation) [ ICC Specification ICC.1:2001-04 (ICCV2.4)
      Annex A, pp 66, equations A.1, A.2 & A.3 ], so ArgyllCMS
      profiles have a very slight incompatibility with ICC profiles
      created strictly according to the ICC specifications, depending on
      how close to white Output (i.e. print) profiles media white is to
      the perfect diffuser. (Note that CMM's that strictly follow the
      ICC specifications have much more gross incompatibilities due to
      this, when dealing with the HP & Microsoft sRGB and AdobeRGB
      profiles.) By setting this environment variable, Output (i.e.
      print) profiles will be created that better conform to the ICC
      specification, and  therefore have better
      inter-interoperability with some other CMMs, at the cost of poorer
      color behavior.
      See also the ArgyllCMS 'arts'
        tag.
      
    ARGYLL_CREATE_DISPLAY_PROFILE_WITH_CHAD
                    
    The ICC V2 format originally provided no clear mechanism
      for Display profiles to use a modern chromatic adaptation
      transform in dealing with the D65 white point of typical displays.
      Profile makers ended up taking two different approaches :- one was
      to use a Bradford chromatic transform for the media (display)
      white to PCS D50 (this approach being used by the widely deployed
      HP & Microsoft sRGB and AdobeRGB profiles, as well as
      ArgyllCMS profiles by default), and the other was to apply the
      Bradford transform to the measurement data and then disable
      Absolute Intent for display profiles by setting the
      mediaWhitePoint tag to D50. The latter approach was supplemented
      later on with the introduction of the ChromaticAdapation ('chad')
      tag, but this did not restore the Absolute Colorimetric capability
      to Display profiles. The latter approach has also been adopted
      more formally in the ICC V4 specifications. To restore the
      Absolute Intent for such profiles, ArgyllCMS will make use of the
      'chad' tag in such profiles when Absolute Colorimetric intent is
      requested, but by default does not create such profiles. Setting
      this environment variable causes it to create Display profiles in
      the fashion dictated by the ICC V4 spec. :- setting the
      mediaWhitePoint tag to D50 and storing the display media white to
      D50 matrix in the 'chad' tag. (This approach has slightly poorer
      accuracy for Absolute Intent than ArgyllCMS's default.) 
    
    
    ARGYLL_CREATE_OUTPUT_PROFILE_WITH_CHAD
                          
    For Output type devices (i.e. Printers), the assumption
      is that test patches are measured under D50 illuminant. It can be
      very useful for proofing to calculate color corrections for other,
      real world illuminants, and ArgyllCMS makes provision for this
      with the coloprof -i parameter, or
      the spec2cie -i parameter. To be
      broadly useful, this change in illuminant needs to be available to
      CMM's, which the ArgyllCMS's implementation makes possible by
      incorporating the illuminant change into the absolute XYZ values
      and hence the white point tag, so that Absolute Colorimetric
      rendering intent returns XYZ values under that illuminant using
      any CMM.
      
      The ICC specification have provision for hiding this difference in
      illuminant by chromatically transforming the absolute values to be
      functionally equivalent to having been measured using a D50
      illuminant, and recording this transform in the ChromaticAdapation
      ('chad') tag. This appears to motivated by the assumption that the
      difference in illuminant is a quirk or limitation of the
      instrument that is to be worked around, as well as the limitation
      of the ICC Absolute to Relative chromatic transformation being
      based on the inferior non-cone space XYZ adaptation (so called
      "Wrong Von Kries" chromatic adaptation), while the
      ChromaticAdapation tag allows for the use of a superior cone-space
      based transformation. (see ARGYLL_CREATE_WRONG_VON_KRIES_OUTPUT_CLASS_REL_WP above
      for more details.) 
                              
                            To
      allow for strict conformance to the ICC specification when using
      non-standard illuminants, setting the ARGYLL_CREATE_OUTPUT_PROFILE_WITH_CHAD
                            environment
      variable causes a non-D50 illuminant white point change to be
      hidden in the ChromaticAdapation Tag, and to still allow this to
      be useful in a proofing situation, ArgyllCMS will incorporate the
      effect of the ChromaticAdapation Tag when Absolute Colorimetric
      Intent is chosen. Note that other CMM's may not do. For full
      conformance with ICC specifications, the ARGYLL_CREATE_WRONG_VON_KRIES_OUTPUT_CLASS_REL_WP
      variable would also be set, but neither of these options is
      recommended, since ArgyllCMS's default behavior will give superior
      results.
                            
    ARGYLL_CCAST_DEFAULT_RECEIVER
        
    By default the ChromeCast test patch source uses a
      special receiver application that gets the test patch data
      directly. By setting this environment variable to true, the
      default Google ChromeCast receiver will be used, making use of a
      local web server to provide the images. This is slower than the
      special reciever, but can be used as a fallback.
    
    ARGYLL_IGNORE_XRANDR1_2
          
         
    On an X11 system, if this is set (ie. set it to "yes"),
      then the presence of the XRandR 1.2 extension will be ignored, and
      other extensions such as Xinerama and XF86VidMode extension will
      be used. This may be a way to work around buggy XRandR 1.2
      implementations.
      
    
    ARGYLL_DISABLE_I1PRO2_DRIVER
      
    
    ArgyllCMS supports most of the the
      Eye-One Pro Rev E (aka Eye-One Pro 2) instrument features, but a
      Rev E can be operated in legacy mode if the environment variable
      ARGYLL_DISABLE_I1PRO2_DRIVER is set (ie. set it to "yes").
      
    
    ARGYLL_XRGA
    If the ARGYLL_XRGA 
      environment variable is set to:
      
          XRGA, then all Getag-MacBeth/X-Rite
      reflective measurements will be converted to XRGA.
          XRDI, then all Getag-MacBeth/X-Rite
      reflective measurements will be converted to XRDI.
          GMDI, then all Getag-MacBeth/X-Rite
      reflective measurements will be converted to GMDI.
      
      If not set (or set to some other string), then the native
      calibration will be used. Note that the values must be upper case.
    
    XDG_CACHE_HOME
      
      
    Argyll tries to follow the 
XDG
Base
        Directory Specification, and uses the 
XDG_CACHE_HOME environment
      variable to place per instrument calibration information, and
      .ccmx and .ccss files.
    
    XDG_CONFIG_DIRS
      XDG_DATA_DIRS
        
    On Unix type operating systems,
      configuration and profiles for displays are placed relative to
      these environment variables.
    
           
    
    See Performance Tuning for other
    variables.