ddcutil

Announcements

08 October 2019

ddcui alpha release 0.0.6 is now available on github. It requires the version of libddcutil provided by ddcutil release 0.9.7.

04 September 2019

ddcutil release 0.9.7 fixes the cause of a segfault during display detection if a monitor appearing to support the USB Monitor Control Class Specification, i.e. one that uses USB to communicate monitor settings, is connected to the system. If also contains some minor code cleanup.

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

25 August 2019

ddcutil release 0.9.6 contains minor enhancements, bug fixes, and API changes.

SONAME versioning is now enabled for libddcutil.

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

ddcui

ddcui is a graphical user interface to ddcutil, built using Qt. It is currently alpha level code. There are as yet no prebuilt packages available. It must be built from source.

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:

Installation and Configuration:

Other:

Author

Sanford Rockowitz rockowitz@minsoft.com