-
Notifications
You must be signed in to change notification settings - Fork 795
Monitor Troubleshooting
We often get issues like:
"MonitorControl doesn't work with my monitor",
so here are some troubleshooting steps and general information to try and help you.
- MonitorControl doesn't work with every monitor, it all depends on how well your display/cable manufacturer implements the DDC/CI spec.
- Some displays will only support certain features well (for example, they work well with brightness but not volume).
- It also depends a lot on your hardware combination.
Some monitors have a ddc settings that can be enabled/disabled, make sure you check if your specific monitor has this setting and if it does, you should ensure DDC is enabled.
MonitorControl does not support the following ports for DDC communication:
- 2018 Intel Mac mini built-in HDMI port
- M1 and entry level M2 Mac mini built-in HDMI port
- Mac Studio HDMI port
- M1 MacBook Pro 14" and 16" HDMI port
- M2 Pro/Max Macs (MBP 14", 16", Mac mini) are NOT supported at all (neither USB-C nor HDMI)
All of these are supported by newer apps:
- BetterDisplay (all DDC features are free and unlimited)
- Lunar (free up to 100 adjustments/day - Mac Mini 2018 HDMI unsupported).
You can try a different ddc tool called ddcctl for Intel Macs.
For Apple Silicon macs you can try alternative tools like BetterDisplay or the command line tool m1ddc.
This can help us isolate issues with MonitorControl vs other tools.
If your setup works with ddcctl or m1ddc it should also work with MonitorControl.
After installing ddcctl, try something like:
./ddcctl -d 1 -v 30
or for m1ddc:
./m1ddc set volume 30
(tries to set the volume of display 1 to value 30) or
./ddcctl -d 1 -b 30
or for m1ddc:
./m1ddc set brightness 30
(tries to set the brightness of display 1 to value 30)
If these commands change your brightness or volume, you know that your display supports ddc (or at least the command that worked).
Generally, people seem to have the highest success rates with DisplayPort and the lowest with HDMI.
If the monitor is unable to read values from the display, it will default to the last known values.
To try and fix this, you can try checking the Longer Delay
option in Advanced Preferences under Displays (requires enabling advanced preferences).
See the Advanced Preferences wiki page for more information.
This is usually because we poll the display to try and read its current volume/brightness on app launch.
You can lower or disable the Polling Mode
in Advanced Preferences under Displays (requires enabling advanced preferences).
See the Advanced Preferences wiki page for more information.
This can be caused due to trying to poll (read) values from your display multiple times. Try setting Polling Mode
to none in Advanced Preferences under Displays (requires enabling advanced preferences).