ddcutil and ddcui

Announcements

05 August 2022

ddcui release 0.3.0 contains the following changes of interest to general users;

  • CTL-Q terminates ddcui (does not apply within dialog boxes)
  • Errors opening /dev/i2c and /dev/usb/hiddev devices are reported using a message box instead of being written to the terminal. These errors typically reflect lack of permissions (Linux error EACCESS).
  • Optionally requiring the control key to be pressed when changing feature values now applies to all changes, not just those made using sliders. (The option is set using command line option --require-control-key or the UI Options dialog box.).
  • Options --force-slave-address and --disable-force-slave-address, introduced in Release 0.2.1, are deprecated and no longer have any effect.

For a detailed description of ddcui changes and bug fixes in this release, see ddcui Release Notes.

Prebuilt packages for several Linux distributions and mmachine architectures can be found in the ususal locations.

Prior announcements can be found here.

23 July 2022

ddcutil release 1.3.0 contains the following changes of interest to general users:

  • Option --force-slave-address no longer has any effect. Driver i2c-dev provides both a low level ioctl() interface and a higher level read()/write() interface for I2C communication. ddcutil now uses the ioctl() interface (almost) exclusively. This eliminates the possbility of EBUSY errors from driver i2c-dev, which occur only when the read()/write() interface is used.
  • Better reporting of user configuration issues at startup.
  • Commands getvcp and vcpinfo can now take multiple features as arguments, for example ddcutil getvcp 10 12.
  • The sleep-suppression related options, --sleep-less, --less-sleep, --enable-sleep-suppression, and --disable-sleep-suppression no longer have any effect.

For a detailed description of ddcutil changes and bug fixes, see Release Notes.

Prebuilt packages for several Linux distributions and mmachine architectures can be found in the ususal locations.

14 June 2022

ddcui 0.2.1 (along with ddcutil 1.2.2) is now available in the Debain Testing distribution (Bookworm).

Introduction

ddcutil is a Linux program for managing monitor settings, such as brightness, color levels, and input source. Generally speaking, any setting that can be changed by pressing buttons on the monitor can be modified by ddcutil.

ddcutil primarily uses DDC/CI (Display Data Channel Command Interface) to communicate with monitors implementing MCCS (Monitor Control Command Set) over I2C. Normally, the video driver for the monitor exposes the I2C channel as devices named /dev/i2c-n. Alternatively, there is support for monitors (such as Eizo ColorEdge displays) that implement MCCS using a USB connection. See USB Connected Monitors.

A particular use case for ddcutil, and the one that inspired its development, is as part of color profile management. Monitor calibration is relative to the monitor color settings currently in effect, e.g. red gain. ddcutil allows color related settings to be saved at the time a monitor is calibrated, and then restored when the calibration is applied.

Restrictions:

  • ddcutil does not support laptop displays, which are controlled using a special API, not I2C.
  • Generally speaking, ddcutil can be built in a virtual machine, but will not run in a VM. This is because the virtual video drivers do not implement I2C. However, if the VM is connected to a separate video card and is running a non-virtualized driver for the card in passthru mode, then ddcutil will work.
  • Nvidia's proprietary video driver may require special configuration. See Special Nvidia Driver Settings.
  • Reading and writing Table type features is implemented but untested. See Table Features

ddcutil is released under the GNU Public License, V2 (GPLV2). The source is hosted on Github.

General support questions are best directed to the issue tracker on Github. Use of that forum allows everyone to benefit from individual questions and ideas. For details, see Technical Support.

ddcui

ddcui is a graphical user interface to ddcutil, built using Qt. It is currently beta level code. For further information, see ddcui Overview.

ddcui is released under the GNU Public License, V2 (GPLV2). The source is hosted on Github.

ddcui questions should also be directed the to the ddcutil issue tracker on Github.

Topics

Using ddcutil:

Commands and Options:

Installation and Configuration:

Other:

Author

Sanford Rockowitz rockowitz@minsoft.com