Skip to content

Releases: rockowitz/ddcutil

Release 0.9.3

26 Nov 13:00
v0.9.3
Compare
Choose a tag to compare

Release 0.9.3 contains extensive internal changes and some changes to the C API.

Detection of displays that support DDC/CI has been simplified. ddcutil no longer performs initial probes of DDC related slave addresses on each possible /dev/i2c device. These initial probes did not correctly identify some recent monitors as DDC/CI capable, while on others (notably Dell XPS 13 laptops) they caused screen corruption. Instead, ddcutil relies on the response to a well formed DDC/CI query to determine if a display supports DDC/CI. As a result, verbose output from command ddcutil detect has changed slightly. In addition, /dev/i2c devices for Synopsys DesignWare (input devices) are automatically skipped.

ddcutil internals have been extensively restructured for future support of user supplied feature definitions. This will allow users to supply definitions for manufacturer reserved features, i.e. those in the range 0xe0..0xff.

The C API has been modified to allow for user supplied feature definitions and to reflect experience gained from work on the C++ GUI application.

For details, see Release Notes.

Release 0.9.2

26 Nov 06:33
v0.9.2
Compare
Choose a tag to compare

Release 0.9.2 contains minor enhancements and bug fixes.

Two changes to display detection may be of general interest.

  • Remove the Supports DDC: line from the output of ddcutil detect.
    The output of this line reflected the result of a simple test for slave address x37 at the I2C layer, which is not always an accurate reflection of DDC/CI support. The test is vestigial and had no effect on program logic. During display detection, ddcutil also attempts a real DDC exchange at the higher, DDC layer of code. It relies on this result to determine whether the monitor supports DDC, and to determine the VCP version.

  • Eliminate duplicate displays for DisplayPort connected monitors.
    Under some circumstances, a DisplayPort connected monitor is assigned two /dev/i2c devices, and ddcutil detect would report two (identical) monitors. However, only one of the /dev/i2c devices supports DDC communication. This change addresses the problem for the nouveau driver, and only defines a ddcutil display for the good /dev/i2c device.

For details, see Release Notes.

Release 0.9.1

28 May 15:34
v0.9.1
Compare
Choose a tag to compare

Release 0.9.1 fixes the cause of a failure that may occur on command environment --verbose when examining an extremely large log file.

For details, see Release Notes.

Release 0.9.0

13 May 23:33
v0.9.0
Compare
Choose a tag to compare

Release 0.9.0 contains minor enhancements and a few very minor bug fixes. However. the C API is extensively revised.

Two enhancements will be of interest to general users:

  • The setvcp command now allows new values for Continuous type features to be specified as relative values,
    e.g. the following commands increase or decrease the value of the brightness feature by 5.
$ ddcutil setvcp 10 + 5
$ ddcutil setvcp 10 - 5

Note that parsing requires that "+" and "-" be surrounded by spaces.

  • Table type features are by default not included in most feature groups specified on getvcp, e.g. getvcp known.
    Features of type Table are rare. The DDC/CI spec does not provide a clean way for getvcp to determine that a table feature does not exist. As a result, getvcp typically has to exceed its retry count before giving up. (Exclusion of table features does not occur if a feature is explicitly specified by its hex code, or for feature group TABLE.)
    The --no-table (formerly --notable) and -show-table options explicitly control this behaviour.

For a complete list of changes and bug fixes, see Release Notes.

Release 0.8.6

20 Jan 07:50
v0.8.6
Compare
Choose a tag to compare

Release 0.8.6 contains a few minor externally visible enhancements and bug fixes. It also contains non-upwardly compatible changes to the C API. Most current users will see no need to upgrade.

For a complete list of changes and bug fixes, see Release Notes.

Release 0.8.5

16 Nov 11:27
v0.8.5
Compare
Choose a tag to compare

This release contains a large number of minor enhancements and bug fixes. Most significant are those related to alternative environments, such as Raspberry Pi systems.

Those running ddcutil on a 32 bit system, either i386 or Raspberry Pi, should upgrade to address a segfault in the environment command. Otherwise, there is no need to upgrade to this release unless you are experiencing problems.

For a complete list of changes and bug fixes, see the Release Notes

Release 0.8.4

22 Jul 14:14
v0.8.4
Compare
Choose a tag to compare

This release primarily contains packaging changes to meet Fedora distribution standards. It also includes minor improvements and bug fixes. There is no need to install it unless you are experiencing problems.

For a complete list of changes and bug fixes, see the Release Notes.

Release 0.8.2

17 May 16:36
v0.8.2
Compare
Choose a tag to compare

Release 0.8.2 contains minor enhancements, primarily to diagnostics in the environment and interrogate commands.

For a complete list of changes and bug fixes, see the Release Notes.

Release 0.8.1

07 May 04:50
v0.8.1
Compare
Choose a tag to compare

Release 0.8.1 addresses the following issue:

  • A segfault can occur when scanning /dev/usb/hiddevN devices for one that implements the USB Monitor Control Class Specification.

For a complete list of changes and bug fixes, see the Release Notes.

Release 0.8.0

01 May 13:42
v0.8.0
Compare
Choose a tag to compare

Release 0.8.0 contains new features intended to address issues with particular monitors and user environments, and to improve performance

The most significant changes visible to users are:

  • If there are multiple monitors and option --async is specified, initial monitor checks are performed in separate threads. Users with multiple monitors should see significantly better startup time.
  • If a display is specified by its I2C bus number (option --busno) and option --nodetect is specified,
    global display detection is skipped, improving performance.
  • By default, setvcp and loadvcp now read the VCP value after it has been set, to confirm that the monitor has made the change requested.
  • Command getvcp --terse now reports VCP settings in a form that is easily machine readable.
  • The C API has been extensively revised. Many names have changed for consistency and clarity.

For a complete list of changes and bug fixes, see Release Notes.