oeminst
Author: Graeme Gill

## spectro/oeminst

### Summary

A special purpose tool that installs various Instruments Manufacturers support files to enable various instrument operations when used with Argyll, as well as install colorimeter calibration and spectral sample files so that they appear in the display type list (-y option).
For the Spyder 2, it can install the instrument manufacturers PLD firmware pattern, which is necessary for it to operate.
For the Spyder 4, it can enable the full range of manufacturers colorimeter calibration selections, as well as install CCSS files.
For the eye-one display 3 it can locate and translate X-Rite .EDR files to CCSS files and install them to enable a full range of colorimeter calibration selections, as well as install CCSS files.
For all colorimeters it can install CCMX files make for that model of colorimeter.

### Usage summary

oeminst [-options] [inputfiles]
-v Verbose
-n Don't install, show where files would be installed
-c Don't install, save files to current directory
-S d Specify the install scope u = user (def.), l = local system]
infile setup.exe CD install file(s) or .dll(s) containing install files
infile.[edr|ccss|ccmx] EDR file(s) to translate and install or CCSS or CCMX files to install
If no file is provided, oeminst will look for the install CD.

###

### Flags and Parameters

The inputfiles arguments are optional, and and can be used to specify the MSWindows setup.exe file from the installation CD or other files to install. If files are specified, then they can be any combination of the setup.exe file, .dll libraries that contain the files to be installed, or X-Rite .edr files to convert or the equivalent to an Argyll .ccss files, or
.ccss or .ccmx files created using ccxxmake.
The -v flag enables verbosity. This may be of use in figuring out what went wrong if it doesn't work, and where files have been installed.
The -n flag causes oeminst to show where the files would be installed or saved to, rather than actually doing it.
The -c flag causes oeminst to save the files to the current directory, rather than the install location.
The -S option allows installing the file(s) in a local system location, rather than the default user accessible location. With this option you may need to run this as superuser using the "sudo" command on OS X and Linux systems.

### Usage Details and Discussion

The Spyder 2 instrument cannot function without the presence of the instrument vendors PLD firmware pattern for the device. This firmware is not provided with Argyll, since it has not been made available under a compatible license.
The purchaser of a Spyder 2 instrument should have received a copy of this firmware along with their instrument from the original vendor, and oeminst enables their instrument, by locating the firmware in the users copy of the instrument install files.
On Microsoft Windows or Apple OS X platforms, oeminst will look to see if the vendors drivers have been installed on the users machine, and locate the firmware pattern from there. If the vendors drivers have not been installed, or the user does not wish to install them, or no vendors drivers are available for the users platform (i.e. Linux), then oeminst will also attempt to locate the Spyder 2 installation CDROM, and make use of the firmware pattern from there.
If the instrument firmware pattern is successfully located, then oeminst will create a spyd2PLD.bin file in a subdirectory of the users home directory, or if the -S l option is used, will store it in a system wide location. (the XDG Base Directory specifications are used as a basis for storing the file). Programs that access instruments such as spotread, dispcal and dispread, can then locate and load the firmware into the instrument.
Note that the spyd2PLD.bin file created by oeminst contains the proprietary and copyrighted firmware provided by the instrument vendor, and while the vendor has provided the firmware to the end user to facilitate the use of their purchased instrument, the instrument vendor (typically) does not permit the user to distribute such a file or make copies for purposes other than making use of their own instrument.

The Spyder 4 instrument does not have the full range of vendor instrument calibration options without the presence of the instrument vendors calibration information for the device. This calibration information is not provided with Argyll, since it has not been made available under a compatible license.
The purchaser of a Spyder 4 instrument should have received a copy of this calibration information along with their instrument from the original vendor, and oeminst enables the full range of calibration choice for their instrument, by locating the necessary information in the users copy of the instrument install files.

On Microsoft Windows or Apple OS X platforms, oeminst will look to see if the vendors drivers have been installed on the users machine, and locate the calibration information from there. If the vendors drivers have not been installed, or the user does not wish to install them, or no vendors drivers are available for the users platform (i.e. Linux), then oeminst will also attempt to locate the Spyder 4 installation CDROM, and make use of the calibration information from there.

The i1d3 family of instruments can make use of display specific spectral calibration information, which improves their accuracy when used on displays of a similar type. The manufacturer provides 5 of these .edr calibration files that cover various projectors and LCD displays with the instrument on the install CD. The oeminst utility allows you to translate these files into Argyll CCSS format, and install them where the measurement tools can automatically find them, so that they can be selected using the -y option.
Also provided with Argyll in the ref directory is CRT.ccss to cover CRT type displays. oeminst allows this file to be installed too.
On Microsoft Windows or Apple OS X platforms, oeminst will look to see if the manufacturers files have been installed on the users machine, and locate them from there. If the manufacturers files have not been installed, or the user does not wish to install them, or no manufacturers installation is available for the users platform (i.e. Linux), then oeminst will also attempt to locate the i1d3 installation CDROM, and make use of the .edr files from there.
If the .edr files are successfully located, then oeminst will translate them to .ccss files and copy them into a subdirectory of the users home directory, or if the -S l option is used, will store it in a system wide location. (the XDG Base Directory specifications are used as a basis for storing the file). Programs that access instruments such as spotread, dispcal and dispread, can then locate and list the installed .ccss as possible choices for the -y option.
You can also install CCSS and CCMX files that you have created using ccxxmake, and these will then be listed and selected as a display type selection using the -y option of the utilities that access colorimeter devices. Note that CCMX selections will only show up for the colorimeter model that they were created for.
If you are going to use the same CCSS or CCMX file all the time, then you may want to set the ARGYLL_COLMTER_CAL_SPEC_SET environment variable.
To allow oeminst to install files from the CDROM, it should be in a CD drive prior to running oeminst. If your Linux system is not running automount, or your automount is setup to mount CDROM's somewhere other than /media, /mnt/cdrom, /media/cdrom or /cdrom, then you will have to mount the CDROM manually, and give oeminst the path to the CDROM setup/setup.exe file as the argument inputfile.
NOTE that under OS X 10.6 (Snow Leopard) and latter, you may need to run oeminst as root to be able to mount the CDROM's ISO partition. The simplest way of doing this is to use the "sudo" commands. e.g. "sudo oeminst", which will then ask you to enter the root password.