DisplayCAL Changelog

What's new in DisplayCAL 3.8.9.3

Dec 15, 2019
  • Cosmetic UI Improve PCS to device gamut outline plot.

New in DisplayCAL 3.8.9.2 (Dec 13, 2019)

  • When previous instance was force quit, override leftover lockfile.
  • When using a custom profiling testchart with very few or no dark RGB gray patches, try to better maintain slope of existing points during shaper curve generation.

New in DisplayCAL 3.8.9.1 (Dec 8, 2019)

  • Enhancement: Show the instrument serial number (if available) when prompting to physically interact with the instrument.
  • Enhancement: Check SpyderX dark offset calibration and abort if it is too high (user error).
  • Enhancement: Adjust perceptual device to PCS table black point to match perceptual PCS to device table.
  • Enhancement: Warn during automatic output levels detection if the display device input range or graphics driver output range look to be misconfigured.
  • Enhancement: Profile loader (Windows): Use an alternate method to enforce single instance if local IPC is blocked.
  • Tone response curve plot now uses the illuminant-relative profile whitepoint instead of D50 for input values if using absolute colorimetric intent.
  • Rename “LG OLED” (.dcl) 3D LUT format to “DeviceControl” and unlock available resolutions.

New in DisplayCAL 3.8.9.0 (Dec 7, 2019)

  • Changed in this release:
  • Enhancement Show the instrument serial number (if available) when prompting to physically interact with the instrument.
  • Enhancement Check SpyderX dark offset calibration and abort if it is too high (user error).
  • Enhancement Adjust perceptual device to PCS table black point to match perceptual PCS to device table.
  • Enhancement Warn during automatic output levels detection if the display device input range or graphics driver output range look to be misconfigured.
  • Enhancement Profile loader (Windows): Use an alternate method to enforce single instance if local IPC is blocked.
  • Tone response curve plot now uses the illuminant-relative profile whitepoint instead of D50 for input values if using absolute colorimetric intent.
  • Rename “LG OLED” (.dcl) 3D LUT format to “DeviceControl” and unlock available resolutions.
  • Fixed in this release:
  • Trivial Reload current calibration when cancelling profile installation (regression of a change to profile installation dialog handling in DisplayCAL 3.8.8, SVN revision r6252).
  • Trivial When loading settings from a profile, restore unused CIECAM02 viewing conditions (if applicable).
  • Trivial Prevent potential double prompt for instrument calibration.
  • Cosmetic Do not re-use logfiles for standalone tools as long as other instances are still running.
  • Moderate Linux: Failure to launch with pre-release versions of wxPython 4.

New in DisplayCAL 3.8.8.0 (Nov 7, 2019)

  • Changed in this release:
  • Enhancement Detect and warn about malformed colorimeter corrections (e.g. from non-official sources). Move them to the trash automatically if they were previously (manually) installed.
  • Enhancement Always enumerate instruments on application startup if more than one instrument was detected the last time the application was used (cross-platform consistency).
  • Enhancement When prompting for instrument calibration, display the just now detected instrument name instead of the previously enumerated name (the latter might be stale if you forgot to refresh after changing connected instruments).
  • Enhancement Use a slightly improved smoothing method when creating high resolution PCS to device tables.
  • Enhancement Increase automatic PCS to device table resolution for L*a*b* LUT profiles to 45x45x45 if using smoothing.
  • Enhancement UI Only auto-close profile/3D LUT installation dialog after a successful installation.
  • Enhancement Don't auto-close madTPG after 3D LUT installation.
  • Enhancement macOS: Warn if a black luminance calibration target is set.
  • Enhancement Profile loader (Windows): Use a minimally faster method to check for other running applications.
  • Fixed in this release:
  • Minor madVR 3D LUT generation: Always write D65 white to 3D LUT input primaries metadata so madVR does not attempt to correct whitepoint differences on its own when using a custom whitepoint (the 3D LUT itself will map the custom whitepoint correctly).
  • Minor madVR 3D LUT installation: Don't attempt to install 3D LUTs with unsupported input primaries metadata (i.e. not Rec. 709, SMPTE C, EBU/PAL, Rec. 2020 or DCI P3) as madVR will overwrite the metadata depending on the 3D LUT install slot. Such 3D LUTs should only be assigned manually in madVR instead.
  • Trivial UI When loading settings, always enable the 3D LUT tab if the display is virtual (consistent with display selection behavior).
  • Trivial Also apply black point correction when creating a matrix profile without black point compensation (consistency).
  • Trivial Do not create swapped matrix fallback tags for XYZ LUT profiles when using the alternate forward profiler and the used ArgyllCMS version is >= 2.1 (be consistent with ArgyllCMS).
  • Trivial madVR 3D LUT generation: Accept negative values for input primaries metadata.
  • Trivial madVR 3D LUT installation (Linux, macOS): Send the 3D LUT in chunks and increase the timeout to prevent the installation failing over a slow network (e.g. WiFi).
  • Cosmetic UI Profile loader (Windows): Prevent a stale tray icon remaining (until mouse over) in some rare cases after exiting the profile loader.
  • Trivial Profile loader (Windows 7): Skip incomplete display configuration registry entries.

New in DisplayCAL 3.8.7.1 (Oct 2, 2019)

  • Fixed in this release:
  • Trivial UI Profile information (Linux): When using wxPython 3.0 instead of 4.0, clicking the sash would throw an error (using wxPython 3.0 is deprecated).
  • Trivial macOS: Only automatically re-enable black point compensation if restoring defaults or loading a non-3D-LUT preset.
  • Trivial Profile loader (Windows): Work-around two instances of the profile loader being started after powering on the system if fast startup was enabled in Windows power settings.

New in DisplayCAL 3.8.7.0 (Sep 22, 2019)

  • Enhancement Profile loader (Windows): A scheduled task now restarts the profile loader after resume from standby/hibernation as well as daily at 04:00 AM (whichever comes first), to mitigate the Windows GDI SetDeviceGammaRamp API leaking memory since Windows 10 1903.
  • Fixed in this release:
  • Trivial Don't automatically disable interactive display adjustment when setting calibration tone curve to “As measured” (unintended behavioral change introduced in DisplayCAL 3.8.6, SVN revision r6194).
  • Minor Linux (GNOME on Wayland): Latency incurred by a large measurement window size was not accounted for, introducing the possibility of measurements failing due to loss of synchronization.

New in DisplayCAL 3.8.6.0 (Sep 6, 2019)

  • Changed in this release:
  • Enhancement If the graphics drivers or hardware do not support loadable gamma ramps or calibration, show a more descriptive error message.
  • Enhancement Increase the timeout for display & instrument detection during application startup from 10 to 20 seconds, to allow for slow opening of legacy serial ports.
  • Enhancement Windows 10 1903: Always do instrument detection during application startup if more than one instrument was connected the last time the application was used, as the list of instruments is not guaranteed to be consistent between sessions under 1903.
  • Enhancement Profile loader (Windows): Apply smoothing to calibration if the quantization bitdepth is set to 8.
  • Enhancement Profile loader (Windows): No longer require running elevated to be able to detect changes in the display configuration under Windows 10 1903.
  • Fixed in this release:
  • Minor Do not attempt to access properties of non-existent objects if a subprocess is not succesfully terminated after reaching a timeout during display & instrument detection at application startup (unexpected failure).
  • Trivial UI Disable the profile installation button if no displays have been detected.
  • Trivial UI Disable the measurement report menu item if no instruments have been detected.
  • Trivial Profile loader (Windows): Work around Windows 10 1903 handle leaks in Windows Color System APIs.

New in DisplayCAL 3.8.5.0 (Aug 14, 2019)

  • Fixed in this release:
  • Moderate DisplayCAL 3.8.4 broke video levels (16..235) output encoding/decoding for video card gamma table tags (profiles using calibration with video output levels created by 3.8.4 can be fixed by re-creating via menu “File”, “Create profile from measurement data...” and selecting the existing profile).

New in DisplayCAL 3.8.4.0 (Aug 11, 2019)

  • Enhancements:
  • Do early detection of highly non-monotonic luminance responses when doing on-the-fly generation of the preconditioning profile for auto-optimized testcharts with 425 or more patches.
  • Always create a single shaper curve for the fallback matrix tags of cLUT profiles with nonlinear calibration.
  • Profile loader (Windows): Only try to restore profile associations on exit if they had to be fixed on launch to begin with.
  • Fixed in this release:
  • Minor Work-around Argyll applycal bug with gamma value TRC curve tags in profiles (fixes generating HDR 3D LUTs from display profiles with such tags).
  • Trivial UI Windows with display scaling above 100% (HiDPI): Prevent occasional text cutoff/wrapping issues on dialog messages by adding one pixel to the minimum width of the message text area (wxWidgets bug).

New in DisplayCAL 3.8.3.0 (Jul 3, 2019)

  • Changed in this release:
  • Profile loader (Windows): Work around Windows 10 1903 (May 2019 update) severe banding bug and automatically disable Microsoft Windows Color System Calibration Loader task. Logging out and back in is required, and may be required each time a display's default associated profile is changed.
  • Fixed in this release:
  • Minor Verification: Prevent unintended mixing of unicode and binary strings when a device link profile is used.
  • Cosmetic UI Linux (KDE): Centering the measurement window would increase its size slightly and resetting its size would move the window down and right (regression of SVN revision r6137).

New in DisplayCAL 3.8.2.0 (Jun 9, 2019)

  • Enhancement Always try to skip initial colorimeter calibration for uniformity measurements (e.g. SpyderX).
  • Enhancement Linux: Use GObject Introspection for DBus access (if available).
  • Enhancement Linux: Use a default timeout of 500 ms for DBus calls.
  • Enhancement Profile loader (Windows): If registry access to the display configuration fails (e.g. due to running non-elevated), log a warning only once.
  • Windows: Only log Windows exceptions that are actually errors.
  • Fixed in this release:
  • Minor If invoked from the main application's “Tools” menu, the synthetic ICC profile creator HDR configuration could affect the main application's 3D LUT HDR configuration.
  • Minor Successive requested instrument calibration during uniformity measurements did not wait for the calibration to complete before continuing (e.g. SpyderX).
  • Trivial Prevent potential blocking of socket binding if a previous instance exited unexpectedly.
  • Trivial UI Change parent inheritance for pathdialog wrappers so interacting with the parent is appropriately prevented when the wrapper dialog is shown via a scripting request.
  • Trivial UI Linux: Always prefer the global DPI value (Xft.dpi) for HiDPI scaling with wxGTK2.
  • Trivial UI Windows: Work-around wxPython Phoenix bug: Destroying a frame loaded from XRC affects subsequently loaded XRC resources (leading to instantiated controls being of the wrong type and failing initialization due to not having the expected interfaces).

New in DisplayCAL 3.7.2.0 (Mar 18, 2019)

  • Added in this release:
  • UI Russian and ukrainian localization (thanks to Alex Sikorsky).
  • Changed in this release:
  • Enhancement Apply black point correction/compensation to measurement data directly instead of device-to-PCS table (improves smoothness of profiles for displays with not very neutral black).
  • Enhancement Optimize single gamma curve without offset to single gamma value.
  • Enhancement Network: Get rid of gethostbyname usage because it can have a long delay.
  • UI Updated traditional chinese localization (thanks to 楊添明).
  • Fixed in this release:
  • Minor Fallback TRC tags were created using a wrong backward matrix when using ArgyllCMS 2.0.2b or newer.
  • Trivial When connecting to a pattern generator, closing the connection dialog should be equivalent to cancelling.
  • Cosmetic UI Show a dialog while the UI is blocked when connecting to madTPG.
  • Cosmetic UI Do not show the visual whitepoint editor fullscreen warning if using a pattern generator.
  • Cosmetic UI Synthetic ICC creator: Set chromatic adaptation up/down arrow increment to 0.0001.
  • Cosmetic UI Synthetic ICC creator: Hide (unused) hue & saturation controls for SMPTE 2084 hard clip.

New in DisplayCAL 3.7.1.4 (Jan 24, 2019)

  • Changed in this release:
  • Enhancement Changed full field pattern insertion interval and duration granularity to 0.1 seconds.
  • Enhancement Store and read full field pattern insertion parameters from profile.
  • Enhancement madVR (Windows): Search on the network before trying to start a local madTPG instance.
  • Fixed in this release:
  • Minor Full field pattern insertion should not run during display update delay measurements and requires an extra delay after being shown.
  • cosmetic UI Include full field pattern insertion in estimated measurement time calculation.
  • Minor Profile loader (Windows): Undefined variable under legacy versions of Windows (i.e. XP) when selecting the profile associations popup menu item.

New in DisplayCAL 3.7.1.3 (Dec 3, 2018)

  • Fixed in this release:
  • Minor: UnicodeError when trying to access 3rd-party ICC v4 profiles MultiLocalizedUnicodeType tags with non-US/UK country code(s) for english language.
  • Minor Profile loader (Windows): Work-around an incompatibility with Wacom tablets (tray icon right-click popup menu didn't work).
  • Minor macOS: Creating a colorimeter correction didn't work if the display manufacturer couldn't be determined automatically (regression of autocomplete change in DisplayCAL 3.7 due to undocumented wxPython incompatibility).

New in DisplayCAL 3.7.1.0 (Nov 2, 2018)

  • Changed in this release:
  • Enhancement Measurement report: Updated Fogra Media Wedge V3 evaluation criteria to ISO 12647-7:2016 version of the standard (use ΔE*00 and ΔCh for CMY gray).
  • Enhancement Measurement report: Moved ΔICtCp to general evaluation criteria so it can be shown in the additional statistics for all available criteria.
  • Enhancement Updated simplified chinese translation (thanks to Mars).
  • Enhancement Full field pattern insertion: Support the latest ArgyllCMS 2.0.2 Beta development code.
  • Enhancement UI Consistency: When changing the verification chart, set the simulate whitepoint relative to display profile whitepoint option according to the simulation profile (just as when changing the simuation profile itself) and don't reset the simulate whitepoint option when changing the simulation profile.
  • Cosmetic Automatically fall back to the default verification chart if the selected one no longer exists (due to the chart file having been moved or deleted).
  • Cosmetic Detect highly non-monotonic luminance responses when creating shaper curves (intended to let creating a profile from highly non-monotonic measurements fail just as before, but with a nicer, more descriptive error message instead of the raw exception from the underlying fitting function).
  • Cosmetic When creating a profile fails and results in an error dialog, do not show the superfluous additional “profiling not finished” message.
  • Fixed in this release:
  • Minor Restored the ability to create colorimeter corrections for virtual displays, which was accidentally removed in DisplayCAL 3.7.
  • Trivial madVR (Linux, macOS): Querying the madVR configured black & white level didn't work via the madVR network protocol.
  • Cosmetic madVR (Linux, macOS, Windows when using pattern insertion): Prevent lingering madTPG OSD messages.
  • Cosmetic UI macOS: Incorrect rendering of splash screen under macOS 10.14 Mojave.

New in DisplayCAL 3.6.2.0 (Aug 26, 2018)

  • Added in this release:
  • Feature Measurement report: ICtCp and ΔICtCp color distance metric.
  • Changed in this release:
  • Enhancement Show report type in self check report.
  • Enhancement Add actual display profile description to self check report if a simulation profile is used as display profile.
  • Enhancement Use the same method to create HDR 3D LUTs whether the display profile is cLUT or matrix based.
  • Enhancement Verification: Do not automatically enable “Simulate whitepoint relative to display profile whitepoint” if the verification chart does not contain L*a*b* reference data.
  • Enhancement Measurement and self check report: Only automatically enable the use of absolute values when simulating the reference whitepoint if no simulation profile was used.
  • Enhancement macOS: On Apple computers with integrated displays (i.e. iMac/MacBook), use the model identifier (e.g. “MacBookPro15,2”) instead of the generic “Color LCD” as display name and add the model description (e.g. “MacBook Pro (Mid 2018)”) when creating colorimeter corrections, to ease identification.
  • Fixed in this release:
  • Minor 3D LUT/verification with a display profile that has a black level of zero, but embedded characterization data black level above zero: Black offset also needs to be applied if not using BT.1886 for correct results.
  • Minor When generating high resolution PCS to device tables during HDR 3D LUT creation, use the configured resolution even if low quality PCS to device tables were generated when creating the profile.

New in DisplayCAL 3.5.2.0 (Apr 2, 2018)

  • Prevent potential “service/proto not found” error due to unreliable system APIs when attempting to automatically download updates or vendor files.
  • Use bundled certificate authority (CA) certificates to circumvent potentially outdated system certificates under older versions of Windows.

New in DisplayCAL 3.5.1.0 (Mar 19, 2018)

  • Added in this release:
  • Feature Rudimentary support for WCS Color Device Model profiles (only description, author, white- & blackpoint, gamma, parametric curve, and matrix tags are recognized and mapped to appropriate ICCv2 types).
  • Changed in this release:
  • UI Updated traditional chinese localization (thanks to ???).
  • Enhancement Update bundled vendor PNP ID database.
  • Enhancement Linux: Use SDL (Simple DirectMedia Layer) directly.
  • Fixed in this release:
  • Minor Work around Python issue #738361 (shell pattern compilation fails raising an unhandled exception if a path contains certain combinations of meta characters).
  • Minor Measurement report: Deal with quantization when creating the report (fixes error when using video output levels in combination with some display profiles).
  • Minor Profile loader (Windows): Display a proper error message when associating an invalid profile.
  • Minor Profile loader (Windows): In case of an invalid profile (e.g. damaged file), fall back to linear gamma ramps instead of using the previously cached ramps and change the tray icon to reflect this.
  • Minor Profile loader (Windows): Ignore potential stray WM_COMMAND messages caused by 3rd party application interference.
  • Minor Bump minimum required wxPython version to 3.0 (fixes a compatibility problem under Linux if wxPython 2.8 was installed).
  • Cosmetic Refresh output levels control when loading settings.

New in DisplayCAL 3.3.5.0 (Oct 19, 2017)

  • Enhancement Updated french localization (thanks to Jean-Luc Coulon).
  • Enhancement When generating high resolution PCS to device tables for XYZ LUT profiles, round PCS candidate “fit” so a good match is not potentially needlessly discarded in favor of a match with lower effective usage of the available lookup table grid points (may speed up the process as well).
  • Enhancement Use single curve detection based on calibration accuracy for shaper tags of XYZ LUT profiles as well.
  • Fixed in this release:
  • Minor When enabling the Spyder2, check if the spyd2PLD.bin firmware has actually been successfully extracted (taking into account the install scope) and fall back to alternate methods when using automatic mode if the firmware cannot be extracted from the vendor software present in the local filesystem (fixes inability to enable the Spyder2 under Mac OS X if the vendor software is installed).
  • Minor Windows: Make measurement report filename safe for filesystem encoding (works around encoding quirks with certain locales).
  • Minor Windows: Windows silently strips any combination of trailing spaces and dots in file and folder names, so do the same for the profile name.
  • Minor Profile loader (Windows): WCS can return no profile without error in some situations, but the no error case wasn't accounted for, resulting in an unhandled exception in that case.
  • Minor Profile loader (Windows): Get the process identifier before enumerating windows to prevent an unhandled exception if a madVR instance is already running before starting the profile loader.
  • Cosmetic Profile loader (Windows): Detect if the current display profile video card gamma table tag contains linear calibration when checking if madVR did reset the video card gamma table to linear to prevent the profile loader alternating between enabled and disabled state if using windowed overlay in madVR.

New in DisplayCAL 3.3.4.0 (Sep 11, 2017)

  • Changed in this release:
  • Enhancement More even and consistent CPU utilization on multi CPU/multi core systems during high resolution device-to-PCS table generation.
  • Enhancement Multi-threaded gamut view calculation.
  • Enhancement Use an alternate way to generate the matrix for profiles created from the small testchart for matrix profiles (may improve accuracy on very linear displays) and use an optimized tone response curve if using a single curve and the measured response is a good match to an idealized parametric or standardized tone response curve.
  • Enhancement Uniformity report: No longer include (meaningless) correlated/closest color temperature. Use “traffic light” visual indicators in conjunction with unambiguous pass/fail messages to allow easy at-a-glance assessment of the results, and also include contrast ratio deviation to fully conform to ISO 12646:2015 and 14861:2015. You can update old reports via “Update measurement or uniformity report...” in the “Report” sub-menu of the “Tools” menu.
  • Enhancement Measurement report: Use the display profile whitepoint as reference white for the measured vs. profile white delta E calculation and use the assumed target whitepoint as reference white for the measured vs. assumed white delta E calculation to make the reported delta E more meaningful.
  • Enhancement Measurement report: Allow to use the display profile whitepoint as reference white when using absolute (not D50 adapted) values.
  • Enhancement Profile installation (Linux): Always do fallback colord profile installation using colormgr if available unless the ARGYLL_USE_COLORD environment variable is set.
  • Enhancement Profile loader (Linux): Include the profile source (colord or Argyll's UCMM) in diagnostic output and use the XrandR device ID as fallback when no EDID is available.
  • Enhancement Profile loader (Windows): Slightly improve encoding accuracy of quantizing to 8 < n < 16 bits.
  • Trivial Offer the complete range of input encodings for the eeColor 3D LUT format and do not force an identical output encoding.
  • Trivial Do not store calibration settings in a profile if calibration is disabled.
  • Trivial Revert the default profile type for the 79 patches auto-optimized testchart slider step to XYZ LUT + matrix.
  • Trivial Iridas cube 3D LUTs: Increase compatibility by stripping leading whitespace from text lines and adding DOMAIN_MIN/MAX keywords if missing.
  • Trivial Measurement report: Calculate true combined a*b* range for grayscale instead of summing separate ranges.
  • Trivial Measurement report: Automatically enable “Use absolute values” if using full whitepoint simulation (i.e. not relative to display profile whitepoint).
  • Fixed in this release:
  • Moderate When cancelling profiling measurements with the testchart set to “Auto”, the testchart UI and the internal test chart setting were no longer in sync until changing the profile type or restarting the application.
  • Moderate Synthetic ICC profile creator: Unhandled exception when trying to create DICOM (regression of a change in DisplayCAL 3.1.5, SVN revision r4020) or SMPTE 2084 profiles (regression of multiprocessing changes in DisplayCAL 3.3).
  • Minor Protect against potentially clipping slightly above black values during high resolution device-to-PCS table generation (regression of a change in DisplayCAL 3.3.3, SVN revision r4705).
  • Minor Protect against enumerating displays and ports in response to a DISPLAY_CHANGED event when the main window isn't shown or isn't enabled which could lead to a hang due to a race condition.
  • Minor Verification using a simulation profile that defines an identity matrix in its 'chad' tag (e.g. ISOnewspaperv4) did not work correctly due to the matrix being mapped to “None” insatead of “XYZ scaling”.
  • Minor Verification using a CMYK simulation profile failed with a “Profile invalid” error if previously “Use simulation profile as display profile” and “Device link profile” were enabled but no device link profile selected.
  • Minor Remove separate videoLUT access support under Windows and Mac OS X (separate videoLUT access is only supported under X11).
  • Minor Downloaded files were not renamed from their temporary name if the server did not return a Content-Length header (this typically only happens for text files, not binary files). Fixes not being able to import colorimeter corrections from iColor Display.
  • Trivial Do not reflect the black point hue in tone response curves of single curve + matrix profiles when not using black point compensation.
  • Trivial Measurement report: Additional stats median calculation index was off by n+1.
  • Cosmetic Display model name and manufacturer description tags were missing from profiles created using the alternate forward profiler.
  • Cosmetic Measurement report: Eliminate “Use absolute values” having a side-effect on the RGB patches preview.
  • Cosmetic Windows: When closing some of the standalone tools when minimized, e.g. by right-clicking the taskbar button and choosing “Close” from the menu, or by using the taskbar preview close button, the application did not close until restored from its minified state (i.e. by clicking on the taskbar button or switching to it with the task switcher).

New in DisplayCAL 3.3.3.0 (Aug 9, 2017)

  • Added in this release:
  • Intermediate auto-optimized testchart step with 115 patches.
  • Changed in this release:
  • UI Cosmetic Verification tab: Always show advanced tone response curve options when “Show advanced options” is enabled in the “Options” menu.
  • UI Trivial Verification tab: Don't reset the simulation profile tone response curve choice unless changing the simulation profile.
  • Enhancement Trivial When encountering an invalid peak white reading during output levels detection, advise to check if the instrument sensor is blocked.
  • Enhancement Visual whitepoint editor: Use whitepoint of currently selected profile (unless it's a preset or “<Current>”) instead of associated display profile.
  • Enhancement Blend profile black point to a*b* = 0 by default. This makes the visual appearance of black and near black response in Photoshop (which uses relative colorimetric intent with black point compensation for display by default) match the DisplayCAL perceptual table of XYZ LUT profiles (which means neutral hues gradually blend over to the display black point hue relatively close to black. The rate of this blend and black point hue correction are influenced by the respective calibration settings, which is another added benefit of this change).
  • Enhancement Measurement & uniformity report: Change average delta a, b, L, C, and H to be calculated from absolute values.
  • Enhancement Profile loader (Windows): Don't implicitly reset the video card gamma table to linear if no profile is assigned or couldn't be determined. Show an orange-red error icon in the latter case and display details in the left-click notification popup.
  • Cosmetic Windows: Log errors when trying to determine the active display device during profile installation.
  • Fixed in this release:
  • UI Cosmetic Verification tab: Don't accidentally enable the simulation profile tone response curve black output offset (100%) radio button when switching tabs.
  • Trivial Show error dialog if not able to connect to instrument for single reading.
  • Minor Strip the “firmware missing” message from the Spyder2 instrument name if it was not yet enabled (makes the automatic popup to enable the Spyder2 work).
  • Minor Prisma 3D LUT upload with 1.07 firmware.
  • Minor More accurately encode the black point in the colorimetric PCS to device table by explicitly clipping below black values to zero.

New in DisplayCAL 3.3.2.0 (Aug 2, 2017)

  • Added in this release:
  • IPT and Lpt color spaces (profile information 2D and 3D gamut view, testchart editor 3D view).
  • ACEScg and DCDM X'Y'Z' source profiles.
  • Changed in this release:
  • Enhancement Changed HDR 3D LUT SMPTE 2084 roll-off colorimetric rendering to do gamut mapping in ICtCp (slightly improved hue and saturation preservation of bright saturated colors).
  • Trivial Include output levels detection related files in session archives.
  • Fixed in this release:
  • Moderate Unhandled exception when trying to set a white or black level target on the calibration tab via the newly introduced measurement buttons (regression of a change in DisplayCAL 3.3.x, SVN revision r4557).
  • Moderate Black point compensation for cLUT-type profiles in the advanced options did not work correctly (regression of a change in DisplayCAL 3.3.x, SVN revision r4538).
  • Moderate Unhandled exception when creating L*a*b* LUT profiles (regression of multiprocessing changes in DisplayCAL 3.3.x, SVN revision r4433). Note that creating L*a*b* LUT profiles is not recommended due to the limited ICC encoding range (not suitable for wide-gamut) and lower accuracy and smoothness compared to XYZ LUT.
  • Minor Output levels detection and alternate forward profiler were not working when using output levels quantization via additional dispread command line option -Z nbits.
  • Minor Do not create shaper curves for gamma + matrix profiles.
  • Minor Don't fall back to colorimetric rendering for HDR 3D LUT SMPTE 2084 roll-off when using luminance matched appearance or luminance preserving perceptual appearance rendering intents.
  • Trivial DIN99c and DIN99d white point misalignment (profile information 2D and 3D gamut view, testchart editor 3D view).
  • UI Cosmetic Change info panel text to use system text color instead of defaulting to black.
  • Minor Linux (0install): Prevent system-installed protobuf package shadowing 0install implementation.

New in DisplayCAL 3.3.1 (Aug 2, 2017)

  • Fixed in this release:
  • Unhandled exception if using CIECAM02 gamut mapping when creating XYZ LUT profiles from regularly spaced grid patch sets with the alternate forward profiling method introduced in DisplayCAL 3.3.

New in DisplayCAL 3.3 (Aug 2, 2017)

  • Added in this release:
  • Profiling engine enhancements:
  • Feature Better multi CPU/multi core support. Generating high resolution PCS-to-device tables is now taking more advantage of multiple (physical or logical) processors (typical 2x speedup on a i7 6700K CPU).
  • Enhancement Generating a simple high resolution perceptual table is now done by copying the colorimetric table and only generating new input curves. This markedly reduces the processing time needed to create the perceptual table (6x speedup on a i7 6700K CPU).
  • Enhancement Black point compensation now tries to maintain the whitepoint hue until closer to the black point. This makes curves + matrix profiles in the default configuration (slightly) more accurate as well as the default simple perceptual table of cLUT profiles provide a result that is closer to the colorimetric table.
  • Enhancement The curves tags of XYZ LUT + matrix profiles will now more closely match the device-to-PCS table response (improves grayscale accuracy of the curves tags and profile generation speed slightly).
  • Enhancement The curves tags of matrix profiles are further optimized for improved grayscale accuracy (possibly slightly reduced overall accuracy if a display device is not very linear).
  • Enhancement XYZ LUT profiles created from small patch sets (79 and 175 patches) with regularly spaced grids (3x3x3+49 and 5x5x5+49) now have improved accuracy due to an alternate forward profiling method that works better for very sparsely sampled data. Most presets now use 5x5x5+49 grid-based patch sets by default that provide a reduction in measurement time at about the same or in some cases even slightly better accuracy than the previously used small patch sets.
  • Enhancement Additional PCS candidate based on the actual measured primaries of the display device for generating high resolution PCS-to-device tables. This may further reduce PCS-to-device table generation time in some cases and lead to better utilization of the available cLUT grid points.
  • Feature Calibration whitepoint targets other than “As measured” will now also be used as 3D LUT whitepoint target, allowing the use of the visual whitepoint editor to set a custom whitepoint target for 3D LUTs.
  • Feature Automatically offer to change the 3D LUT rendering intent to relative colorimetric when setting the calibration whitepoint to “As measured”.
  • Feature Support for madVR's ability to send HDR metadata to the display via nVidia or Windows 10 APIs (i.e. switch a HDR capable display to HDR mode) when creating SMPTE 2084 3D LUTs. Note that you need to have profiled the display in HDR mode as well (currently only possible by manually enabling a display's HDR mode).
  • Feature Output levels selection as advanced option and automatic output levels detection. Note that this cannot detect if you're driving a display that expects full range (0..255) in limited range (16..235), but it can detect if you're driving a display that expects limited range in full range and will adjust the output levels accordingly.
  • Feature New experimental profiling patch sequence advanced options. “Minimize display response delay” is the ArgyllCMS default (same as in previous versions of DisplayCAL). “Maximize lightness difference”, “Maximize luma difference”, “Maximize RGB difference” and “Vary RGB difference” are alternate choices which are aimed at potentially dealing better with displays employing ASBL (automatic static brightness limiting) leading to distorted measurements, and should be used together with display white level drift compensation.
  • Feature Optional alternate method for creating colorimeter correction matrices that minimizes xy chromaticity difference (four color matrix method).
  • Feature The curve viewer and profile information now have the ability to plot tone response curves of RGB device link profiles.
  • Feature The white and black level calibration target can now be set by measurement.
  • Enhancement The visual whitepoint editor is now compatible with Chromecast, Web @ localhost, madVR, Prisma and Resolve pattern generators.
  • Enhancement 3D LUT generator ReShade 3.0 compatibility.
  • Feature Support calibration from WCS profiles embedded in ICC profiles (like the ones created by the Windows Display Color Calibration Tool).
  • Feature Profile loader (Windows): Detect the Windows Display Color Calibration Tool.
  • Feature Profile loader (Windows): The quantization bitdepth can now be selected.
  • Changed in this release:
  • Enhancement The visual whitepoint editor now uses the calibration of the currently active display profile as the initial whitepoint.
  • Enhancement Temporary files will no longer be removed if moving the files to the final location failed, and a non-empty temporary directory will no longer be removed on exit.
  • Enhancement Incomplete runs are now always saved to a folder named 'incomplete' in the parent directory of the 'storage' directory (previously when creating a profile from existing measurement data, a failed run could overwrite existing files in a source folder that did not reside in the 'storage' directory).
  • Enhancement Use a different (numbered) logfile name when starting additional instances of the standalone tools.
  • Enhancement When creating colorimeter correction matrices from existing spectral reference data, use the selected observer.
  • UI Hide the observer selector in the colorimeter correction creation dialog when creating a spectral colorimeter correction as observer isn't applicable in that case.
  • UI Remove the single “Browse...” button from the colorimeter correction creation dialog and add individual file pickers for reference and colorimeter measurement data files.
  • UI When creating colorimeter corrections for “virtual” display devices like madVR or Resolve, offer to specify the actual display model and manufacturer.
  • UI Use smaller increments when paging up/down the black point rate or testchart patches amount sliders.
  • Cosmetic Default whitepoint color temperature and chromaticity to 6500K and D65 respectively.
  • Cosmetic If you explicitly pause measurements prior to attempting to cancel them, and then dismiss the confirmation dialog, the measurements will no longer automatically resume (unpause) anymore.
  • Enhancement Linux: When installing instrument udev rules, backup existing rules to a timestamped backup directory ~/.local/share/DisplayCAL/backup/YYYYMMDDTHHMMSS instead of overwriting existing backups in ~/.local/share/DisplayCAL/backup, and automatically add the current user to the 'colord' group (which will be created if nonexistent) if not yet a member.
  • Cosmetic Mac OS X: Don't include ID in profile header (stops ColorSync utility from complaining).
  • Enhancement Profile loader (Windows): The selected calibration state will not be implicitly (re-)applied every three seconds, but only if a change in the running processes or video card gamma tables is detected. This has been reported to stop hitching on some systems using Intel integrated graphics, and works around an issue with the Windows 10 Creators Update and fullscreen applications (e.g. games) where the calibration state would not be restored automatically when returning to the desktop.
  • Enhancement Profile loader (Windows): The profile loader will check whether or not madVR resets the videoLUT and preserve calibration state if not.
  • UI Cosmetic Profile loader (Windows): Renamed “Preserve calibration state” menu item to “Load calibration on login & preserve calibration state” to reduce ambiguity.
  • UI Cosmetic Profile loader (Windows): The tray icon will animate when calibration is reloaded.
  • UI Cosmetic Windows 7 and newer: Show progress in the taskbar.
  • Fixed in this release:
  • Minor Prevent ArgyllCMS from removing measurements with one or two zero CIE components by fudging them to be non-zero.
  • Minor In some cases the high resolution colorimetric PCS-to-device table of XYZ LUT profiles would clip slightly more near black than expected.
  • Trivial Save and restore SMPTE 2084 content colorspace 3D LUT settings with profile.
  • UI Minor Changing the application language for the second time in the same session when a progress dialog had been shown at any point before changing the language for the first time, resulted in an unhandled exception. This error had the follow-up effect of preventing any standalone tools to be notified of the second language change.
  • UI Trivial The “Install Argyll instrument drivers” menu item in the “Tools” menu is now always enabled (previously, you would need to select the location of the ArgyllCMS executables first, which was counter-intuitive as the driver installer is separate since DisplayCAL 3.1.7).
  • UI Cosmetic When showing the main window (e.g. after measurements), the progress dialog (if present) could become overlapped by the main window instead of staying in front of it. Clicking on the progress dialog would not bring it back into the foreground.
  • UI Minor 3D LUT tab: When selecting a source colorspace with a custom gamma tone response curve, the gamma controls should be shown regardless of whether advanced options are enabled or not.
  • Trivial Testchart editor: Pasting values did not enable the “Save” button.
  • UI Minor Untethered measurement window: The “Measure” button visual state is now correctly updated when cancelling a confirmation to abort automatic measurements.
  • Minor Windows: Suppress errors related to WMI (note that this will prevent getting the display name from EDID and individual ArgyllCMS instrument driver installation).
  • UI Cosmetic Profile loader (Windows): Changing the scaling in Windows display settings would prevent further profile loader tray icon updates (this did not affect functionality).
  • Minor Profile loader (Windows): Undefined variable if launched without an active display (i.e. if launched under a user account that is currently not the active session).
  • Minor Profile loader (Windows): Original profile loader instance did not close after elevation if the current user is not an administrator.

New in DisplayCAL 3.0.4.0 (Aug 10, 2015)

  • Added in this release:
  • Ability to create 3D LUTs in PNG (Portable Network Graphic) and ReShade format. The latter allows fully color managed Direct3D (8–11.2) and OpenGL applications (e.g. games) under Windows (Vista and higher).
  • “Apply calibration (vcgt)” to 3D LUT tab as advanced option, as well as a warning when installing a 3D LUT with applied calibration for a display with non-linear videocard gamma tables.
  • Option to enable/disable the 3D LUT tab.
  • Changed in this release:
  • Speed up calculation of 3D LUTs in 3DL, MGA, and SPI3D format when using a size smaller than 65x65x65.
  • Only prompt to import colorimeter corrections from the vendor software if none is currently selected.
  • Changed uniformity measurement report criteria to follow ISO 12646:2015 and allow selection of the layout to be used. “Update measurement or uniformity report” in the “Tools” menu can now also be used to update old uniformity reports.
  • The “Install profile” button changes to “Install 3D LUT” when on the 3D LUT tab.
  • Fixed in this release:
  • “Auto” colorimeter correction setting not selecting an available correction if the display device name contained the manufacturer name.
  • When creating a 3D LUT as part of a profiling run and if the path to Argyll CMS contained non-ASCII characters, profile creation failed with an Unicode error.
  • Windows: Changing (only) the 3D LUT gamma type setting and creating a 3D LUT from an existing profile could lead to a confirmation prompt to overwrite an existing 3D LUT with a different gamma type setting, because this setting was differentiated in the 3D LUT file name with the uppercase or lowercase letter “B” (Windows has a case-insensitive file system).

New in DisplayCAL 3.0.3.1 (Aug 10, 2015)

  • Fixed in this release:
  • Make sure there are exactly 256 entries when saving the current videoLUT, otherwise dispwin will complain and not be able to load it back in. Fixes restoring current videoLUT after checking access under Linux when using a graphics card with more than 256 videoLUT entries per channel (e.g. nVidia Quadro).

New in DisplayCAL 3.0.3.0 (Jul 16, 2015)

  • Added in this release:
  • Curve viewer and profile information: Detect more known tone response curves.
  • Colorimetric observer choice as advanced calibration option for instruments that support it (i.e. spectrometers as well as i1 Display Pro, ColorMunki Display and Spyder 4/5).
  • Synthetic ICC profile creator:
  • SMPTE 2084 HDR tone response curve option.
  • Re-introduced black point compensation option.
  • Changed in this release:
  • All remaining presets now use testchart auto-optimization for best profiling accuracy. Setting the patch amount slider to 73 or 97 patches will create a simple matrix-based profile aimed at quickly profiling high quality professional displays that are often very linear and have good additive color mixing properties.
  • When saving a 3D LUT for Resolve, try to find the Resolve LUT folder automatically.
  • When saving an existing 3D LUT, pre-fill the filename field in the file dialog with the existing name instead of “Unnamed”.
  • During interactive display adjustment, allow cancelling without confirmation and don't show “Calibration has not been finished” message.
  • Removed most pre-baked testcharts.
  • Improved the help text on the “Profiling” tab.
  • Fixed in this release:
  • When creating a profile and accompanying 3D LUT (from new measurements) that overwrite existing files with the same name (popup confirmation before commencing measurements), the progress dialog was never closed automatically and the application window never re-enabled after creating the profile. This could happen if the profile name didn't contain a fine grained enough time or other component distinguishing it from the name of the existing files, e.g. when measuring and creating two or more profiles as well as accompanying 3D LUTs, for the same display, with the same settings, in a single session one after the other.
  • When switching to the “Untethered” display, the “Profile only” button wasn't shown if not already visible.
  • Verifying using a device link profile that alters (corrects) device white on a display that was not adjusted to match the target whitepoint using the display controls, showed higher than actual errors in the measurement report (device link and 3D LUT being fine regardless) due to the report not accounting for the difference of unaltered (uncorrected) device white versus altered (corrected) device white.
  • Set 3D LUT verification options for Resolve automatically after profile generation.
  • Switching from pre-baked testchart to “Auto” and back to same previous pre-baked chart didn't work (was still using “Auto” testchart).
  • When changing the calibration tone curve of an existing profile (that used 1D LUT calibration) to “As measured”, store the updated setting in newly created profiles (unless using an existing calibration).
  • After creating a 3D LUT that incorporates 1D LUT calibration and previewing this calibration on a display connected directly to the system when saving/installing the 3D LUT, restore video card gamma table to the current display profile calibration (if any) afterwards.
  • Creating colorimeter correction with non-7-bit-ASCII characters in the description.
  • Added workaround for undecodable strings in some 3rd party ICC profiles.
  • Restoring defaults from the “Options” menu no longer resets the donation popup “Do not show again” preference.
  • Cosmetic: Work-around Argyll CMS 1.7 (harmless) warning message “Spyder: Measuring refresh rate failed” when using the Spyder4/5 with measurement modes “LCD (CCFL)” or “LCD (White LED)”.
  • Synthetic ICC profile creator:
  • Very low non-zero black points (Y around 0.0015 on a 0..100 scale) were parsed as zero from existing profiles due to rounding down to the next legal 16-bit ICC profile v2 encoded value.
  • Parsing grayscale profiles and profiles with a PCS other than CIE XYZ now works.
  • madTPG network interface cross-platform support (Linux/Mac OS X): Reset video card gamma table when calibrating.

New in DisplayCAL 3.0.2.0 (Jun 8, 2015)

  • Added in this release:
  • Instrument first-time setup (i.e. importing colorimeter corrections) will now automatically run when it hasn't been run before.
  • Changed in this release:
  • Removed black point correction choice when switching to “refresh” measurement mode.
  • Cosmetic: Always show main buttons, but disable them if no action is possible.
  • Fixed in this release:
  • Installing a profile as system default wasn't working correctly when UAC was enabled (regression of a change in 3.0.1).

New in DisplayCAL 3.0.1.0 (Jun 1, 2015)

  • Added in this release:
  • madTPG network interface cross-platform support. This means you can now connect from Linux or Mac OS X to madTPG running under Windows.
  • Functionality to change display profile (and calibration) whitepoint of existing profiles without re-measuring (no UI, only available via the command line). This is more or less a gimmick and should not be used if colorimetric accuracy is important, but should result in a more precise white point change than using (for example) f.lux or redshift because it fully takes into account the profile colorimetry, although white point shifting in real time is not supported.
  • Option to enable/disable startup sound.
  • Additional verification testcharts (roughly 750 and 1000 patches in size).
  • Output number placeholder for use in the profile name (as another means to disinguish equal display models).
  • Changed in this release:
  • Force planckian locus in measurement reports if color temperature is >= 1667 and < 4000.
  • Improve “enhance effective resolution of PCS-to-device tables” slightly: Move CAM Jab clipping blending region from 50%..100% to 33%..75% in the cLUT grid. This improves inverse profile self check errors very slightly and in some cases visually further improves gamut mapping smoothness in the blue region for gamuts that are really limited there (e.g. Laptops/Notebooks, cheap TN panels).
  • Fixed in this release:
  • Uniformity measurements not working with spectrometer if instrument self-calibration is performed during the measurements.
  • Work-around Python 2.7 configuration file parsing bug if configuration file gets corrupted (e.g. through hard disk issues, destructive edits or similar).
  • When installing a profile, always copy it to a temporary directory first so if accidentally installing a profile from the location where it's already installed (e.g. system32\spool\drivers\color) it doesn't get nuked by dispwin.
  • Cosmetic: Fix “ProgressDialog object has no attribute 'remaining_time'” when the fancy progress dialog is disabled under “Options” and using the testchart editor to create a testchart.
  • Chromecast messing with display enumeration under Linux and Mac OS X.
  • If missing, add DISPLAY_TYPE_BASE_ID to colorimeter correction matrix (CCMX) files when reading (fixes “Instrument access failed” when using Argyll CMS 1.7 with older CCMX files).
  • When creating a synthetic ICC profile with Rec. 1886 tone response curve and a black level of zero, the fallback gamma value of 2.2 was used instead of the configured gamma of 2.4.

New in DisplayCAL 3.0.0.0 (May 7, 2015)

  • Added in this release:
  • Tabbed user interface
  • Full support for Argyll CMS 1.7.0, which includes support for the ColorHug2, K-10A, Spyder5, the capability to use a Google Chromecast as pattern generator, and more. Note that the accuracy of using a ChromeCast is limited due to the internal RGB to YCbCr conversion and upscaling in the device.
  • Optional automatic testchart optimization as part of the characterization process
  • madTPG launches automatically when used (requires madVR 0.87.12 or later)
  • Optionally create a 3D LUT automatically after profiling. 3D LUT settings are stored in the profile and synced with measurement report settings when loaded
  • 1-click install of madVR 3D LUTs after generation (requires madVR 0.87.12 or later)
  • 3D LUT maker: Optionally allow to use PCS-to-device instead of inverse device-to-PCS gamut mapping. This allows for fast creation of 3D LUTs, but the result is dependent on the quality and accuracy of the profile's B2A tables
  • 3D LUT maker/measurement report: Added an option to just apply black output offset to the tone response curve instead of overriding it completely. This option is only available for source profiles that have a tone response curve which is not defined by a simple power function (e.g. sRGB). Also added a warning message if input values would be clipped when using the tone response curve unmodified
  • Show reference versus corrected colorimeter measurements along with delta E when creating a colorimeter correction matrix
  • Optionally clip WTW on input when creating a 3D LUT (requires Argyll CMS 1.7 or later)
  • Additional error checking for patterngenerator network interface: Check if each Argyll test pattern update is followed by a network send. Fail with a sync error otherwise
  • Easily create a compressed archive of the currently selected profile and related files with the click of a button next to the “Settings” dropdown
  • Testchart editor:
  • Support loading of CGATS files which do not contain XYZ values
  • CSV import (drag and drop a CSV file) and export
  • Export 16-bit PNG and TIFF or 10-bit DPX files
  • Improved speed of image file export
  • Dragging and dropping image files extracts and adds reference patches if a preconditioning profile is set
  • Changed in this release:
  • Generate XYZ LUT profiles by default and for all presets. Consequently, black point compensation now defaults to off and is an advanced option (not shown by default)
  • XYZ LUT + matrix profiles will always have black point compensated matrix TRC tags. That way “dumb” applications which fall back to the matrix won't clip shadow detail if they don't support BPC internally, while “smart” applications can use the accurate LUTs
  • When creating XYZ LUT profiles with enhanced effective PCS-to-device table resolution, improve reproduction of saturated colors for displays with limited gamut (e.g. smaller than sRGB), increasing visible detail and saturation in those areas. This should typically affect saturated blues the most. Users of displays that cover most of sRGB except parts of the blue region may see an improvement as well. Also, more accurately encode the PCS-to-device black point
  • Show display technology type of spectral colorimeter corrections and sort by the shown name instead of the filename
  • Moved display update delay and settle time controls to main window (“Show advanced options” must be enabled)
  • Force a minimum display update delay of 600 ms for Resolve irrespective of chosen preset
  • Don't unload current settings file when changing calibration tone curve to “As measured”
  • When creating a profile, automatically filter out XYZ = 0 readings if the RGB stimulus is < 5% (except black)
  • Files generated during incomplete/failed runs are moved to a different location than the storage directory. See “User data and configuration file locations”, “Incomplete/failed runs”. Compare the list of files in the temporary directory and their modification times before and after running Argyll CMS tools to determine if files should be kept in case of errors
  • When updating via Zero Install, force exact version
  • 3D LUT: Default to 65x65x65 cube for all 3D LUT formats except Pandora (.mga) which only supports 17x17x17 and 33x33x33
  • 3D LUT: Default to 16..235 TV level encoding for the eeColor
  • Measurement report: Changed displayed range of Y to be always 0..100 with four decimal digits
  • On application startup, the current video LUT is restored after checking video LUT access. This differs from the previous behavior where the video LUT was reset to the calibration (if present) of the currently assigned display profile(s) (if any)
  • Fixed in this release:
  • Error message when trying to quit the application while the “About” dialog was shown (regression of a change in 2.6 how lingering dialogs are handled on application exit)
  • Using Resolve as pattern generator prevented ambient measurements
  • Fixed bug with Resolve interface related to APL that resulted in pattern updates being rejected by Resolve due to negative background RGB. This could happen with bright patches if the test patch size was above roughly 30% and below 100% screen area
  • Due to file descriptors for session logfiles not being closed after being done with the file, dispcalGUI could run out of available file descriptors when used to create or inspect a large amount of profiles in a single session
  • Disabled rollover for session logfiles.
  • Worked around uninitialized variables with Argyll's xicclu utility in versions 1.6.x to prevent unexpected color lookup output values
  • Make sure the 1% reading during calibration check measurements doesn't trigger continuing to the following step
  • Clicking the “Pause” button on the progress dialog in the first few seconds before instrument initialization was complete would not pause measurements, and disabled the button until clicking “Cancel”
  • Verifying a device link created with an encoding other than full range RGB.
  • Curve viewer: Amount of tone values and grayscale % for calibration curves was not calculated correctly if the number of entries was not 256
  • Testchart editor: Deleting a selection of non-consecutive rows didn't work correctly

New in DisplayCAL 2.6.0.0 (Nov 17, 2014)

  • Added in this release:
  • Scripting support (locally and over the network).
  • Possibilty to do spectrometer self-calibration on its own (look in the “Options” menu). Useful in conjunction with “Allow to skip spectrometer self-calibration”.
  • Curve viewer, profile information: Support plotting tone response curve of grayscale profiles.
  • wxPython 3.0.2 “Phoenix” compatibility.
  • Linux: Install/uninstall instrument configuration files (udev rules/hotplug scripts) from the “Tools” menu.
  • Changed in this release:
  • Use extended testchart as default for matrix profiles.
  • When switching profiles or displays, make sure the measurement report and 3D LUT creation windows are updated accordingly if shown.
  • Unset Argyll display update delay/settle time environment variables after disabling their override when they were not set initially.
  • All standalone tools have separate configuration files (overridden by main configuration if newer and vice versa) and logfiles.
  • VRML to X3D converter can now do batch processing.
  • Enhanced UI for colorimeter correction creation.
  • Limit the ability to create colorimeter corrections for the Klein K-10 to factory measurement mode.
  • Detect instruments at startup if no instruments were previously configured.
  • Changed “Resolve” preset to use a minimum display update delay of 600 ms and constant APL patterns by default.
  • Restore defaults for display update delay and settle time multiplier when loading settings without override.
  • Linux: The system-wide configuration file is ignored except for the profile loader.
  • Fixed in this release:
  • Calibration curve plot was not working anymore for profiles with formula-type vcgt tags (regression of r2384, did not affect Argyll-generated profiles).
  • Re-use existing Resolve connection if possible and only shut it down on application exit (fixes “Address already in use” error under Linux and Mac OS X).
  • When using Resolve, the measurement window position and size aswell as the “Use black background” setting were not correctly stored in the generated calibration file and/or profile and could thus not be restored by loading the file(s).
  • When exporting test patches as image files, limit pixel dimensions to FullHD (fixes memory error when exporting fullscreen patches).
  • When applying a tone response curve to an existing profile, make sure curve values can't become negative at and near zero input.
  • Fix generation of synthetic grayscale profiles.
  • Linux (only if Argyll CMS was installed via Zero Install)/Mac OS X/Windows: If the Argyll CMS directory was not explicitly configured, Argyll CMS reference profiles (e.g. Rec709.icm) were not added automatically to file dropdown lists and the “Install Argyll CMS instrument drivers...” menu item (Windows only) was grayed out (this impacted convenience, not functionality).
  • Cosmetic, Mac OS X 10.8 and earlier: Splash screen had a light gray border instead of being semi-transparent.
  • Mac OS X 10.10 Yosemite: Disable functionality to load/clear calibration like under Mac OS X 10.6 and up.

New in DisplayCAL 2.5.0.0 (Sep 8, 2014)

  • Added in this release:
  • Argyll CMS 1.7 beta compatibility: Klein K10-A support (requires Argyll CMS 1.7 beta test 2014-05-21 or newer) and updated technology strings for colorimeter correction creation. When creating 3D LUTs with Rec. 1886 or custom tone response curve, force RGB source 0 0 0 to map to RGB destination 0 0 0 (requires Argyll CMS 1.7 beta development code 2014-07-10 or newer).
  • Enable black output offset instead of all-input offset for 3D LUTs, measurement report and synthetic profile creation (based on Argyll CMS 1.7 beta development code 2014-07-12, thanks to Graeme Gill). Note that for 3D LUTs, if using output offset ideally Argyll CMS 1.7 should be used aswell once it becomes available since the current implementation in dispcalGUI that enables output offset when used with Argyll CMS 1.6.3 or older has limited 16-bit precision for the black point mapping (due to the implementation altering the source profile TRC on-the-fly in that case, and the ICCv2 16-bit encoding used for the TRC tags in the source profile), while Argyll CMS 1.7 will enable full floating point processing (due to the black point mapping then taking place internally in collink, and dispcalGUI not having to alter the source profile TRC beforehand).
  • Black point can be specified in XYZ or chromaticity coordinates when creating a synthetic ICC profile.
  • When dropping an existing profile onto the synthetic ICC profile creation window, set whitepoint, primaries, blackpoint and tone response curve (average) according to the profile.
  • Support for the Resolve 10.1 (and newer) CM pattern generator. See also 3D LUT creation workflow for Resolve on the dispcalGUI Wiki.
  • Enable interactive display adjustment without creating calibration curves by setting “Tone curve” to “As measured”. This also causes all calibration setting placeholders in the profile name to be ignored.
  • Added options to override the minimum display update delay (requires Argyll CMS 1.5 or newer) and display settle time multiplier (requires Argyll CMS 1.7 Beta or newer). These options can be found in the “Set additional commandline arguments...” window accessible from the “Options” menu. Note that these two settings (unlike the additional commandline parameters) are stored in the profile, and will be restored when the profile is selected again under “Settings”.
  • Testchart editor: If generating any number of iterative patches as well as single channel, gray or multidimensional patches, it is possible to add the single channel, gray and multidimensional patches in a separate step by holding the shift key while clicking on “Create testchart”. This prevents those patches affecting the iterative patch distribution, with the drawback of making the patch distribution less even. This is an experimental feature.
  • Windows: Simplified Argyll CMS instrument driver installation by adding a respective menu item to the “Tools” menu.
  • Changed in this release:
  • Visual overhaul.
  • Calibration curves are no longer automatically loaded into the video card gamma table when loading a settings file. To manually load calibration curves into the video card gamma table, choose “Load calibration curves from calibration file or profile...” in the “Options” menu (Linux and Windows only), or install a profile, or use the “Preview calibration” checkbox (Linux and Windows only) in the profile installation dialog. The previous behavior can be restored by editing dispcalGUI.ini and adding a line calibration.autoload = 1.
  • Split “Smooth B2A tables” into “Enhance effective resolution of colorimetric PCS-to-device table” and “Smoothing” options and moved them to advanced gamut mapping options.
  • Renamed “Apply BT.1886 gamma mapping” to “Apply tone response curve”.
  • Always override the source profile tone response curve when using “Apply tone response curve” (3D LUT creation and measurement report) so the result will be correct for the chosen parameters regardless of source profile tone response curve.
  • Removed black point compensation option from synthetic profile creation window.
  • Changing the black level or black point Y value when creating a synthetic ICC profile now rounds up or down to make it a multiple of the 16-bit encoding precision used in ICC v2 profiles (which is roughly 0.00153 when normalized to 0..100).
  • Re-enabled moving the standalone curve viewer between displays updating the graph according to the display it is currently on.
  • Always append the measurement mode to the instrument string in the measurement report.
  • Confirm quitting the application (via the application menu “Quit” item or the associated keyboard shortcut) if a task is still running (in practice this only affects Mac OS X as the menu is not accessible on other platforms while a task is running).
  • When selecting “Locate Argyll CMS executables...” in the menu to switch to a different Argyll CMS version, automatically detect if a newer version is on the search path and offer to use it right away without having to manually browse to the location.
  • Renamed “Gamma” entry in calibration tone response curve dropdown to “Custom” to emphasize that it is a curve with custom gamma exponent and other parameters.
  • When switching calibration tone response curve from Rec. 1886 to custom, restore the previous gamma and black output offset parameters (or defaults in case a preset was used).
  • Show an error message if trying to measure the ambient light color with an instrument which only has a monochrome ambient sensor (e.g. Spyder 3 and 4 Elite or Pro).
  • Importing colorimeter corrections and enabling the Spyder 2 is now truly automatic (necessary files are downloaded if not present on the local system).
  • Made black level control an advanced calibration option.
  • Loading a profile that does not contain calibration settings sets all calibration options to “As measured”.
  • When creating or loading a profile (except presets), it is now automatically set as the current profile in the measurement report and 3D LUT creation windows.
  • Enabled interactive display adjustment for the madVR and Resolve presets and altered them to not do video card gamma table calibration by default.
  • All presets that create LUT profiles use optimized testcharts.
  • When a virtual display is selected, don't offer profile installation but 3D LUT creation instead.
  • ReadMe: Completed testchart editor documentation.
  • Testchart editor: Always enable “Add saturation sweeps” and “Add reference patches...” controls when a preconditioning profile is set, regardless of selected patch distribution and adaptation.
  • Testchart editor: When enabling/disabling the preconditioning profile, set adaptation to 100%/10% respectively.
  • Testchart editor: Greatly improved the speed of inserting patches into large testcharts with thousands of patches.
  • Linux, profile installation: Try to install the profile using all available systems regardless if one of them fails to install the profile. Only report profile installation as failed if all available systems failed to install the profile. Report specific failures when profile installation only partly succeeds.
  • Linux, profile installation: Try colormgr as fallback (if available) if profile installation using Argyll 1.6+ failed.
  • Linux: Use the EDID MD5 to find the device ID (this only works with colord versions released after 26. Apr. 2013).
  • Mac OS X: No longer require administrator privileges if running from a non-administrator user account.
  • Windows Vista and newer: Enable system-wide profile and OEM files installation without the need to run the whole application as administrator. The UAC shield icon is shown on buttons if an action requires administrator privileges.
  • Fixed in this release:
  • The “Apply BT.1886 gamma mapping” checkbox in the 3D LUT creation window did re-enable itself when clicking on “Create 3D LUT” if Rec709.icm was selected as source profile.
  • Synthetic ICC profile creation: Setting gamma to absolute or relative when not using Rec. 1886 now actually makes a difference (previously the end result was always an absolute curve).
  • “Show actual calibration curves from video card” could not be enabled in the standalone curve viewer if the previously selected display did not allow video LUT access.
  • Measuring the ambient light level with an instrument which only has a monochrome ambient sensor (e.g. Spyder 3 and 4 Elite or Pro).
  • If loading a settings file created with automatic black point hue correction, that setting was not restored and the default value of no correction was used.
  • When doing a “Profile only” and using the current calibration from the video card gamma table, Argyll CMS expects 256 entries. Interpolate on-the-fly if the number of entries in the video card gamma table is not 256 (this currently only affects Mac OS X 10.9 and newer where the table contains 1024 entries).
  • If the display manufacturer string recorded in a profile was the same as the three-letter manufacturer ID string (e.g. NEC), the profile could not be uploaded to the openSUSE ICC Profile Taxi service due to a bogus “missing metadata” error message (regression of r1422).
  • Profile information window: Color coordinates in the status bar were wrong if the selected colorspace was not a*b* (bug introduced in dispcalGUI 2.0).
  • The specbos 1201 was not working due to not supporting measurement mode selection.
  • When getting normalized vcgt tag values, scaling was off if the vcgt wasn't 16-bit. This prevented e.g. the measurement report from working with certain 3rd-party display profiles.
  • Cosmetic: Correct padding of the patch number in the measurement report summary (fixes missing padding when multiple patches are evaluated for a single criterion).
  • Trivial: Tab order of controls (top-down, left-right).
  • Testchart editor: IndexError if trying to add saturation sweeps or reference patches when no cells are selected.
  • Linux, profile installation: Do not regard a missing colormgr as error.
  • Mac OS X: Selecting “About”, “Locate Argyll CMS executables...” (preferences) and “Quit” in the application menu does something again (this stopped working with the move to wxPython 3.0 GUI library in dispcalGUI 2.0).

New in DisplayCAL 2.1.0.0 (May 13, 2014)

  • Added in this release:
  • “Auto” measurement mode for the ColorHug. This will automatically create a colorimeter correction with the reference based on EDID as part of the normal measurement process. This is a work-around for the red primary shift problem that some ColorHug users are experiencing (note that this will make ColorHug measurements closely match the gamut boundaries defined by the primaries and whitepoint from EDID). This mode should only be used as a last resort if no colorimeter correction with reference measurements from a spectrometer or other known accurate instrument can be obtained.
  • Auto-update functionality. Apply updates from within dispcalGUI under Windows, or if using Zero Install.
  • Changed in this release:
  • Improved Zero Install integration. Installation is now as simple as a standalone installation.
  • Switched “Smooth B2A tables” off and “Low quality B2A tables” back on for the madVR preset to save some time during profile generation.
  • The HTML-embedded X3D viewer will now by default try and load its components from the web, with a fallback to a locally cached copy (if available) and not anymore the other way around. This means generated HTML files will automatically use updated viewer components when an internet connection is available.
  • Choosing “Profile information” from the “File” menu will now always present a file dialog to pick a profile and no longer use the profile currently selected in the main window (this functionality is still available via the small blue “Info” button next to the settings dropdown).
  • Show profile information with right pane expanded by default.
  • Don't lock measurement mode for colorimeter corrections, instead set colorimeter correction to none if an incompatible measurement mode is selected.
  • Allow black point compensation if “low quality B2A tables” is enabled.
  • Windows: Limit profile name length so that the length of the path of the temporary directory plus the length of the profile name does not exceed 254 characters (which is the maximum useable length for Argyll CMS tools where an extension with a length of four characters is added automatically).
  • Fixed in this release:
  • When using the ColorHug in “Factory” or “Raw” measurement mode in dispcalGUI (r1378 or later) with a colorimeter correction that was created with Argyll CMS 1.5 or later, the measurement mode was being locked to the wrong mode (a colorimeter correction created in “Factory” mode would lock to “Raw” and vice versa).
  • Transpareny rendering in the HTML-embedded X3D viewer: Transparency is now gamma-corrected.
  • Tone response curves plot: Removed the very slight interpolation offset error at zero input (around +0.5 RGB on a 0-255 scale for a synthetic 16-bit tone response curve following a gamma of 2.2 with no black offset) for tone response curves that have zero output at non-zero input.
  • Trying to open files with unicode characters in their filename or path in the standalone testchart editor, curve viewer, profile information, or VRML to X3D converter application from the commandline, via the desktop's “open with” functionality, or by assigning a supported filetype to be opened with the respective application failed (dragging and dropping the file onto the respective application window worked fine).
  • Correctly reflect in the GUI if black point compensation can be applied. Black point compensation is available for curves + matrix profiles and XYZLUT profiles with either “low quality B2A tables” or “smooth B2A tables” enabled.
  • Linux: Fixed a problem with unicode when querying colord for the current display profile (regression of r1832).
  • Windows: Report could not be saved after finishing display uniformity measurements due to the file dialog not receiving mouse clicks or keyboard input.
  • Windows: Work-around python issues with long pathnames (>= 260 characters).

New in DisplayCAL 2.0.0.0 (Apr 23, 2014)

  • Added in this release:
  • New profiling option “smooth B2A tables” for XYZ LUT profiles. This should improve the smoothness of the relative colorimetric gamut mapping. Enabling this option will also generate a simple but effective perceptual mapping (which will be almost identical to the colorimetric mapping, but map the black point) if no other advanced gamut mapping options have been chosen.
  • Technical discussion: “smooth B2A tables” works by inverting the already present A2B colorimetric table, making use of Argyll CMS to do clipping in CAM Jab for saturated colors. A new cLUT, cLUT matrix and cLUT device channel curves are then generated. The matrix and device channel curves scale and transform the input values to distribute them across the cLUT grid points, trying to make good use of the limited number of points. Additional smoothing is then applied to the cLUT (this can be disabled by editing dispcalGUI.ini and adding a line profile.b2a.smooth.extra = 0). Diagnostic PNG images are created for each of the B2A cLUT tables (pre/post/post smoothing). This approach is relatively straightforward, but seems very effective in creating a smooth yet accurate mapping. There is a drawback though, if the native device gamut boundary is bumpy, the error at the gamut boundary and thus the max error can go up. In most cases, I feel this will be acceptable, and the smoothness and often also increased in-gamut accuracy should make up for the potential higher max error. If you're interested, you can check the error of the B2A table vs the A2B table by running (in a terminal) invprofcheck -k -h -w -e on the profile, and compare it to the error of a profile where “smooth B2A tables” was not used. Comments and feedback welcome as always.
  • Synthetic ICC profiles can be created with DICOM or BT.1886 tone response curve, with or without black offset, and can either be RGB (curves + matrix) or gray (curves only).
  • Expanded the color space choices for profile gamut views with L*u*v* and DIN99 family colorspaces.
  • Expanded the color space choices for diagnostic 3D views of testcharts with HSI, HSL, DIN99 family, LCH(ab), LCH(uv), L*u*v*, Lu'v' and xyY colorspaces. To differentiate the LCH(ab) and LCH(uv) views from L*a*b* and L*u*v* respectively, a layout where the hue angle increases along the horizontal and chroma along the vertical axis is used.
  • 3D views of profile gamuts and testcharts can be created as VRML, X3D, or X3D in HTML with embedded viewer for WebGL-enabled browsers.
  • VRML to X3D standalone converter. Output options are X3D (XML) and X3D in HTML. The HTML files generated by default use the X3DOM runtime to implement a viewer, which requires a WebGL-enabled browser. The converter can be run from a terminal without GUI. Run it with the --help argument to view the list of options.
  • Rendering intent and direction selector for curve viewer tone response curve plot. Also changed layout of controls slightly.
  • LUT checkbox to profile info gamut view (if the profile is a LUT profile and contains both LUT and matrix tags). This allows inspecting the gamut characterized by the LUT versus the one defined by the matrix.
  • Show estimated remaining time in the progress dialog if applicable. Note that it is not always particularly accurate, and for operations consisting of multiple steps (e.g. calibration & profiling), the shown estimate is for the current (sub-)step only.
  • Changed in this release:
  • Slightly adjusted presets:
  • Changed “madVR” and “Video” presets to use Rec. 1886 as calibration target.
  • Changed “Prepress” and “Softproof” presets to use full black point hue correction during calibration.
  • Disabled interactive display adjustment for “Laptop” preset.
  • Set profile type for those presets that defaulted to curves + matrix to single curve + matrix.
  • Changed profile black point compensation option to map the black point to zero more reliably. This means black point compensation can no longer be used for L*a*b* LUT profiles, and will only be applied to the LUT part of XYZ LUT profiles if the new “smooth B2A tables” profiling option is used.
  • Changed 3D LUT and measurement report settings to automatically enable/disable Rec. 1886 gamma mapping if the source profile has/doesn't have a known “camera” transfer function (e.g. SMPTE 240M or Rec. 709).
  • Unlocked calibration Rec. 1886 gamma controls to bring them in line with the 3D LUT and measurement report offerings.
  • Set BT.1886 gamma mapping defaults to gamma 2.4 absolute to match the recommendation.
  • Show error message in case of ambient measurement failing due to instrument communications failure.
  • Curve viewer: Enable dragging and zooming.
  • Profile information comparison profile selection, measurement report simulation profile selection: The list of automatically recognized profiles (if they are installed) has been extended to the full range of ECI offset, gravure and newsprint profiles as well as their basICColor equivalents (available on colormanagement.org) and an increased range of RGB working space profiles. Other profiles can be added by dragging-and-dropping them on the profile list.
  • Never center the display adjustment and untethered measurement windows on the screen, or show them at their parent window coordinates if no previous coordinates were stored in the configuration (always use default coordinates of topleft screen corner in that case).
  • In the case of essential resource files missing (e.g. broken installation or deleted application files), show a more informative error message.
  • Diagnostic 3D views of testcharts are no longer created automatically. You have to click the “3D” button.
  • Slightly increased the logging verbosity.
  • Fixed in this release:
  • Unhandled exception when trying to start measurements on a display that was added/enabled while dispcalGUI was already running.
  • In case of untethered measurements, correctly detect and react to recurring need for intermittent instrument calibration.
  • Re-enabled the ability to generate some 3D LUT formats from existing DeviceLink profiles.
  • Don't allow leading dashes in profile filename which might trick the Argyll CMS tools into mistaking parts of it as an option parameter.
  • Refresh display measurement mode was not correctly restored from saved settings.
  • Moving the measurement window between displays resulted in an error and did not update the display configuration (regression of r1737).

New in DisplayCAL 1.7.5.7 (Feb 10, 2014)

  • Added in this release:
  • Unique icons for all standalone tools.
  • Profile information can plot and display colors from named color profiles (including ICC v4).
  • Testchart editor, “Add reference patches”: Named color profiles can be used as reference.
  • Changed in this release:
  • Error handling: Omit traceback from error messages for filesystem and operating system related errors (like disk full or no read permissions on a file) as such errors are not code-related.
  • Updated french translation
  • If a profile is corrupted, show the curves window regardless if enabled. Show the profile error message only when the corrupted profile is first accessed, not each time the curves window is shown/hidden.
  • Testchart editor, “Add reference patches” (dealing with image colorspaces): Support Lab TIFF images. Fail on colorspace mismatches.
  • Removed DCI_P3.icm profile (prefer SMPTE431_P3.icm which is part of recent Argyll CMS releases).
  • Fixed in this release:
  • Disable double-click centering and scaling for curve views (this was never supposed to be possible in the first place).
  • Testchart editor, “Add reference patches” (chromatic adaptation): When no device white is available, make sure alternate whitepoint definitions (APPROX_WHITE_POINT, LUMINANCE_XYZ_CDM2 fields) are actually used if present.
  • Always automatically add a file type extension to the filename in the curve/gamut saving dialog (fixes “unsupported filetype” error when trying to save under Mac OS X without manually adding the extension to the filename).
  • Calibration preview for calibration & profile from “” setting no longer switches between .cal and .icm file created in that same run.

New in DisplayCAL 1.7.1.6 (Jan 20, 2014)

  • Added in this release:
  • A new option to not use the video card gamma table to apply calibration (default like in 1.5.2.5/1.5.3.1: On for madVR, off for everything else).
  • Correlated color temperature, gamma, RGB gray balance and gamut graphs to measurement report.
  • Re-added the default testchart for gamma + matrix profiles.
  • Testchart editor: Dark region emphasis controls (Argyll CMS 1.6.2).
  • Testchart editor: Black patches amount control (Argyll CMS 1.6).
  • Testchart editor: Ability to add saturation sweeps and reference patches (from CGATS or images) to a testchart if using a preconditioning profile and adaptation = 100%.
  • Standalone curve viewer. This allows to view the curves of the currently assigned display profile or the actual video card gamma table without launching dispcalGUI.
  • Curve viewer can reload, apply black point compensation to, load into the videocard, and export calibration files.
  • Changed in this release:
  • Untethered measurements window: Enable keyboard navigation in the grid view (up/down/pageup/pagedown/home/end keys).
  • Measurements are now pauseable.
  • Cancelling a potentially long-running operation like measurements or profile generation now needs to be confirmed.
  • Improved robustness of ambient measurement code.
  • Show an error message when communication with the instrument fails (instead of just logging the error).
  • Show an error message when trying to measure ambient light and ambient measurements are unsupported (instead of just logging the error).
  • Regenerated testcharts preconditioned by gamma-based profiles with slight dark region emphasis.
  • Updated french translation (thanks to Loïc Guégant).
  • “Allow skipping of spectrometer calibration” will now always try to skip spectrometer calibration if enabled, not just when doing a calibration and subsequent profile in one go (“Calibrate & profile”). This means a calibration timeout will then be in effect (which is 60 minutes for the ColorMunki Design/Photo, i1 Pro and i1 Pro 2), and a recalibration will only be needed if this timeout has been exceeded before the start of an operation.
  • Testchart VRML export: Only use Bradford chromatic adaptation if ACCURATE_EXPECTED_VALUES in the .ti1 file is true (i.e. a preconditioning profile was used), otherwise XYZ scaling (to visually match VRML files generated by Argyll CMS).
  • Renamed “Verify profile” to “Measurement report”. Added options for BT.1886 gamma mapping, whitepoint simulation, (limited) support for device link profiles, and madVR color management (3D LUTs). Overhauled report HTML layout and style.
  • Use nicer filenames and titles for HTML reports and uniformity check (e.g. include the display name for which the report was generated).
  • Improved dealing with profile linking errors during 3D LUT generation (show error dialog instead of just logging the error).
  • Always use a cLUT resolution of 65 and don't preserve device curves for 3D LUT generation, regardless of the selected 3D LUT format or size (this should make results consistent between eeColor/madVR, which were always generated like that, and the other formats).
  • Allow the use of PC levels for madVR 3D LUT output encoding.
  • Synchronize input and output encoding for eeColor 3D LUT format.
  • Disable xvYCC output encoding (not supported) and consequently disable it also as input encoding for eeColor because it needs the same input/output encoding.
  • Allow loading of calibration files that do not contain settings.
  • Testchart editor: Combined patch ordering controls.
  • Testchart editor: Vastly enhanced performance of row delete operations on very large testcharts (several thousand patches). Also slightly improved speed of testchart loading.
  • Measurement report charts: Each larger chart contains all the patches from the previous smaller chart. Re-generated video charts preconditioned to Rec. 709 and with slight dark region emphasis.
  • Windows 7 and up: Prefer dispcalGUI profile loader over calibration loading facility of the OS (the latter introduces quantization artifacts and applies wrong scaling, the former uses Argyll CMS and thus doesn't have these problems).
  • Windows: Do not regard unability to determine startup folders as fatal error (this means an autostart entry to load calibration on login can not be created automatically in that case though, so unless Windows 7 or newer is used which has the ability to load calibration without external utilities, calibration needs to be loaded manually).
  • Windows/madVR: Always reset the video card gamma table to linear when using a calibration file and not using the video card gamma table to apply the calibration (this should prevent the potential problem of double calibration being applied if loading a calibration on a display, then switching over to madVR on the same display and using a calibration file while not using the video card gamma table to apply the calibration).
  • Fixed in this release:
  • A possible unicode decode error when the computer name contains non-ASCII characters, introduced in 1.5.2.5.
  • In some instances the handling of profile name placeholders was quirky (problematic character sequences were those consisting of the same characters, case insensitive, as calibration speed or profile quality shortcodes, i.e. FxF, MxM, SxS, VFxVF and VSxVS, with x being any non alphanumeric character).
  • When loading a settings file, only switch to the associated display device if it can be unambiguously determined (fixes multi-screen setups with identical screens always switching to the first one, a bug introduced in 1.5.2.5).
  • Ignore messages from the logging module (fixes a bogus error message being displayed under Windows when closing dispcalGUI, introduced in 1.5.2.5).
  • Handling of separate video card gamma table access controls was a bit quirky since the addition of virtual display devices.
  • If the 3D LUT target profile was overwritten by the generated device link profile (which could happen if choosing the same path and file name for the 3D LUT/device link profile as the target profile), it prevented changing the source profile.
  • Instrument (spectrometer) calibration can be required multiple times during a calibration run, depending on its duration. This was not handled correctly by the GUI.
  • 3D LUT generation with TV RGB 16-235 encoding could lead to wrongly encoded 3D LUTs if not using the eeColor or madVR format.
  • 3D LUT generation with YCbCr encodings failed with an error if not using the eeColor or madVR format.
  • Standalone utilities (3D LUT maker, curve viewer, profile information, and testchart editor) now function properly even if dispcalGUI itself was never launched before (previously the Argyll CMS version was read from the configuration, so if it was never configured before it could happen that not all available options where shown or it was never asked to select an Argyll CMS executable directory in case the Argyll CMS executables were not found).
  • Don't block other windows when an operation fails while a progress dialog with a modal dialog on top is shown.

New in DisplayCAL 1.5.3.1 (Oct 25, 2013)

  • Fixed possible unicode error in logging module.
  • Fixed a bug with optimizing a testchart for untethered measurements halving the amount of different device combinations by repeating patches if the total patch count was even.
  • New feature: When creating a profile from existing measurement data, averaging of measurements can be performed by selecting multiple files.

New in DisplayCAL 1.5.2.5 (Oct 23, 2013)

  • Added in this release:
  • Full Argyll CMS 1.6.0 support (e.g. JETI specbos 1211/1201, madVR calibration and 3D LUT generation, body centered cubic grid option for creating testcharts).
  • Testchart editor: Charts can be exported as PNG or TIFF files.
  • Testchart editor: Gamma and neutral axis emphasis controls.
  • Testchart editor: “Use current profile as preconditioning profile” button.
  • Testchart editor: Save VRML diagnostic files for testcharts without the need to re-generate the chart.
  • Testchart editor: Sort patches by L*, RGB, sum of RGB or sort RGB gray and white to top.
  • Untethered display measurement and profiling. Be sure to read the note on optimizing testcharts for untethered measurements in automatic mode.
  • Shortcut for the BT.1886 tone curve (previously available by setting gamma to 2.4, absolute, and black output offset to zero).
  • 3D LUT: Enable additional intents.
  • 3D LUT: Support eeColor and Pandora LUT formats.
  • 3D LUT: Support Argyll CMS 1.6 video encodings and BT.1886 gamma mapping.
  • Softproof preset (based on FOGRA recommendation).
  • madVR preset.
  • sRGB preset.
  • Allow specifying extra arguments for Argyll's targen command.
  • Computer name, EDID serial and EDID CRC32 placeholders for use in the profile name.
  • Synthetic profile creation facility (e.g. for use as source in 3D LUT generation).
  • ACES RGB and DCI P3 colorspace definitions and reference profiles.
  • Dry run. If enabled in the options menu, all functionality that calls Argyll CMS executables will effectively do nothing. This allows review of the used command line parameters by checking the log.
  • Additional session logs are saved for most operations involving the Argyll tools (i.e. directly in the folder where created files are saved to).
  • Show profile self check ΔE*76 info in profile installation dialog.
  • Changed in this release:
  • Testchart and preset improvements:
  • All testcharts for LUT profiles have been complemented with additional single channel patches. This should in most cases improve average and maximum delta E of generated profiles, in some cases significantly. In fact, testing has shown that the new “small testchart for LUT profiles” with 154 patches total yields better results than the previous “extended testchart for LUT profiles” with 238 patches.
  • The charts for curves + matrix profiles have been improved by adding a few additional body centered cubic grid patches - all the charts which are not tuned for a certain display type are body centered cubic grid based (this was also the case previously for the LUT testcharts, but not for the matrix charts).
  • The patch order in the LUT charts has been optimized to improve measurement speed.
  • The chart for gamma + matrix profiles has been removed in favor of the updated default chart for matrix profiles.
  • New additional charts for LUT profiles have been added in various sizes.
  • For each of the new charts for LUT profiles, starting from the “very large” size, optimized farthest-point-sampled versions have been added which are pre-conditioned for several common display types: sRGB tone response with Rec. 709 primaries and D65 whitepoint (consumer-grade displays), gamma 2.2 with Rec. 709 primaries and D65 whitepoint (consumer-grade displays, TVs), gamma 2.2 with AdobeRGB primaries and D65 whitepoint (entry-level and high-end graphics displays), L* tone response with NTSC primaries and D50 whitepoint (high-end graphics displays).
  • The naming and patch count of the testcharts for LUT profiles has changed. The mapping that most closely resembles the old testcharts is as follows (total number of patches in parentheses):
  • Old “Default testchart for LUT profiles” (124) → new “Small testchart for LUT profiles” (154)
  • Old “Extended testchart for LUT profiles” (238) → new “Default testchart for LUT profiles” (270)
  • Old “Large testchart for LUT profiles” (396) → new “Extended testchart for LUT profiles” (442)
  • Old “Very large testchart for LUT profiles” (912) → new “Very large testchart for LUT profiles” (994)
  • Old “Massive testchart for LUT profiles” (2386) → new “Massive testchart for LUT profiles” (2527)
  • Use of the new charts is highly recommended. All presets have been updated to use the new chart types. The “prepress" preset has also been updated to generate a XYZ LUT profile by default.
  • Detect if the instrument can use CCMX or CCSS colorimeter corrections based on the measurement mode. Disable colorimeter corrections for non-base display types.
  • Correctly map measurement mode to DISPLAY_TYPE_BASE_ID for all supported instruments when creating CCMX.
  • If a colorimeter correction with DISPLAY_TYPE_BASE_ID or DISPLAY_TYPE_REFRESH is selected, automatically set the correct measurement mode.
  • If measuring the colorimeter correction testchart, automatically ensure a suitable measurement mode for colorimeters (if they support more than refresh and non-refresh measurement modes).
  • Do not use spline interpolation for curve plots.
  • Updated french translation, thanks to Loïc Guégant.
  • Renamed calibration quality to calibration speed.
  • Set calibration speed for all presets to medium.
  • Standalone testchart editor: Parse first non-option argument as file to be opened.
  • Testchart editor: Always generate good optimized points rather than fast.
  • Testchart editor: Use existing file path when saving testchart.
  • Testchart editor: Greatly improved the speed of paste operations when comparatively large data sets are used.
  • Disallow -d and -D as extra arguments for Argyll's targen as the testchart editor only supports video RGB.
  • Reset adaptive measurement mode when restoring defaults.
  • Close all profile information windows when hiding the main window instead of just hiding them (don't reopen them when the main window is shown again).
  • Curve viewer: Use float formatting for input RGB display.
  • Only skip legacy serial ports if no instrument detected.
  • Also specify Argyll dispcal/dispread -y parameter for spectrometers.
  • Use Rec. 709 whitepoint chromaticity coordinates for “Video” preset.
  • Changed profile installation error message for virtual display devices.
  • Make it clearer which calibration is used when doing a “Profile only”: When a calibration file is going to be used, change the message from the warning “The current calibration curves will be used” to the informational “The calibration file will be used” with the usual options to embed/not embed/reset video card gamma table.
  • Allow the use of calibration curves when profiling a web display.
  • When creating a colorimeter correction from profile(s), get the instrument name from the embedded TI3 if the data source is not EDID.
  • Do not specify (superfluous and thus ignored) patch window positioning arguments for dispcal/dispread when using a virtual display.
  • 3D LUT: Removed black point compensation option (no longer easily possible because it now uses Argyll's collink internally. You can still have the effect of BPC by creating a display profile with BPC enabled and using it as destination profile during 3D LUT creation).
  • Always copy/move temporary files to the save location if not a dry run, also in case of an error. If copy/move fails, keep them in the temporary directory and inform the user.
  • Disable black point compensation for the “Prepress” preset (there are three presets without bpc - “madVR”, “Prepress” and “Softproof”) and use L* as calibration tone curve.
  • Fixed in this release:
  • Show black point correction choice also when switching from refresh to any other measurement mode instead of only when switching from refresh to LCD measurement mode or vice versa.
  • Corrected averaged RGB transfer function display.
  • Adaptive measurement mode could not be disabled (regression of r1152 where adaptive measurement mode was made default in dispcalGUI).
  • Work-around a very rare problem where a (bogus) display size of 0x0 mm is returned.
  • Check if the configured colorimeter correction exists before adding it to the list.
  • Update colorimeter correction and testchart lists after deleting settings files.
  • Don't carry over colprof arguments from testchart file (fixes occasional wrong display model and manufacturer in profiles).
  • Average, RMS and maximum delta E metadata was not added to profiles if equal to or greater than 10.
  • Unhandled exception when 3D LUT window was opened and there was no profile selected under settings and also no display profile set.
  • Unhandled exception if colorimeter correction does not exist.
  • Standalone curve viewer: Fix loading of .cal file via commandline argument.
  • Don't strip trailing zeros when displaying average gamma in the status bar of the profile information or curve window.
  • Only set adaptive and hires measurement mode when the instrument supports it (fixes measurement mode switching to non-adaptive if toggling betweeen a colorimeter and a spectrometer).
  • Only fall back to private copy of pnp.ids under Windows.
  • Updated link to Datacolor website download section for the Spyder 2 Windows installers.
  • Transposed bits for EDID red y chromaticity coordinate.
  • Curve viewer / profile info window: Reset tone response curve calculation when toggling LUT checkbox.
  • Correctly react to detected display changes when the actual physical displays didn't change (e.g. when switching Argyll between versions supporting and not supporting the virtual “Web” display).
  • Keypresses or cancel were not recognized during patch reading.
  • Display uniformity measurements: Q or ESC had to be pressed twice to exit.
  • Do not use “install profile” message for non-display profiles.
  • 3D LUT: “apply vcgt” checkbox stayed disabled after switching from a devicelink source profile to a non-devicelink source profile.
  • Update all open windows when switching Argyll versions
  • Do not reset selected colorimeter correction to none when selecting a preset or a settings file.
  • Measurement window position was not correct when switching from web display.
  • Show an error message when choosing a directory as profile save path where no subdirectories can be created.
  • Python 2.7 compatibility: Mask u16Fixed16Number (fixes profile information not working for profiles with negative XYZ or chromaticity values when using Python 2.7).
  • wxPython 2.9 compatibility: Do not specify number of rows in dynamically growing FlexGridSizer.
  • Correctly escape quotes in arguments (fixes hang when profile name, program path or Argyll path contains a single quote).
  • Windows: Show a meaningful error message when a subprocess can't be started instead of hanging indefinitely.
  • Ignore WMI errors.
  • Selecting testcharts saved in the root of a drive under Windows.
  • Disable broken Windows 2000 support (was broken since 0.8.5.6 when the interactive display adjustment GUI was introduced and is not fixable as Windows 2000 does not implement the required AttachConsole functionality).
  • If Argyll profile installation failed, a success message was still shown.

New in DisplayCAL 1.2.7.0 (Mar 4, 2013)

  • Colorimeter correction creation not working when using Argyll CMS 1.5.0 because of missing newly required fields in CGATS data.

New in DisplayCAL 1.2.6.6 (Mar 2, 2013)

  • Added in this release:
  • Argyll CMS 1.5.0 compatibility.
  • Ability to do remote measurements using Argyll CMS 1.4.0 and newer (Firefox is recommended as client). See remote measurements and profiling.
  • Include black level and contrast in profile verification reports (if possible, i.e. if the test chart contains a RGB=0 patch).
  • 3D LUT: Support color space conversion ('spac') profiles.
  • DCI P3 reference profile.
  • Add “Quality” (if applicable) and “License” metadata to profiles.
  • Add colored device ID mapping to profile metadata.
  • Additional logging.
  • Changed in this release:
  • Revised display uniformity test to generate HTML reports.
  • Use a delay of 200 ms for display uniformity measurements.
  • Detect “Calibrate failed with 'User hit Abort Key' (No device error)” Argyll CMS error message and ignore further errors to prevent popping up multiple error dialogs.
  • Reload currently selected calibration after verifying a profile.
  • Add metadata to fast shaper matrix profiles (e.g. gamut volume and coverage).
  • When deleting a settings file, also offer CCSS, CCMX and files starting with the settings file basename in the same directory for deletion.
  • Enable use of absolute values in profile verification reports regardless of testchart.
  • When loading a profile without calibration settings, look for an accompanying colorimeter correction in the same directory.
  • When only creating a profile and not calibrating, give a clear choice whether to embed current calibration curves in a profile or not.
  • When using black point compensation, keep the black point compensated TI3 measurement file in addition to the unaltered file.
  • When restoring default settings, don't reset the 3D LUT abstract profile as well as 3D LUT and profile info window positions.
  • Truncate the colorimeter correction description displayed in the dropdown if it's overly long.
  • Only load linear calibration curves into the curve viewer when resetting the video card gamma table.
  • Do not remove spaces from the instrument name when assembling the profile name.
  • Only compress JavaScript in HTML reports if the report.pack_js configuration option is set (default 1 = compress).
  • Fixed in this release:
  • Improved instrument event handling.
  • When measuring the screen using a spectrometer, make sure to repeat the instrument calibration until it is successfully completed or canceled (ColorMunki Design/Photo).
  • When measuring ambient light with a spectrometer, abort after a 30 second timeout if instrument calibration did not complete.
  • Correctly react if the instrument sensor is in the wrong position and prompt the user to set the correct position.
  • Mouse cursor and clicked “Measure” button stayed hidden when aborting a measurement in the display device uniformity test window.
  • Updating the calibration (vcgt) of a profile didn't work if first selecting a .cal file, ticking the “Update calibration” checkbox and then switching to the profile.
  • Disable all calibration controls (except the quality slider) when “Update calibration” is ticked.
  • Only enable “Update calibration” checkbox if calibration can actually be updated.
  • Disable the “Create colorimeter correction...” and “Create 3D LUT...” menu items as well as the “LUT” checkbox in the curves and profile information windows if Argyll CMS executables are not found.
  • Update measurement modes when switching Argyll versions.
  • wxPython 2.9 compatibility.
  • Set manufacturer, model, creator and ID in reference profiles (except ClayRGB and sRGB from Argyll).
  • Only switch over to progress dialog after a three second delay (fixes erroneously switching over to progress dialog under Windows when running calibration or display uniformity measurements directly after a canceled testchart measurement).
  • If using a DTP92, only offer refresh measurement mode.
  • Make sure updated profiles also have updated descriptions.
  • Also overwrite .gam.gz and .wrz files if overwriting an existing profile.

New in DisplayCAL 1.1.8.3 (Jan 8, 2013)

  • Changed in this release:
  • Show display device uniformity measurement window on selected display device if multiple display devices are connected.
  • Hide mouse cursor and clicked button while measuring display device uniformity.
  • Fixed in this release:
  • Sporadic measurement hang when measuring display device uniformity.
  • Wrong window being shown when calibrating after display device uniformity measurements or vice versa.

New in DisplayCAL 1.1.7.0 (Jan 7, 2013)

  • Added in this release:
  • Preliminary Argyll CMS 1.5.0 compatibility.
  • Added facility to measure and report display device uniformity. Known issue: Sometimes measurements hang. Press space to try and continue.
  • 3D LUTs can optionally incorporate abstract (“Look”) profiles.
  • 3D LUTs can be created from Device Link (class “link”) and input (class “scnr”) profiles.
  • 3D LUTs can also be created in SPI3D format.
  • Changed in this release:
  • Updated French translation

New in DisplayCAL 1.1.2.9 (Nov 6, 2012)

  • Changed in this release:
  • Simplified Spyder 2 enabling instructions.
  • Fixed in this release:
  • Broken Unicode support (unhandled exception) when dealing with colorimeter correction descriptions containing 8-Bit characters.
  • Check if xicclu is found before attempting to use it for the profile information window (gets rid of bogus “'NoneType' object has no attribute 'encode'” message).
  • Use a default generic message when prompting to choose a profile.

New in DisplayCAL 1.1.2.1 (Oct 17, 2012)

  • Changed in this release:
  • Disable source profile selector in advanced gamut mapping options if not at least one of perceptual or saturation checkboxes is selected.
  • Only show a warning if an incompatible colorimeter correction is explicitly selected via the filebrowser.
  • Show a less cryptic error message if an invalid file is selected when importing colorimeter corrections from other display profiling software.
  • Fixed in this release:
  • Whitepoint color temperature is an integer, not a float. This fixes calibration settings being detected as changed when they actually haven't.
  • Worked around a bug in wxPython where controls in a hidden window react to focus events. This fixes the sporadic hang after calibration measurements during a “Calibrate & profile” run.
  • Linux, Mac OS X: Unhandled exception when trying to import colorimeter corrections from other display profiling software and selecting a file with '.txt' extension.

New in DisplayCAL 1.1.0.0 (Sep 26, 2012)

  • Added in this release:
  • Additional profile name placeholder %ds for the display device serial from EDID if applicable (may be empty or bogus).
  • Windows: Additional profile name placeholders %dnw (DeviceString) and %dnws (shortened DeviceString, it may be the same as %dnw if shortening isn't possible). The former is equivalent to what's shown in the display device dropdown. The DeviceString is often more verbose as the sometimes very generic EDID device name (placeholder %dn).
  • Changed in this release:
  • Updated Spanish translation.
  • Fixed in this release:
  • Show an error message if a colorimeter correction cannot be used with the selected instrument.
  • Show an error message when trying to import colorimeter corrections from an unsupported filetype.

New in DisplayCAL 1.0.9.0 (Sep 26, 2012)

  • Changed in this release:
  • Use the original file basename for colorimeter corrections copied over to the storage directory (previously, if a colorimeter correction was copied, it inherited the same basename as the rest of the measurement/profile/calibration files, thus making it a bit cumbersome to determine which colorimeter correction was originally the source, especially in profile verification reports which only showed the filename and not the description from the file contents).
  • Show colorimeter correction file basename in addition to the description if they are different.
  • Linux: Fall back to gcm-import if colord profile installation fails.
  • Fixed in this release:
  • When switching to L*/Rec. 709/SMPTE or sRGB and then loading settings with a gamma value, the gamma entry field was not shown.
  • Report on calibrated/uncalibrated display and calibration verification did not work if using a colorimeter correction (regression of changeset #1020).
  • Do not freeze if loading a settings file which had an accompanying colorimeter correction that was since deleted.
  • Windows 2000: Don't fail to launch.

New in DisplayCAL 1.0.7.7 (Sep 26, 2012)

  • This is a bug-fix release for version 1.0.7.6.
  • Fixed in this release:
  • Unhandled exception in gamut view calculation after profile creation if using French localization.

New in DisplayCAL 1.0.7.6 (Sep 26, 2012)

  • Added in this release:
  • Option to auto-select a suitable colorimeter correction if available locally.
  • Ability to choose between L*a*b*, XYZ and xyY in profile verification reports.
  • Changed in this release:
  • Reset default black point correction from automatic to off.
  • If a profile contains no 'vcgt' tag, assume linear calibration.
  • When creating a colorimeter correction, remember the last selected reference and colorimeter measurement file separately.
  • When creating a colorimeter correction, automatically only use white, red, green and blue patches (at 100% device value each) from measurement files, regardless if they contain more patches. This allows re-using of measurement files with different patch counts (as long as they contain those four combinations) that have been created as by-product of other operations, e.g. during profiling. Note that measurements still need to be done under identical conditions and within reasonable timeframe (ideally less than a few minutes apart) to minimize effects of display and instrument drift when creating colorimeter corrections from them.
  • When measuring the colorimeter correction testchart, automatically set the resulting measurement as last selected reference or colorimeter file depending on whether it contains spectral data or not.
  • When restoring the current calibration after measuring the colorimeter correction testchart, do it silently (don't show a message window).
  • Filter colorimeter corrections by selected instrument.
  • Show colorimeter correction description in the dropdown instead of the filename. Show the filename and path on mouse hover.
  • ColorHug: Only enable colorimeter corrections for “Factory” and “Raw” measurement modes.
  • ColorHug: Automatically set “Factory” measurement mode when measuring the colorimeter correction testchart and measurement mode is not yet “Factory” or “Raw”. Restore previous measurement mode afterwards.
  • Linux: Enable ColorHug support by default.
  • Linux: colored wrapper now uses PyGObject instead of ctypes.
  • Updated French translation
  • Fixed in this release:
  • When creating a 3D LUT, don't fail if the target profile contains no 'vcgt' tag and the preference is “Apply calibration” (which is the default) irrespective of checkbox state.
  • Use colorimeter correction (if applicable) from settings stored in calibration files and profiles when loading them.
  • When creating a colorimeter correction, the display name in the description is now taken from the measurement file if available.
  • When creating a colorimeter correction, automatically order the measurements exactly the same by device (RGB) triplets.
  • Hide any profile information window(s) when the main window is hidden and restore them when it is shown again.
  • Correct ID on profile created from EDID after adding gamut coverage/volume metadata.
  • Measurement modes other than “LCD (generic)” and “Refresh (generic)” are now correctly restored from settings embedded in calibration files and profiles.
  • If using the current calibration curves for profiling without calibrating (“Profile only” with “Reset video card gamma table” unchecked), using Argyll CMS 1.4.0, the resulting profile will now contain a 'vcgt' tag with the current calibration like with previous Argyll versions.
  • RGB bars and chromaticity/color temperature readouts when adjusting a whitepoint with blackbody target are now working correctly.
  • Ignore and do not show any explicitly selected Colorimeter Calibration Spectral Sample (CCSS) file for instruments that do not support it.
  • Changing Argyll version/binaries in dispcalGUI with automatic instrument detection switched off is working correctly again without the need to restart the program.
  • Show ColorHug-specific measurement modes (please run instrument detection once again to refresh the list if you already used the ColorHug in a previous version of dispcalGUI).
  • Saturation gamut mapping settings are no longer ignored.
  • Trying to view profile information for profiles whose black point X Y Z sum is zero will no longer result in a division by zero error.
  • Black point compensation is no longer attempted if not atleast one black or white patch is found in measurement data.
  • Linux: Don't error out if profile installation with dispwin fails, but profile installation via colord or oyranos-monitor is successful (fixes profile installation when using the distribution-packaged Argyll under Fedora)
  • Linux: colord device key name now correctly adheres to device naming spec for xrandr devices (fixes some profile installation problems).
  • Linux, Windows: Correctly detect in the profile loader if linear calibration is assumed when using Argyll CMS 1.4.0 or newer.
  • Windows: Continuous measurements during interactive display adjustment are now stopped reliably when clicking the “Stop measurements” button or hitting the space key.

New in DisplayCAL 0.9.9.1 (Sep 26, 2012)

  • Added in this release:
  • Spyder 4 support if using Argyll CMS >= 1.3.6. To make all measurement modes available, you have to use “Import correction matrices from other display profiling softwares...” from the “Tools” menu.
  • Experimental ColorHug support is enabled through Argyll CMS >= 1.3.6 if the ENABLE_COLORHUG environment variable is set, but the ColorHug currently doesn't work reliably across all platforms.
  • Added information about instrument measurement modes to the ReadMe.
  • Changed in this release:
  • GUI spring-cleaning: Re-arranged some controls and replaced radiobuttons and read-only combo-boxes with choice controls instead. Only the controls related to a selected choice are shown.
  • Default calibration black point correction to automatic.
  • Replaced previous 19-patch colorimeter correction testchart with smaller 4-patch version (just red, green, blue at 100% each and white, as is the default with Argyll CMS 1.3.6).
  • Linux packages: Added Argyll CMS to dependencies. Please note: If you want the latest Argyll features or run into problems, it is recommemded to download the standalone Argyll binaries from argyllcms.com as the distribution repositories often only contain older Argyll CMS releases.
  • Fixed in this release:
  • Fixed unhandled exception when adding metadata to a profile from EDID that contains an invalid (out of range) gamma value.
  • Fixed slightly off the mark whitepoint in resulting profile when using black point compensation (typical max. error 0.2 ?E*76). You may want to re-create existing profiles.
  • Do not reset visibility of advanced calibration options when restoring defaults.
  • Store black point compensation setting in profiles.
  • Mac OS X: The application bundle now again contains all required files (no missing files when dragging just the bundle to Mac OS X “Applications” folder).