ddcui Release Notes

Release 0.2.1

02 February 2022

Handling EBUSY Errors

New command line option --force-slave-address enables ddcui to take control of DDC communication with a display from a conflicting program, notably display driver ddcci. For details, see Option: --force-slave-address and Device Busy Errors in the main ddcutil documentation.

CMakeLists.txt Cleanup

  • The minimum required version of CMake is set to 3.10. The CMakeLists.txt script is known to work in Ubuntu 18.04, which has CMake 13.10. It may work for earlier CMake versions; the cmake_minimum_required() statement can be edited to allow execution,
  • Most messages from the script, issued using the message() statement. are defined to have message level VERBOSE. By default, these are not shown, reducing output clutter. Using cmake command line option --log-level=verbose will cause them to be shown. However, message level verbose did not exist prior to release 3.15. In that case the messages are unconditionally issued.
  • If ccache is installed, cmake command line option --use-cache controls whether ccache is used to reduce build time. The default is --use-cache=yes.
  • Better support for CMAKE_BUILD_TYPE. The default is -DCMAKE_BUILD_TYPE=DEBUG.

Option Removed: Use Latest Feature Values

Option "Use Latest Feature Values" in the NC Feature Values dialog, and corresponding command line option --use-latest-nc-values have been removed. This option told ddcui to use the NC values for the most recent MCCS specification, as opposed to the MCCS version that the monitor reports. This option was hard to explain and convoluted to implement. The User Defined Features facility makes it unnecessary, since that facility can be used to define the NC values for a monitor feature.

Miscellaneous

  • Disable selecting the Capabilities and Feature views for a monitor if it doesn't support DDC/CI, or the capabilities string cannot be read.
  • Disable all view selection if no monitor is detected.

Release 0.2.0

25 November 2021

While far from complete, this release should be suitable for general use. The code base has been extensively reworked. This section summarizes user visible changes since release 0.1.2.

ddcui 0.2.0 requires at least libddcutil.so.4.1.0 from ddcutil package 1.2.0 or later.

Enhanced Feature Representation

  • In MCCS 2.2 and 3.0, some features have both a set of special values and a continuous range. These include x62 (Audio Volume), x63 (Audio Balance) , x87 (Audio Tebble), X91 (Audio Bass), and x93 (Audio Balance). The widget for these features has both a slider/spinbox for the continuous range and a combo-box for the special values.

Non-Continuous Feature Values

There are three interrelated mechanisms for addressing unexpected values for a simple Non-Continuous feature.

  • The monitor may report a feature value that is not listed in the capabilities string or the Monitor Control Command Set. In this situation the value is still listed in the combo box even if another value is subsequently selected.

  • When presenting simple Non-Continuous feature, ddcui uses the values/name table specified for the monitor's MCCS version. Sometimes monitors use feature values defined in a later version. The Use latest MCCS values checkbox in the NC Feature Values dialog specifies that the NC value table for the highest possible MCCS version be used. This can also be specified by command line option --force-latest-nc-value-names.

  • Supply a User Defined Feature definition. See User Defined Features.

Redetect Monitors

  • For situations where a display is attached or detached, Menubar option Actions->Redetect Monitors can be used to redetect displays. The plan is for this to happen automatically in a future release.

Miscellaneous User Interface Changes

  • The Other Options dialog has been renamed to NC Feature Values.
  • Help screen content has been revised and extended.
  • General user interface cleanup

Desktop Integration

  • Install ddcui.desktop in /usr/share/applications.
  • Install icons in /usr/share/icons/hicolor. An icon is also installed in /usr/share/pixmaps as Gnome Classic only looks in the latter directory.
  • Install ddcui.appdata.xml in /usr/share/metainfo.
  • Use icon "video-display" from Oxygen theme as it already exists under an open source license.

Configuration File

  • Configuration file, typically $HOME/.config/ddcutil/ddcutilrc, is shared with ddcutil and libddcutil. Options can specified for the ddcui command line, and also for passing directly to the shared library. See page Configuration File.

Invocation

  • Several command line options that were simply passed to libddcutil have been removed from the command line, as they can now be be specified instead in the [libddcutil section of configuration file ddcutilrc. These include --udf, --no-udf, --nousb, --maxtries, --sleep-multiplier, --sleep-less, --less-sleep, --no-less-sleep, --dynamic-sleep-adjustment.
  • Command line option --help does not report development related options. Use --help-development or --help-all to see them.

Building ddcui

  • qmake is no longer supported. Use cmake.

Release 0.1.2

29 June 2020

Bug fixes:

  • The combo boxes for simple Non-Continuous values appeared empty instead of showing the current value and list of allowed values.

Release 0.1.1

24 June 2020

Command Line Options

Several command line options have been added. See Command Line Options

User Defined (aka Custom) Feature Set

Custom feature sets enable the user to specify exactly which features are to be shown in the Features view.

Feature Slection Dialog changes:

  • Radio button Custom has been added as an alternative to MCCS, Capabilities, etc. for feature set selection.
  • When Custom is clicked, an edit box enables entry of the feature codes to be included. These are entered as two character hex values, with or without a leading "x' or trailing "h". The values are separated by commas and/or blanks.

Command line option --custom-feature-set specifies the custom feature set from the command line. For example:

$ddcutil --custom-feature-set "10 x12, 01h"