A lightweight Python GUI to control monitor hardware settings like Brightness and Contrast using ddcutil. This project includes two versions: a modern PyQt6 interface and a lightweight Tkinter interface.
- Multi-Monitor Support: Automatically detects and switches between multiple displays.
- Hardware-Level Control: Communicates directly with monitor hardware via I2C (DDC/CI).
- No Sudo Required: Once configured, you can adjust settings without root privileges.
- Bi-directional Sync: Reads current hardware values on startup.
sudo pacman -S ddcutil i2c-tools python-pyqt6To run these scripts without sudo, your user must have access to the I2C bus:
- Add your user to the
i2cgroup:
sudo usermod -aG i2c $USER- Load the
i2c-devmodule:
sudo modprobe i2c-devTo make this permanent, create /etc/modules-load.d/i2c.conf and add i2c-dev inside.
From the AUR or download from the repo.
Offers a modern look and feel with responsive sliders.
python monitor_control_qt.pyA zero-dependency, lightweight alternative.
python monitor_control_tk.py- "No monitors detected": Ensure your monitor supports DDC/CI and that it is enabled in the monitor's Physical OSD (On-Screen Display) menu.
- Permission Denied: Double-check that your user is in the
i2cgroup by running thegroupscommand. - Slow Response: DDC/CI is a serial protocol; it is normal for hardware updates to take ~0.5 seconds.
MIT

