Table of Contents
DDCcontrol accesses monitor DDC/CI busses only through
/dev/i2c-* devices provided by
the operating system. This uses the same kernel userspace I2C
path as tools such as ddcutil
for directly connected displays.
Legacy direct PCI memory access and AMD ADL support have
been removed. Use the kernel graphics driver and i2c-dev support to expose monitor DDC
busses as /dev/i2c-*
devices.
USB-connected DDC/CI displays are not supported yet.
The NVIDIA proprietary driver exposes the I2C bus
through the standard /dev/i2c-* interface. However, on modern
drivers (particularly with monitors connected via
DisplayPort or HDMI) the driver may fail to service I2C
requests, causing DDC/CI communication to fail.
The fix is to force the driver to use software I2C by
adding an Xorg configuration snippet. DDCcontrol ships a
ready-made file at /usr/share/ddccontrol/90-nvidia-i2c.conf.
Copy it to the Xorg configuration directory and restart
your X session:
# cp /usr/share/ddccontrol/90-nvidia-i2c.conf /etc/X11/xorg.conf.d/
The file sets the following NVIDIA registry keys:
Option "RegistryDwords" "RMUseSwI2c=0x01; RMI2cSpeed=100"
See the NVIDIA developer forum for more background on this issue.