05 March 2017
- Add additional diagnostic tests to command ddcutil environment --verbose*.
- New configure option --enable-drm.
- If enabled (the default), command ddcutil environment --verbose includes additional tests that use DRM services to better analyze disrepancies observed in the field between the EDID read directly from the monitor and that reported by X11.
- Option --enable-drm requires that a recent version (>= 2.4.67) of the development package for libdrm2 (libdrm-dev or libdrm-devel depending on Linux distribution) be installed when building ddcutil. If a sufficently recent version is not detected, configure issues a warning and reverts to --disable-drm.
- If minimizing executable size is important, set --disable-drm, as DRM services are used only for diagnostics.
- Additional information on ddcutil detect --verbose.
- Report and interpret USB vendor id/product id when detect cannot open a hiddev device. This is usually benign, and identifying the device should make this evident.
- Suggest that the user check that DDC/CI is enabled in the monitor's on screen display if I2C bus x37 (DDC) is responsive, but DDC communication fails.
01 February 2017
- Fixes a critical bug in release 0.7.1 where insufficient privileges on a /dev/i2c-n device causes program termination.
- ddcutil interrogate always executes with --set-slave-address in effect
- Minor improvements to ddcutil environment and ddcutil interrogate output
- Minor improvements to ddcutil detect --verbose
- Add explanations for additional errno values
27 January 2017
- Add option --force-slave-address which causes ddcutil to take control of slave addresses on the I2C bus even if they are in use. Internally, ioctl(I2C_FORCE_SLAVE) is called instead of ioctl(I2C_SLAVE). This is intended as a possible workaround for situations where monitors on an I2C bus are not detected. See Option --force-slave-address
- Option --force disables various checking. It's use is likely to result in command failure, but may provide useful information as to the source of problems. See Option --force
- Fix the cause of a segfault when displaying statistics for option --stats errors or simply --stats, or on the interrogate command.
- make install will not install C header files unless configuration option --enable-lib is set.
- Fix the cause of a Makefile error when trying to strip dependency information from libddctuil.la during make install.
- Extensive rework of Autotools files for future support of Python 3 as well as Python 2. This work is incomplete.
- Emit diagnostic messages to aid in debugging certain situations seen only in the field.
03 January 2017
- C API
- Should be fairly stable, though not all features of ddcutil are exposed.
- Reflecting the presence of APIs, the default for the --enable-lib configuration option is now "yes". The following shared object library is created: libddcutil.so
- Additional prebuilt packages: libddcutil0, libddcutil-dev (Debian, Ubuntu) or ddcutil-devel (Fedora, SUSE)
- Python API
- The Python API, implemented using SWIG, is a rough proof of concept and subject to major change.
- SWIG support is only available by building from source, not from pre-built packages. Requires --enable-swig configuration option.
- A new command line option --mfg, which allows for monitor selection using the 3 character manufacturer id found in the EDID. --model and -sn no longer need to specified together. If any of --mfg, -model, and -sn are specified, the first monitor to match all of the manufacturer/model/serial-numbers that are specified is chosen.
- The monitor feature and capabilities portion of interrogate has been enhanced. This functionality is also exposed using the new probe command which operates on a single monitor.
- Parsing of the capabilities string is enhanced to accomodate monitors that do not separate feature codes by blanks.
21 November 2016
- Improve recovery and diagnotistic messages for certain exceptional conditions.
- Command ddcutil interrogate now reports the differences between VCP codes declared in the capabilities string and those observed by scanning.
- Extensive internal changes in preparation for future C and Python APIs.
01 October 2016
Rename project from ddctool to ddcutil.
- Primary executable is now named ddcutil
- Shared library is now named libddcutil.so
- Tarball is now named ddcutil.n.n.n.tar.gz
24 September 2016
Fix overzealous code cleanup in release 0.5.1.
- Undefined reference to function is_module_loaded_using_sysfs() when building without ADL support.
- Error in command parsing. Command arguments were ignored.
23 September 2016
Minor improvements to diagnostics of the environment and interrogate commands:
- Check if i2c_dev is built into the kernel as an alternative to it being a loadable kernel module
- Recognize amdgpu video driver
09 September 2016
This is the first formal release of ddcutil
- Rework USB monitor support based on testing with Eizo Coloredge and NEC PA series
-- Probing of USB connected monitors is greatly extended and refactored from ddcutil environment into a separate command ddcutil usbenv. Libraries hidraw and libusb are used as well as hiddev. HID Report Descriptors are parsed. This probing is included in ddcutil interrogate.
-- configure option --enable-usb/--disable-usb controls whether ddcutil is built with USB monitor support. The default is --enable-usb. When building with USB support, packages for udev, hidraw, hiddev, and libusb are required.
- Simplify README.md. Refer to www.ddcutil.com for most documentation
- The assumption that I2C buses are numbered consecutively is removed. Required for Raspberry Pi.
- Allow a display to be specified on the command ddcutil loadvcp. This addresses the situation where a monitor presents both an I2C and a USB interface. Normally, the display is determined using the data stored in the VCP file, and the I2C display interface is chosen over the USB interface. If a display is specified, then the model and sn from its EDID must match those in the VCP data being loaded.
- Add ddcutil command option --timestamp/--ts. If specified, trace messages are prefaced with an elapsed timestamp.
- Because of changing package requirements, ddcutil no longer builds in the openSUSE Build Service (OBS) for older OS versions (openSUSE 13.1, Ubuntu 12.04, 14.04).
- ddcutil currently does not build for any openSUSE version in the openSUSE Build Service due to violation of policy guidelines. This problem will be addressed in a subsequent release. openSUSE users can build ddcutil from its tarball.