# Installing the software on Apple OS X

You will need to unpack the downloaded file in the location you have chosen to hold the executable files. Typically this might be in /usr/bin, or perhaps $HOME/bin/.
You can unpack it by control-click on the downloaded file and “Open With” BOMArchiveHelper or Archive Utility. Drag the resulting folder to where you want it, e.g. into your home folder (/Users/usrnam where usrnam is your username).
Alternatively you can unpack it on the command line using the command tar -zxf archivename.tgz, which will create a directory Argyll_VX.X.X, where X.X.X is the version number, and the executables will be in Argyll_VX.X.X/bin.
Open a Terminal shell. This will be in Applications->Utilities->Terminal (Dragging it to the dock is a good idea to make it more accessible).
You will have to configure your $PATH environment variable to give access to the executables from your command line environment, by editing your .profile file.
You can do this using a graphical editor, by using the open command:
~$open .profile
or by using some other editor, such as vi.
And add the following line to your .path file
PATH=$PATH:$HOME/Argyll_V1.1.1/bin
If you are unfamiliar with how to do this, consult an appropriate tutorial, e.g. <ShellIntro>. The .tgz file also contains several useful reference files (such as scanner chart recognition templates, sample illumination spectrum etc.) in the ref sub-directory, as well as all the current documentation in a doc sub-directory.
For most devices there is nothing special to do. Plug in and go. Some devices may not work without some extra help though:

### X-Rite ColorMunki

Some version of X-Rite's ColorMunki drivers released between 2009 and 2011 install an X-Rite daemon that runs as root and grabs the device, preventing any other programs (such as Argyll) from opening them. Latter versions seem to be more cooperative, and don't suffer from this problem. There are three ways of working around this problem:
1) Turn off the X-Rite service for the ColorMunki. See <http://www.xrite.com/product_overview.aspx?ID=1161&Action=support&SupportID=4980>.
2) Run all Argyll programs that need to access the instrument as root. For instance:
sudo spotread
and then you will be asked for the root password.
While these methods will work, they are incovenient.
3) Alter the X-Rite drivers Daeomon so that it runs under your user account.
To do this you need to edit the script that controls the X-Rite Daemon.
cd ~
whoami
cp /Library/LaunchDaemons/com.xrite.device.colormunki.plist temp.plist
open temp.plist
and add one child below the root:
Item Type Value
UserName string myusername
where "myusername" is your username shown by whoami, and save the file. You then need to copy the modified file back:
sudo cp temp.plist /Library/LaunchDaemons/com.xrite.device.colormunki.plist
You will then need to restart the machine for this change to take effect, or invoke the following commands:
sudo launchctl unload /Library/LaunchDaemons/com.xrite.device.colormunki.plist
sudo launchctl load /Library/LaunchDaemons/com.xrite.device.colormunki.plist
NOTE that after running Argyll tools, you may have to turn the X-Rite service off then on again, or disconnect and reconnect the instrument.

### X-Rite EyeOne Pro

Some version of X-Rite's EyeOne Pro drivers drivers released between 2009 and 2011 install an X-Rite daemon that runs as root and grabs the device, preventing any other programs (such as Argyll) from opening them. Latter versions seem to be more cooperative, and don't suffer from this problem. There are three ways of working around this problem:
1) Turn off the X-Rite service for the EyeOne Pro. See <http://www.xrite.com/product_overview.aspx?ID=1161&Action=support&SupportID=4980>.
2) Run all Argyll programs that need to access the instrument as root. For instance:
sudo spotread
and then you will be asked for the root password.
While these methods will work, they are incovenient.
3) Alter the X-Rite drivers Daeomon so that it runs under your user account.
To do this you need to edit the script that controls the X-Rite Daemon.
cd ~
whoami
cp /Library/LaunchDaemons/com.xrite.device.i1.plist temp.plist
open temp.plist
and add one child below the root:
Item Type Value
UserName string myusername
where "myusername" is your username shown by whoami, and save the file. You then need to copy the modified file back:
sudo cp temp.plist /Library/LaunchDaemons/com.xrite.device.i1.plist
You will then need to restart the machine for this change to take effect, or invoke the following commands:
sudo launchctl unload /Library/LaunchDaemons/com.xrite.device.i1.plist
sudo launchctl load /Library/LaunchDaemons/com.xrite.device.i1.plist
NOTE that after running Argyll tools, you may have to turn the X-Rite service off then on again, or disconnect and reconnect the instrument.

### HCFR Colorimeter

The default OS X class drivers will grab this device, preventing Argyll from accessing it. To overcome this, you need to install a codeless kernel extension if you wish to use the HCFR colorimeter, that prevents this from happening. From the command line you need to create a directory called Argyll.kext somewhere convenient, and then place in it one file called Info.plist, containing the following:
----------------- cut here ---------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key> <string>English</string>
<key>CFBundleGetInfoString</key> <string>Libusb USB device Shield</string>
<key>CFBundleIdentifier</key> <string>com.libusb.USB_Shield</string>
<key>CFBundleInfoDictionaryVersion</key> <string>6.0</string>
<key>CFBundleName</key> <string>Libusb USB device Shield</string>
<key>CFBundlePackageType</key> <string>KEXT</string>
<key>CFBundleSignature</key> <string>????</string>
<key>CFBundleVersion</key> <string>6.0</string>
<key>IOKitPersonalities</key>
<dict>
<key>HCFR</key>
<dict>
<key>CFBundleIdentifier</key> <string>com.apple.driver.AppleUSBComposite</string>
<key>IOClass</key> <string>AppleUSBComposite</string>
<key>IOProviderClass</key> <string>IOUSBDevice</string>
<key>idVendor</key> <integer>1243</integer>
<key>idProduct</key> <integer>91</integer>
</dict>
</dict>
<key>OSBundleCompatibleVersion</key> <string>1.8</string>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.kernel.iokit</key> <string>6.0</string>
</dict>
</dict>
</plist>
----------------- cut here ---------------------
(You can also copy this from the source installation in libusb1/Argyll.kext)
You then need to install it by using:
sudo cp -R Argyll.kext /System/Library/Extensions
supplying the appropriate root password when prompted.
Reboot the system to activate the extension.