ddcutil vs Monitor Switch
ddcutil
ddcutil.comMonitor Switch
github.comSide by side
| Figure | ddcutil | Monitor Switch |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 2 | 1 |
| Spec score · Monitor Control Software | 8.4 (#3) | 8.0 (#6) |
| License | ddcutil and ddcui are released under the GNU General Public License, version 2. | The repository identifies the project as MIT licensed. |
| Monitor controls | Its commands can detect monitors, report capabilities, read and set VCP feature values, and save or restore color related settings. | It can expose monitor controls including brightness, contrast, volume, mute, picture mode, colour temperature, RGB gain, and black level. |
| Purpose | ddcutil is a Linux program for managing monitor settings such as brightness, color levels, and input source. | Monitor Switch changes a monitor’s input source using DDC/CI, controlled through HTTP, a web UI, or Home Assistant. |
Plans
In their own words
ddcutil
ddcutil is a free Linux program for controlling monitor settings such as brightness, color levels and input source. It communicates with monitors through DDC/CI over I²C and supports monitors implementing MCCS over USB. Commands can find monitors, show capabilities, read or change VCP feature values, and save or restore color-related settings. The companion ddcui provides a Qt graphical interface with Summary, Capabilities and Features views, with the last allowing changes to 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 program is released 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 generally will not run in virtual machines because virtual video drivers do not implement I²C. For MCCS-over-USB table features, support is limited; the capabilities command synthesizes a response.
Monitor Switch
Monitor Switch is an MIT-licensed service for switching a monitor’s input and controlling its DDC/CI features through a browser interface, HTTP API, scripts, or Home Assistant. It is designed for people who use one monitor with multiple computers, including when the computer currently displayed is asleep or off. Where a monitor exposes the controls, the service can adjust brightness, contrast, volume, mute, picture mode, colour temperature, RGB gain, and black level. It can also read usage hours, firmware level, refresh rates, and power state. Editable profiles set monitor values and can replace incorrect capability detection. For Home Assistant, MQTT discovery presents profile features as entities such as selectors, sliders, and sensors. The service runs on a Raspberry Pi connected to the monitor by HDMI; setup requires Raspberry Pi OS and SSH, and installation uses an Ansible playbook. The project is described as usable but not yet released. Hardware verification is reported only for a Samsung Odyssey G9 with a Raspberry Pi Zero 2 W; other monitors have not been verified.