m1ddc vs Monitor Switch
m1ddc
github.comMonitor Switch
github.comSide by side
| Figure | m1ddc | Monitor Switch |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| macOS | Yes | — |
| Linux | — | Yes |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Monitor Control Software | 7.1 (#19) | 8.0 (#6) |
| License | The repository includes an MIT License. | The repository identifies the project as MIT licensed. |
| Purpose | m1ddc controls external displays with DDC/CI on Apple Silicon Macs. | 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
m1ddc
m1ddc is a free command-line tool for controlling external displays from Apple Silicon Macs. Through DDC/CI, it can set or read luminance, contrast, RGB gain, volume, mute, and input source when a display supports those controls. Supported connections include USB-C, DisplayPort Alt Mode, and compatible built-in HDMI ports. Certain Dell displays also expose PIP, PBP, and KVM configuration. The command-line interface is intended for scripts, and the project links to a Hammerspoon example. A Raycast Display Input Switcher extension is also linked, although it does not cover every m1ddc feature. The tool is available for macOS on Apple Silicon and does not support Intel Macs. Building requires clang from Apple’s Command Line Tools; the README says those tools install automatically if absent. The repository includes an MIT License. Display behavior depends on the connected monitor’s supported controls.
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.