DDCcontrol is a software used to control monitor parameters, like brightness, contrast, RGB color levels and others.
DDCcontrol consists of:
ddccontrol- command-line tool for monitor parameters controlgddccontrol- GUI tool for monitor parameters control
The most convenient way to install DDCcontrol is to use packages from official distribution repositories.
Manual installation is more complicated, but contains latest version of software and more monitor profiles.
DDCcontrol tools, ddccontrol and gddccontrol can be installed from official distribution repositories with following command:
- on Ubuntu/Debian:
sudo apt install ddccontrol gddccontrol ddccontrol-db i2c-tools - on Fedora:
sudo dnf install ddccontrol ddccontrol-gtk - on openSUSE:
sudo zypper in ddccontrol
You might need to restart your system after installing i2c-tools.
Install build dependencies:
- on Ubuntu:
sudo apt install intltool i2c-tools libxml2-dev libgtk3.0-dev liblzma-dev - on Solus:
sudo eopkg install -c system.devel
sudo eopkg install autoconf automake intltool i2c-tools m4 diffutils libtool-devel xz-devel libxml2-devel libgtk-3-devel - on others:
TODO
Deprecated AMD ADL and legacy direct PCI backends are disabled by default.
Use /dev/i2c-N devices through i2c-dev instead. Builds that explicitly
enable the deprecated AMD ADL backend with --enable-amd-adl or the
deprecated legacy PCI backend with --enable-legacy-pci still require their
extra development packages. For legacy PCI, that means the pciutils development
package, for example libpci-dev on Ubuntu or pciutils-devel on Solus.
Clone, build and install built version:
git clone https://github.com/ddccontrol/ddccontrol.git
cd ddccontrol
./autogen.sh
./configure --prefix=/usr/local/ --sysconfdir=/etc --libexecdir=/usr/local/lib
make
sudo make installMonitor database is required for proper functionality. See for ddccontrol-db installation.
Follow the instructions on https://github.com/ddccontrol/ddccontrol-db/blob/master/doc/how-to-add-a-monitor.md for inclusion. It often merely involves adapting a few standard capabilities as many pull requests show.
gddccontrol is a graphical utility for monitor configuration. It is called Monitor Settings in list of applications.
Following configuration is needed to allow non-root user to use gddccontrol:
sudo adduser $USER i2c
sudo /bin/sh -c 'echo i2c-dev >> /etc/modules'Utility can launched directly from commandline:
sudo gddccontrolFor GNOME Shell top-bar menu control, see the example extension in
contrib/gnome-shell-extension.
ddccontrol allows monitor configuration directly from commandline. To probe I2C devices to find monitor buses use:
sudo ddccontrol -pTo read value of control 0x10 (brightness on VESA compliant monitors) for device dev:/dev/i2c-4:
sudo ddccontrol -r 0x10 dev:/dev/i2c-4To set value of control 0x10 (brightness on VESA compliant monitors) to 75 for device dev:/dev/i2c-4:
sudo ddccontrol -r 0x10 -w 75 dev:/dev/i2c-4
# Save current monitor settings to non-volatile memory (if supported)
sudo ddccontrol -r 0x10 -w 75 -s dev:/dev/i2c-4See ddccontrol -h for more information.
The project is licensed under GNU General Public License v2.0 license. See COPYING for details.