Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. Monitor Control Software
  3. ddcutil

ddcutil

What it is

ddcutil is a free Linux program for managing compatible monitor settings, including brightness, color levels, and input source. It communicates through DDC/CI over I²C and also supports monitors that implement MCCS over USB. Commands can detect monitors, show capabilities, read and set VCP feature values, and save or restore color-related settings. The companion ddcui offers a Qt graphical interface with Summary, Capabilities, and Features views; its Features view can change modifiable values. For color-profile work, dumpvcp saves current settings to a file and loadvcp restores them. Developers can use the C API through libddcutil.so to read and write VCP values and handle profile-related features. The program is licensed under GNU GPL version 2. Setup requires the Linux kernel i2c-dev module, and non-root users need permissions to run it. It does not support laptop displays, which use a special API rather than I²C, and it generally will not run in virtual machines because virtual video drivers do not implement I²C. MCCS-over-USB table type features are unsupported.

For and against

For

  • Reads and sets VCP feature values
  • Can save and restore color-related settings
  • Includes a Qt graphical interface
  • C API is exposed through libddcutil.so
  • Free under GNU GPL version 2

Against

  • Does not support laptop displays
  • Generally will not run in virtual machines
  • Requires the Linux kernel i2c-dev module
  • MCCS-over-USB table type features are unsupported

The verdict

ddcutil offers command-line, graphical, and API-based monitor control on Linux. Its laptop and virtual-machine limitations, plus the required setup, are important to consider first.

Who it suits

ddcutil may suit Linux users managing external monitor settings or developers who need monitor control through its C API. It is also described for color-profile management.

Plans and prices

ddcui

Free

GNU General Public License, V2 (GPLV2); graphical interface for ddcutil

ddcutil

Free

GNU General Public License, V2 (GPLV2)

Every plan, in full

On the record

API
The C API is exposed through the shared library libddcutil.so and includes functions for reading and writing VCP values and saving and restoring profile related features.ddcutil.com · read 3 Oct 2026
C API
The C API is exposed through the shared library libddcutil.so, with installed header files and sample client programs.ddcutil.com · read 4 Oct 2026
Color profiles
The dumpvcp and loadvcp commands save and restore color related monitor settings for color profile workflows.ddcutil.com · read 4 Oct 2026
Display limits
ddcutil does not support laptop displays, which are controlled through a special API rather than I²C.ddcutil.com · read 3 Oct 2026
Graphical interface
ddcui is a Qt graphical interface with summary, capabilities, and features views, and can change modifiable feature values.ddcutil.com · read 4 Oct 2026
Installation
The maker documents prebuilt packages and source builds; its project maintained packages include builds for some Debian, openSUSE, and Ubuntu releases, with Launchpad and Fedora COPR packages also described.ddcutil.com · read 3 Oct 2026
Integration
The documentation describes running ddcui alongside DisplayCAL's monitor adjustment phase and using the C or C++ API for dump and load services.ddcutil.com · read 4 Oct 2026
Intended users
The documentation describes color profile management as a primary use and also presents a C API for programs that need monitor control.ddcutil.com · read 4 Oct 2026
Laptop display limit
ddcutil does not support laptop displays because they use a special API rather than I²C.ddcutil.com · read 4 Oct 2026
License
ddcutil and ddcui are released under the GNU General Public License, version 2.ddcutil.com · read 4 Oct 2026
Linux distributions
The documentation says ddcutil is included in Arch, Debian, Fedora, Gentoo, Manjaro, openSUSE, and Raspbian.ddcutil.com · read 3 Oct 2026
Maker
The documentation identifies Sanford Rockowitz as ddcutil’s developer and maintainer.ddcutil.com · read 3 Oct 2026
Monitor communication
It primarily communicates with monitors implementing MCCS through DDC/CI over I²C, and also supports some monitors using USB for MCCS.ddcutil.com · read 4 Oct 2026
Monitor controls
Its commands can detect monitors, report capabilities, read and set VCP feature values, and save or restore color related settings.ddcutil.com · read 3 Oct 2026
Purpose
ddcutil is a Linux program for managing monitor settings such as brightness, color levels, and input source.ddcutil.com · read 4 Oct 2026
Settings automation
Its commands can detect monitors, read and set VCP features, and save or restore monitor settings.ddcutil.com · read 4 Oct 2026
Setup requirements
ddcutil requires the Linux kernel i2c-dev module, and permissions must be granted for non-root users to run it.ddcutil.com · read 3 Oct 2026
Support
The project directs technical support questions, bug reports, and feature requests to its GitHub issue tracker.ddcutil.com · read 4 Oct 2026

The review

ddcutil is a free, open-source Linux tool for adjusting compatible monitors, saving color settings, and integrating monitor control into software. It is best suited to Linux users who want command-line automation, a graphical interface, or a C API. Its flexibility is worthwhile if the display and system support its DDC/CI setup; laptop screens and most virtual machines are outside its reach.

Overview

ddcutil communicates with monitors through DDC/CI over I²C, and also supports monitors that implement MCCS over USB. Its commands can discover displays, report their capabilities, and read or set VCP values for settings such as brightness, color levels, and input source. That range makes it useful for repeatable external-monitor adjustments, rather than a general control layer for every display.

For color workflows, dumpvcp saves current color-related settings to a file and loadvcp restores them. This is a practical advantage for users who need to preserve and reapply monitor settings, including alongside DisplayCal’s monitor adjustment phase.

Key features

  • Command-line control: Monitor detection and VCP reading and writing suit scripts and automation. Input switching and profile-related settings broaden its usefulness beyond basic brightness adjustment.
  • Graphical interface: ddcui is a Qt application with Summary, Capabilities, and Features views. The Features view can change values the monitor allows, giving users a visual route to adjustment without replacing the command-line tools’ automation role.
  • C API: The shared library libddcutil.so, installed headers, and sample client programs let C and C++ software read and write VCP values and save or restore profile-related features. That makes ddcutil a stronger fit for developers building monitor control into their own programs.
  • USB support with caveats: MCCS over USB is supported, but table-type features are unsupported in this mode. The capabilities command synthesizes a response because the specification provides no way to query a capabilities string.

Pricing

Both ddcutil and its graphical interface ddcui are free at free under the GNU General Public License, version 2. There is no paid tier or trial to weigh against the free offering. The license and source availability on GitHub also make it an option for users who want to inspect or build on the software.

Platforms

ddcutil supports Linux, with documented packages and source builds. It is included in Arch, Debian, Fedora, Gentoo, Manjaro, openSUSE, and Raspbian; project-maintained packages cover some Debian, openSUSE, and Ubuntu releases, with Launchpad and Fedora COPR packages also described. Installation is only part of the setup: the Linux kernel’s i2c-dev module is required, and non-root users need appropriate permissions.

It does not support laptop displays, which use a special API rather than I²C. It generally will not run in a virtual machine because virtual video drivers do not implement I²C. These are meaningful constraints for anyone seeking a single tool for laptop and desktop displays or a VM-based setup.

Who it's for

ddcutil is a good fit for Linux users managing compatible external monitors, especially those who want to automate settings or save and restore color-related configurations. Developers can use its C API to add monitor controls to C or C++ programs. Users who want a graphical control panel can choose ddcui, while users who only need laptop-screen controls or cannot configure I²C should look elsewhere.

Technical support questions, bug reports, and feature requests go through the GitHub issue tracker. Reading and writing MCCS table-type features is implemented, but the project has not tested it because it lacks a monitor for testing; users relying on those features should treat them as uncertain.

Pros and cons

  • Pros
    • Free under GPLv2, with command-line, graphical, and C API access to monitor controls.
    • Can save and restore color-related settings, supporting repeatable adjustment workflows.
    • Available across several Linux distributions, with documented package and source-build options.
  • Cons
    • Requires the i2c-dev module and permission setup, adding system-level work before non-root users can use it.
    • Cannot control laptop displays and generally does not work in virtual machines.
    • MCCS-over-USB table features are unsupported, and table-type feature handling has not been tested.

Alternatives

For compatible ASUS monitors on macOS or Windows, ASUS DisplayWidget Center is a free option; its monitor compatibility restriction makes it less suitable for mixed-brand setups. On Windows 10 and 11, Twinkle Tray is free and supports most laptops and DDC/CI-enabled monitors, so it is a better match for Windows users or those needing laptop coverage.

ClickMonitorDDC is free for personal use on Windows, while ddcctl is a free, GPLv3 command-line utility for macOS. On macOS, MonitorControl is free and controls display brightness, volume, and contrast. These options suit readers who need their respective platforms rather than Linux support.

Lunar is a freemium macOS alternative with a free version that includes Manual Mode and a 100-adjustment limit. BetterDisplay is also freemium on macOS; its Pro license costs $21.99, paid once and covers specified major app versions with at least one year of updates. Readers considering another Linux, macOS, or Windows option can also compare DeepPurge.

Verdict

Choose ddcutil if you use Linux and want a free way to automate compatible external-monitor controls, preserve color settings, or build monitor support into C or C++ software. Its mix of CLI, GUI, and API access is its clearest strength. Look elsewhere if you need laptop-display control, expect to run in a virtual machine, or cannot meet the I²C and permissions requirements.

Alternatives to ddcutil

Every alternative, ranked