ddcutil

Announcements

15 September 2018

ddcui is a Qt-based graphical user interface for ddcutil. An initial alpha release is now available on github. ddcui must currently be built from source - there are no pre-built (e.g. dpkg or rpm) packages. For addtional information and rudimentary build instructions, see files README.md and BUILDING.md.

01 September 2018

Release 0.9.2 contains minor enhancements and bug fixes.

For a complete list of changes and bug fixes, see Release Notes. Prior announcements can be found here.

27 May 2018

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 a complete list of changes and bug fixes, see Release Notes. Prior announcements can be found here.

13 May 2018

Release 0.9.0 contains minor enhancements and a few very minor bug fixes. However. the C API is extensively revised (see API Changes in Release 9.0).

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 behavior.

For a complete list of changes and bug fixes, see Release Notes. Prior announcements can be found here.

Introduction

ddcutil is a Linux program for managing monitor settings, such as brightness, color levels, and input source. Generally speaking, any settings 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.
  • Nvidia's proprietary video driver may require special configuration. See Special Nvidia Driver Settings.
  • Operation with AMD's proprietary video driver fglrx requires a specially built version of ddcutil. See Building with ADL Support.
  • 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 the to the issue tracker on Github. Use of that forum allows everyone to benefit from individual questions and ideas. For details, see Technical Support.

Topics

Using ddcutil:

Installation and Configuration:

Other:

Author

Sanford Rockowitz rockowitz@minsoft.com