Configure /dev/i2c-* devices

DDCcontrol only uses userspace I2C access through /dev/i2c-* devices. Legacy direct PCI memory access and AMD ADL support have been removed, and USB-connected DDC/CI displays are not supported yet.

The kernel graphics driver must expose the monitor DDC bus as an I2C adapter, and the i2c-dev module must be loaded. To load it manually, type as root:

# modprobe i2c-dev

If you want to automatically load this module when Linux starts, see your distribution's documentation. DDCcontrol also installs a modules-load.d configuration file for this purpose on systems that use systemd.

To allow standard (i.e. non-root) users to use DDCcontrol, grant read and write access to the relevant /dev/i2c-* devices. Many distributions do this with an i2c group, for example by adding your user to that group. For quick local testing, this can also be done by typing as root:

# chgrp i2c /dev/i2c-*
# chmod g+rw /dev/i2c-*

Kernel configuration options

If i2c-dev or the relevant graphics driver support is not available with your kernel, you can build your own kernel with the following options turned on (we recommend building them as modules):

  • Devices driversI2C support.
  • Devices driversI2C supportI2C device interface.
  • Devices driversGraphics supportDirect Rendering Manager.
  • and a specific driver for your graphics card.

DDCcontrol homepage