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 usb/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.