Argyll Environment Variables

## 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 improve 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_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
There is now support for 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").
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.