EVERYTHING XIAOMI
Get listed

ddcutil

ddcutil is a free Linux utility for changing monitor settings, including brightness, color levels and input source.

Place
#1 of 24
Score
6.6
ddcutil's website

What ddcutil is

ddcutil is a free Linux utility for changing monitor settings, including brightness, color levels and input source. It communicates with compatible monitors through DDC/CI over I²C and supports MCCS over USB for monitors that implement it. Its commands can find monitors, show their capabilities, read and write VCP feature values, and save or restore color-related settings. The companion ddcui provides a Qt graphical interface with Summary, Capabilities and Features views; the Features view can change modifiable values. For profile workflows, 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 software is GPL version 2 licensed and offered free. Setup requires the Linux kernel i2c-dev module, and non-root users need permissions to run it. It does not support laptop displays, and it generally will not run in virtual machines because virtual video drivers do not implement I²C.

Good

  • Free software under GPL version 2
  • Reads and changes VCP feature values
  • Saves and restores color-related settings
  • Offers both command-line and Qt interfaces
  • C API is available through libddcutil.so

Watch out

  • Does not support laptop displays
  • Generally will not run in virtual machines
  • Requires i2c-dev and non-root permissions setup
  • MCCS-over-USB table type features are unsupported

Who it suits

It suits Linux users managing external monitor settings, particularly those working with color profiles. Developers can also use its C API to add monitor control to programs.

Verdict

ddcutil offers command-line and graphical monitor control, plus an API for software integrations. Check its display and setup limits before relying on it for a particular system.

Plans and prices

From ddcutil's own pricing page, checked 4 Oct 2026.

All about pricing
PlanPriceWhat it gives you
ddcuiFreeGNU General Public License, V2 (GPLV2); graphical interface for ddcutil
ddcutilFreeGNU General Public License, V2 (GPLV2)

The facts

Each one read from ddcutil's own pages, with the date it was checked.

What it does

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.checked 3 Oct 2026
C API
The C API is exposed through the shared library libddcutil.so, with installed header files and sample client programs.checked 4 Oct 2026
Color profiles
The dumpvcp and loadvcp commands save and restore color related monitor settings for color profile workflows.checked 4 Oct 2026
Display limits
ddcutil does not support laptop displays, which are controlled through a special API rather than I²C.checked 3 Oct 2026
Graphical interface
ddcui is a Qt graphical interface with summary, capabilities, and features views, and can change modifiable feature values.checked 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.checked 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.checked 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.checked 4 Oct 2026
Laptop display limit
ddcutil does not support laptop displays because they use a special API rather than I²C.checked 4 Oct 2026
License
ddcutil and ddcui are released under the GNU General Public License, version 2.checked 4 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.checked 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.checked 3 Oct 2026
Purpose
ddcutil is a Linux program for managing monitor settings such as brightness, color levels, and input source.checked 4 Oct 2026
Settings automation
Its commands can detect monitors, read and set VCP features, and save or restore monitor settings.checked 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.checked 3 Oct 2026
Support
The project directs technical support questions, bug reports, and feature requests to its GitHub issue tracker.checked 4 Oct 2026
Table features
Reading and writing MCCS table type features is implemented but the project says it has not been tested due to lack of a monitor for testing.checked 4 Oct 2026
USB limits
For MCCS over USB, table type features are unsupported and the capabilities command synthesizes a response because the specification has no mechanism to query a capabilities string.checked 3 Oct 2026

Where it runs

Linux distributions
The documentation says ddcutil is included in Arch, Debian, Fedora, Gentoo, Manjaro, openSUSE, and Raspbian.checked 3 Oct 2026
Platforms
Prebuilt packages are listed for Linux distributions including Arch, Debian, Fedora, Gentoo, Manjaro, openSUSE, and Raspbian, with source builds available when packages are unavailable.checked 4 Oct 2026
Virtual machine limit
The documentation says ddcutil generally will not run in a virtual machine because virtual video drivers do not implement I²C.checked 4 Oct 2026

The company

Maker
The documentation identifies Sanford Rockowitz as ddcutil’s developer and maintainer.checked 3 Oct 2026
The full review of ddcutil

ddcutil is a free Linux utility for controlling monitor settings through DDC/CI, with both command-line tools and a graphical interface. It is best suited to Linux users managing external monitors or building monitor controls into software. Its useful range of controls and profile support come with real hardware and setup constraints.

Overview

ddcutil can detect compatible monitors, inspect their capabilities, and read or change VCP settings such as brightness, color levels, and input source. It communicates over I²C using DDC/CI, and also supports monitors that implement MCCS over USB. For users who want repeatable color settings, dumpvcp saves current color-related settings to a file and loadvcp restores them.

The command-line approach suits automation and scripting better than casual point-and-click adjustment. Those who prefer a visual interface can use ddcui, a Qt application with Summary, Capabilities, and Features views; the Features view changes modifiable values.

Key features

  • Monitor discovery and control: Commands detect displays, inspect capabilities, and read or set VCP values. Input switching and monitor profiles are supported, giving Linux users a route to automate common adjustments.
  • Save and restore: dumpvcp and loadvcp preserve and restore color-related monitor settings, a practical fit for profile workflows.
  • Graphical controls: ddcui presents monitor information and modifiable features in a Qt interface. It can also be used alongside DisplayCal’s monitor adjustment phase.
  • Software integration: The C API, exposed through libddcutil.so, includes functions to read and write VCP values and save or restore profile-related features. Installed headers and sample client programs support C and C++ developers who want monitor control in their own software.

Pricing

ddcutil is free, with no free trial. The ddcutil plan costs nothing under the GNU General Public License, V2 (GPLV2). The ddcui plan is also free under GPLV2 and provides the graphical interface for ddcutil. There is no paid tier to unlock; the trade-off is that users must work within its Linux, hardware, and setup requirements.

Platforms

ddcutil is for Linux, including distributions such as Arch, Debian, Fedora, Gentoo, Manjaro, openSUSE, and Raspbian. The maintainer documents prebuilt packages for some Debian, openSUSE, and Ubuntu releases, as well as Launchpad and Fedora COPR packages, and source builds.

It requires the Linux kernel i2c-dev module, and non-root users need appropriate permissions. It does not support laptop displays, which use a special API rather than I²C, and it generally will not run in a virtual machine because virtual video drivers do not implement I²C. For MCCS over USB, table-type features are unsupported; the capabilities command synthesizes a response because the specification provides no way to query a capabilities string. Table-feature reading and writing is implemented, but has not been tested due to lack of a monitor for testing.

Who it's for

Choose ddcutil if you use Linux with compatible external monitors and want command-line control, saved color settings, or a C API for integrating monitor adjustments into software. It is a poor fit for laptop-only users, virtual-machine setups, or anyone who needs a straightforward cross-platform desktop utility.

Pros and cons

  • Pros: Free under GPLV2, with CLI, a Qt interface, and a C API covering monitor detection, VCP control, and profile-related save and restore.
  • Pros: Linux distribution support and documented package or source installation routes give users several ways to set it up.
  • Cons: Linux and i2c-dev requirements, plus permissions setup, make it less convenient than a typical desktop control app.
  • Cons: Laptop displays are unsupported, and virtual machines generally lack the I²C support it needs.
  • Cons: MCCS-over-USB table features have important limitations, including untested read/write behavior.

Alternatives

For a category-wide comparison, see Monitor Control Software.

  • ASUS DisplayWidget Center is a free option for macOS and Windows users with compatible ASUS monitors; choose it if that platform and hardware match.
  • Lunar is a freemium macOS alternative with a free version and trial; choose it if you need a macOS monitor-control option.
  • Twinkle Tray is free for Windows 10 and 11 and supports most laptops and DDC/CI-enabled monitors, making it a better fit for Windows users or laptop displays.
  • ClickMonitorDDC is free for personal use on Windows; consider it if you want a Windows alternative.
  • DeepPurge is a free option for Linux, macOS, and Windows.
  • MonitorControl is a free macOS app for display brightness, volume, and contrast; choose it for those controls on a Mac.
  • DDC-CI Control Bridge supports API, Linux, macOS, self-hosted, and Windows environments; consider it if you need an option across those platforms.
  • DisplayBuddy is a paid macOS and Windows alternative with a free trial; consider it if you prefer that platform range and are willing to pay.

Verdict

ddcutil is a strong choice for Linux users who want scriptable monitor control, color-setting profiles, or an API for software integration without a license cost. Choose something else if you need laptop-display support, dependable virtual-machine operation, or a control app for Windows or macOS.

Getting started

  1. Install a documented prebuilt package or build ddcutil from source.
  2. Use a Linux distribution that includes ddcutil, or follow the maker’s package information for Debian, openSUSE, Ubuntu, Launchpad, or Fedora COPR.
  3. Ensure the Linux kernel i2c-dev module is available.
  4. Grant non-root users the permissions required to run ddcutil.
  5. Use ddcutil commands, ddcui, or the C API through libddcutil.so.

Limits worth knowing

The free ddcutil and ddcui plans are listed as free. The software does not support laptop displays and generally will not run in virtual machines. MCCS over USB table type features are unsupported; the capabilities command synthesizes a response because the specification has no way to query a capabilities string.

Questions

How much does ddcutil cost?

The ddcutil and ddcui plans are each listed as free. The plans are under GNU General Public License version 2.

Which platforms does ddcutil support?

It supports Linux. The documentation says it is included in Arch, Debian, Fedora, Gentoo, Manjaro, openSUSE, and Raspbian.

Can I use ddcutil to manage monitor profiles?

Yes. dumpvcp saves current color related monitor settings to a file, and loadvcp restores them.

Does ddcutil have a graphical interface or API?

The companion ddcui is a Qt graphical interface. Developers can use the C API exposed through libddcutil.so.

Who maintains ddcutil?

The documentation identifies Sanford Rockowitz as its developer and maintainer. Its source is hosted on GitHub.

Can ddcutil control laptop displays?

No. Laptop displays use a special API rather than I²C, which ddcutil does not support.

Alternatives to ddcutil

All alternatives
  1. 1ClickMonitorDDC logo

    ClickMonitorDDC

    Free planWindows
    6.5Free plan
  2. 2Lunar logo

    Lunar

    Free planmacOS
    6.5$23 one-time
  3. 3DisplayBuddy logo

    DisplayBuddy

    macOSWindows
    6.3$24.99 one-time
  4. 4

    Monitor Switch

    Free planWebAPILinuxSelf-hosted
    6.3Free plan
  5. 5

    AOC G-Menu

    Free planWindows
    6.2Free plan
  6. 6PowerToys Command Palette logo
    6.2Free plan