# Install ddcutil with Homebrew, apk, apt, dnf, Nix, pacman, zypper

Control monitor settings using DDC/CI and USB. Version 2.2.7 via Homebrew; verified 2026-05-11.

## Install

```sh
sudo av install brew:ddcutil
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install ddcutil
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add ddcutil
```

  Evidence: Alpine Linux edge package indexes: ddcutil from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install ddcutil
```

  Evidence: Debian stable package indexes: ddcutil from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install ddcutil
```

  Evidence: Fedora Rawhide package metadata: ddcutil from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#ddcutil
```

  Evidence: nixpkgs package indexes: pkgs/by-name/dd/ddcutil/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S ddcutil
```

  Evidence: Arch Linux sync databases: ddcutil from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install ddcutil
```

  Evidence: openSUSE Tumbleweed package metadata: ddcutil from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:ddcutil
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/ddcutil>
- **Version:** 2.2.7
- **Source summary:** Control monitor settings using DDC/CI and USB
- **Homepage:** <https://www.ddcutil.com>
- **Repository:** <https://github.com/rockowitz/ddcutil>
- **Upstream docs:** <https://www.ddcutil.com/>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://www.ddcutil.com/tarballs/ddcutil-2.2.7.tar.gz>
- **Last updated:** 2026-05-11T19:19:42Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- ddcutil (cli)
- ddcutil (alias)

## Dependencies

- acl
- dbus
- glib
- i2c-tools
- jansson
- kmod
- libdrm
- libusb
- libx11
- libxext
- libxrandr
- systemd

## Build dependencies

- pkgconf

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.2.7
- Package-manager updated: 2026-05-11
- Local data: ok
- Upstream repository: https://www.ddcutil.com
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

ddcutil is a Linux command-line utility and C library for reading and changing external monitor settings through DDC/CI over I2C, with USB support for some monitor classes. In package-manager culture it fills the practical gap between desktop display settings panels and scriptable monitor control.

### Project history

The project was created and maintained by Sanford Rockowitz, and its official documentation says the use case that inspired development was color profile management: saving monitor color settings during calibration and restoring them when the profile is applied. The public GitHub release history goes back to 0.5.0 in 2016 and the project has continued through the 2.x series with both the ddcutil CLI and libddcutil shared library.

### Adoption history

ddcutil became a distribution-facing tool because Linux desktops and automation scripts needed a standard way to address monitor controls exposed through /dev/i2c devices. Its documentation maintains package-status material and maintainer notes, and recent release notes call out KDE PowerDevil integration work around display connection handling and transient I2C permission loss.

### How it is used

Typical package usage is small but powerful: detect attached displays, query VCP capabilities, get and set values such as brightness or input source, and integrate those commands into desktop power, color-management, or hotkey workflows. The same project also exposes libddcutil for applications that need monitor control without shelling out.

### Why package nerds care

ddcutil matters to package nerds because it wraps a hardware-adjacent protocol in a scriptable Unix tool while still needing udev, kernel module, I2C permission, and monitor quirk handling. It is the sort of package where a formula is only half the story; post-install configuration and distro integration determine whether it works.

### Timeline

- 2015: Public GitHub repository created.
- 2016: Release 0.5.0 published.
- 2025: Release 2.2.0 published in the modern libddcutil series.
- 2026: Release 2.2.7 published with fixes relevant to KDE PowerDevil and display connection handling.

### Related projects

- ddcui provides a Qt graphical interface built around ddcutil.
- KDE PowerDevil is a desktop power-management consumer called out by the ddcutil release notes.
- The Monitor Control Command Set and DDC/CI standards define much of the monitor-control surface ddcutil exposes.

### Sources

- <https://www.ddcutil.com/>
- <https://www.ddcutil.com/release_notes/>
- <https://github.com/rockowitz/ddcutil>
- <https://github.com/rockowitz/ddcutil/releases>


## Security Notes

No matching local secret-handling manifest was found for ddcutil. Nucleus package metadata is still published here so future coverage has a stable package URL.



## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: $XDG_CONFIG_HOME/ddcutil/ddcutilrc, ~/.config/ddcutil/ddcutilrc
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** ddcutil
- **Version Scheme:** 0
- **Revision:** 0
- **Requirements:** linux
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - ddcutil - 2.2.0-2: normalized package name match | Debian stable package indexes: ddcutil from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Control monitor settings - Standalone command line application | https://www.ddcutil.com
- Debian apt - libddcutil-dev - 2.2.0-2: normalized package name match | Debian stable package indexes: libddcutil-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Control monitor settings - development files | https://www.ddcutil.com
- Debian apt - libddcutil5 - 2.2.0-2: normalized package name match | Debian stable package indexes: libddcutil5 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Control monitor settings - shared library | https://www.ddcutil.com
- Nix - ddcutil: normalized package name match | nixpkgs package indexes: pkgs/by-name/dd/ddcutil/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - ddcutil - 1.4.1-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: ddcutil from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Control monitor settings - Standalone command line application | https://www.ddcutil.com
- Ubuntu apt - libddcutil-dev - 1.4.1-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libddcutil-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Control monitor settings - development files | https://www.ddcutil.com
- Ubuntu apt - libddcutil4 - 1.4.1-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libddcutil4 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Control monitor settings - shared library | https://www.ddcutil.com
- apk - ddcutil - 2.2.7-r1: normalized package name match | Alpine Linux edge package indexes: ddcutil from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Query and change Linux monitor settings using DDC/CI and USB | https://github.com/rockowitz/ddcutil
- apk - ddcutil-dev - 2.2.7-r1: normalized package name match | Alpine Linux edge package indexes: ddcutil-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Query and change Linux monitor settings using DDC/CI and USB (development files) | https://github.com/rockowitz/ddcutil
- apk - ddcutil-doc - 2.2.7-r1: normalized package name match | Alpine Linux edge package indexes: ddcutil-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Query and change Linux monitor settings using DDC/CI and USB (documentation) | https://github.com/rockowitz/ddcutil
- apk - ddcutil-udev - 2.2.7-r1: normalized package name match | Alpine Linux edge package indexes: ddcutil-udev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Query and change Linux monitor settings using DDC/CI and USB (udev rules) | https://github.com/rockowitz/ddcutil
- dnf - ddcutil - 2.2.1-3.fc44: normalized package name match | Fedora Rawhide package metadata: ddcutil from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Query and update monitor settings | http://www.ddcutil.com
- dnf - libddcutil - 2.2.1-3.fc44: normalized package name match | Fedora Rawhide package metadata: libddcutil from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Shared library to query and update monitor settings | http://www.ddcutil.com
- dnf - libddcutil-devel - 2.2.1-3.fc44: normalized package name match | Fedora Rawhide package metadata: libddcutil-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development files for libddcutil | http://www.ddcutil.com
- pacman - ddcutil - 2.2.7-1: normalized package name match | Arch Linux sync databases: ddcutil from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Query and change Linux monitor settings using DDC/CI and USB. | http://ddcutil.com/
- zypper - ddcutil - 2.2.5-2.2: normalized package name match | openSUSE Tumbleweed package metadata: ddcutil from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Utility to query and update monitor settings | https://github.com/rockowitz/ddcutil


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Matched curated package taxonomy and local package facts.
- [acl](https://www.automicvault.com/pkg/brew/acl/) - Runtime dependency declared by Homebrew.
- [dbus](https://www.automicvault.com/pkg/brew/dbus/) - Runtime dependency declared by Homebrew.
- [glib](https://www.automicvault.com/pkg/brew/glib/) - Runtime dependency declared by Homebrew.
- [i2c-tools](https://www.automicvault.com/pkg/brew/i2c-tools/) - Runtime dependency declared by Homebrew.
- [kmod](https://www.automicvault.com/pkg/brew/kmod/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [ddcctl](https://www.automicvault.com/pkg/brew/ddcctl/) - Shares av.db curated category or tags: brightness, cli, display-control, monitor, system.
- [dcled](https://www.automicvault.com/pkg/brew/dcled/) - Shares av.db curated category or tags: cli, linux, system, usb.
- [m1ddc](https://www.automicvault.com/pkg/brew/m1ddc/) - Shares av.db curated category or tags: cli, ddc-ci, display-control, system.
- [sispmctl](https://www.automicvault.com/pkg/brew/sispmctl/) - Shares av.db curated category or tags: cli, linux, system, usb.
- [usbutils](https://www.automicvault.com/pkg/brew/usbutils/) - Shares av.db curated category or tags: cli, linux, system, usb.
- [b43-fwcutter](https://www.automicvault.com/pkg/brew/b43-fwcutter/) - Shares av.db curated category or tags: cli, linux, system.
- [blink1](https://www.automicvault.com/pkg/brew/blink1/) - Shares av.db curated category or tags: cli, system, usb.
- [bluez](https://www.automicvault.com/pkg/brew/bluez/) - Shares av.db curated category or tags: cli, linux, system.
- [fwupd](https://www.automicvault.com/pkg/brew/fwupd/) - Local package facts share a topical domain. Shared terms: cli, glib, libusb, linux, system.

## Combined YAML source

View the package source record on GitHub. [combined/ddcutil.yml](https://github.com/automic-vault/db/blob/main/combined/ddcutil.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
